Version control generated source code
authorThibault Saunier <tsaunier@igalia.com>
Mon, 29 Jan 2018 18:56:49 +0000 (15:56 -0300)
committerThibault Saunier <tsaunier@igalia.com>
Mon, 29 Jan 2018 19:25:26 +0000 (16:25 -0300)
842 files changed:
ges/generated/GES_Asset.cs [new file with mode: 0644]
ges/generated/GES_AssetAddedHandler.cs [new file with mode: 0644]
ges/generated/GES_AssetLoadingHandler.cs [new file with mode: 0644]
ges/generated/GES_AssetLoadingReturn.cs [new file with mode: 0644]
ges/generated/GES_AssetRemovedHandler.cs [new file with mode: 0644]
ges/generated/GES_AudioSource.cs [new file with mode: 0644]
ges/generated/GES_AudioTestSource.cs [new file with mode: 0644]
ges/generated/GES_AudioTrack.cs [new file with mode: 0644]
ges/generated/GES_AudioTransition.cs [new file with mode: 0644]
ges/generated/GES_AudioUriSource.cs [new file with mode: 0644]
ges/generated/GES_BaseEffect.cs [new file with mode: 0644]
ges/generated/GES_BaseEffectClip.cs [new file with mode: 0644]
ges/generated/GES_BaseTransitionClip.cs [new file with mode: 0644]
ges/generated/GES_BaseXmlFormatter.cs [new file with mode: 0644]
ges/generated/GES_ChildAddedHandler.cs [new file with mode: 0644]
ges/generated/GES_ChildRemovedHandler.cs [new file with mode: 0644]
ges/generated/GES_ChildrenControlMode.cs [new file with mode: 0644]
ges/generated/GES_Clip.cs [new file with mode: 0644]
ges/generated/GES_ClipAddedHandler.cs [new file with mode: 0644]
ges/generated/GES_ClipAsset.cs [new file with mode: 0644]
ges/generated/GES_ClipRemovedHandler.cs [new file with mode: 0644]
ges/generated/GES_CommandLineFormatter.cs [new file with mode: 0644]
ges/generated/GES_Constants.cs [new file with mode: 0644]
ges/generated/GES_Container.cs [new file with mode: 0644]
ges/generated/GES_ControlBindingAddedHandler.cs [new file with mode: 0644]
ges/generated/GES_ControlBindingRemovedHandler.cs [new file with mode: 0644]
ges/generated/GES_CreateElementForGapFunc.cs [new file with mode: 0644]
ges/generated/GES_CreateTrackElementFunc.cs [new file with mode: 0644]
ges/generated/GES_CreateTrackElementsFunc.cs [new file with mode: 0644]
ges/generated/GES_DeepNotifyHandler.cs [new file with mode: 0644]
ges/generated/GES_Edge.cs [new file with mode: 0644]
ges/generated/GES_EditMode.cs [new file with mode: 0644]
ges/generated/GES_Effect.cs [new file with mode: 0644]
ges/generated/GES_EffectAsset.cs [new file with mode: 0644]
ges/generated/GES_EffectClip.cs [new file with mode: 0644]
ges/generated/GES_Error.cs [new file with mode: 0644]
ges/generated/GES_ExtractableAdapter.cs [new file with mode: 0644]
ges/generated/GES_ExtractableCheckId.cs [new file with mode: 0644]
ges/generated/GES_FillTrackElementFunc.cs [new file with mode: 0644]
ges/generated/GES_Formatter.cs [new file with mode: 0644]
ges/generated/GES_FormatterCanLoadURIMethod.cs [new file with mode: 0644]
ges/generated/GES_FormatterLoadFromURIMethod.cs [new file with mode: 0644]
ges/generated/GES_FormatterSaveToURIMethod.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.CreateElementForGapFuncNative.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.CreateTrackElementFuncNative.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.CreateTrackElementsFuncNative.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.ExtractableCheckIdNative.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.FillTrackElementFuncNative.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.FormatterCanLoadURIMethodNative.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.FormatterLoadFromURIMethodNative.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.FormatterSaveToURIMethodNative.cs [new file with mode: 0644]
ges/generated/GES_GESSharp.MetaForeachFuncNative.cs [new file with mode: 0644]
ges/generated/GES_Global.cs [new file with mode: 0644]
ges/generated/GES_Group.cs [new file with mode: 0644]
ges/generated/GES_GroupAddedHandler.cs [new file with mode: 0644]
ges/generated/GES_IExtractable.cs [new file with mode: 0644]
ges/generated/GES_IMetaContainer.cs [new file with mode: 0644]
ges/generated/GES_ImageSource.cs [new file with mode: 0644]
ges/generated/GES_Layer.cs [new file with mode: 0644]
ges/generated/GES_LayerAddedHandler.cs [new file with mode: 0644]
ges/generated/GES_LayerRemovedHandler.cs [new file with mode: 0644]
ges/generated/GES_LoadedHandler.cs [new file with mode: 0644]
ges/generated/GES_MetaContainerAdapter.cs [new file with mode: 0644]
ges/generated/GES_MetaFlag.cs [new file with mode: 0644]
ges/generated/GES_MetaForeachFunc.cs [new file with mode: 0644]
ges/generated/GES_MultiFileSource.cs [new file with mode: 0644]
ges/generated/GES_NotifyMetaHandler.cs [new file with mode: 0644]
ges/generated/GES_Operation.cs [new file with mode: 0644]
ges/generated/GES_OperationClip.cs [new file with mode: 0644]
ges/generated/GES_OverlayClip.cs [new file with mode: 0644]
ges/generated/GES_Pipeline.cs [new file with mode: 0644]
ges/generated/GES_PipelineFlags.cs [new file with mode: 0644]
ges/generated/GES_PitiviFormatter.cs [new file with mode: 0644]
ges/generated/GES_Project.cs [new file with mode: 0644]
ges/generated/GES_SnappingEndedHandler.cs [new file with mode: 0644]
ges/generated/GES_SnappingStartedHandler.cs [new file with mode: 0644]
ges/generated/GES_Source.cs [new file with mode: 0644]
ges/generated/GES_SourceClip.cs [new file with mode: 0644]
ges/generated/GES_TestClip.cs [new file with mode: 0644]
ges/generated/GES_TextHAlign.cs [new file with mode: 0644]
ges/generated/GES_TextOverlay.cs [new file with mode: 0644]
ges/generated/GES_TextOverlayClip.cs [new file with mode: 0644]
ges/generated/GES_TextVAlign.cs [new file with mode: 0644]
ges/generated/GES_Timeline.cs [new file with mode: 0644]
ges/generated/GES_TimelineElement.cs [new file with mode: 0644]
ges/generated/GES_TitleClip.cs [new file with mode: 0644]
ges/generated/GES_TitleSource.cs [new file with mode: 0644]
ges/generated/GES_Track.cs [new file with mode: 0644]
ges/generated/GES_TrackAddedHandler.cs [new file with mode: 0644]
ges/generated/GES_TrackElement.cs [new file with mode: 0644]
ges/generated/GES_TrackElementAddedHandler.cs [new file with mode: 0644]
ges/generated/GES_TrackElementAsset.cs [new file with mode: 0644]
ges/generated/GES_TrackElementRemovedHandler.cs [new file with mode: 0644]
ges/generated/GES_TrackRemovedHandler.cs [new file with mode: 0644]
ges/generated/GES_TrackType.cs [new file with mode: 0644]
ges/generated/GES_Transition.cs [new file with mode: 0644]
ges/generated/GES_TransitionClip.cs [new file with mode: 0644]
ges/generated/GES_UriClip.cs [new file with mode: 0644]
ges/generated/GES_UriClipAsset.cs [new file with mode: 0644]
ges/generated/GES_UriSourceAsset.cs [new file with mode: 0644]
ges/generated/GES_VideoSource.cs [new file with mode: 0644]
ges/generated/GES_VideoStandardTransitionType.cs [new file with mode: 0644]
ges/generated/GES_VideoTestPattern.cs [new file with mode: 0644]
ges/generated/GES_VideoTestSource.cs [new file with mode: 0644]
ges/generated/GES_VideoTrack.cs [new file with mode: 0644]
ges/generated/GES_VideoTransition.cs [new file with mode: 0644]
ges/generated/GES_VideoUriSource.cs [new file with mode: 0644]
ges/generated/GES_XmlFormatter.cs [new file with mode: 0644]
ges/generated/GLib_GLibSharp.AsyncReadyCallbackNative.cs [new file with mode: 0644]
ges/generated/GtkSharp_ObjectManager.cs [new file with mode: 0644]
ges/generated/gst-editing-services-abi.c [new file with mode: 0644]
ges/generated/gst-editing-services-abi.cs [new file with mode: 0644]
ges/generated/gst-editing-services-api.xml [new file with mode: 0644]
ges/generated/meson.build
ges/meson.build
sources/generated/Gst.App_AppSink.cs [new file with mode: 0644]
sources/generated/Gst.App_AppSinkCallbacks.cs [new file with mode: 0644]
sources/generated/Gst.App_AppSrc.cs [new file with mode: 0644]
sources/generated/Gst.App_AppSrcCallbacks.cs [new file with mode: 0644]
sources/generated/Gst.App_AppStreamType.cs [new file with mode: 0644]
sources/generated/Gst.App_Constants.cs [new file with mode: 0644]
sources/generated/Gst.App_EndOfStreamEventHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_Global.cs [new file with mode: 0644]
sources/generated/Gst.App_NeedDataHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_NewPrerollHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_NewSampleHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_PushBufferEventHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_PushBufferListEventHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_PushSampleEventHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_SeekDataHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_TryPullPrerollEventHandler.cs [new file with mode: 0644]
sources/generated/Gst.App_TryPullSampleEventHandler.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioBaseSink.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioBaseSinkCustomSlavingCallback.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioBaseSinkDiscontReason.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioBaseSinkSlaveMethod.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioBaseSrc.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioBaseSrcSlaveMethod.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioCdSrc.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioCdSrcMode.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioCdSrcTrack.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioChannelMixer.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioChannelMixerFlags.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioChannelPosition.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioClippingMeta.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioClock.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioClockGetTimeFunc.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioConverter.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioConverterFlags.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioDecoder.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioDitherMethod.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioDownmixMeta.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioEncoder.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioFilter.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioFlags.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioFormat.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioFormatFlags.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioFormatInfo.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioFormatPack.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioFormatUnpack.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioInfo.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioLayout.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioNoiseShapingMethod.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioPackFlags.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioQuantize.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioQuantizeFlags.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioResampler.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioResamplerFilterInterpolation.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioResamplerFilterMode.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioResamplerFlags.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioResamplerMethod.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioRingBuffer.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioRingBufferCallback.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioRingBufferFormatType.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioRingBufferSpec.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioRingBufferState.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioSink.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioSrc.cs [new file with mode: 0644]
sources/generated/Gst.Audio_AudioStreamAlign.cs [new file with mode: 0644]
sources/generated/Gst.Audio_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Audio_Global.cs [new file with mode: 0644]
sources/generated/Gst.Audio_Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative.cs [new file with mode: 0644]
sources/generated/Gst.Audio_Gst.AudioSharp.AudioClockGetTimeFuncNative.cs [new file with mode: 0644]
sources/generated/Gst.Audio_Gst.AudioSharp.AudioFormatPackNative.cs [new file with mode: 0644]
sources/generated/Gst.Audio_Gst.AudioSharp.AudioFormatUnpackNative.cs [new file with mode: 0644]
sources/generated/Gst.Audio_Gst.AudioSharp.AudioRingBufferCallbackNative.cs [new file with mode: 0644]
sources/generated/Gst.Audio_IStreamVolume.cs [new file with mode: 0644]
sources/generated/Gst.Audio_StreamVolumeAdapter.cs [new file with mode: 0644]
sources/generated/Gst.Audio_StreamVolumeFormat.cs [new file with mode: 0644]
sources/generated/Gst.Base_Adapter.cs [new file with mode: 0644]
sources/generated/Gst.Base_Aggregator.cs [new file with mode: 0644]
sources/generated/Gst.Base_AggregatorPad.cs [new file with mode: 0644]
sources/generated/Gst.Base_BaseParse.cs [new file with mode: 0644]
sources/generated/Gst.Base_BaseParseFrame.cs [new file with mode: 0644]
sources/generated/Gst.Base_BaseParseFrameFlags.cs [new file with mode: 0644]
sources/generated/Gst.Base_BaseSink.cs [new file with mode: 0644]
sources/generated/Gst.Base_BaseSrc.cs [new file with mode: 0644]
sources/generated/Gst.Base_BaseSrcFlags.cs [new file with mode: 0644]
sources/generated/Gst.Base_BaseTransform.cs [new file with mode: 0644]
sources/generated/Gst.Base_BitReader.cs [new file with mode: 0644]
sources/generated/Gst.Base_ByteReader.cs [new file with mode: 0644]
sources/generated/Gst.Base_ByteWriter.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectData.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectDataDestroyNotify.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPads.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPadsBufferFunction.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPadsClipFunction.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPadsCompareFunction.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPadsEventFunction.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPadsFlushFunction.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPadsFunction.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPadsQueryFunction.cs [new file with mode: 0644]
sources/generated/Gst.Base_CollectPadsStateFlags.cs [new file with mode: 0644]
sources/generated/Gst.Base_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Base_DataQueue.cs [new file with mode: 0644]
sources/generated/Gst.Base_DataQueueCheckFullFunction.cs [new file with mode: 0644]
sources/generated/Gst.Base_DataQueueEmptyCallback.cs [new file with mode: 0644]
sources/generated/Gst.Base_DataQueueFullCallback.cs [new file with mode: 0644]
sources/generated/Gst.Base_DataQueueItem.cs [new file with mode: 0644]
sources/generated/Gst.Base_DataQueueSize.cs [new file with mode: 0644]
sources/generated/Gst.Base_FlowCombiner.cs [new file with mode: 0644]
sources/generated/Gst.Base_Global.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.CollectDataDestroyNotifyNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsBufferFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsClipFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsCompareFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsEventFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsFlushFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsQueryFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.DataQueueCheckFullFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.DataQueueEmptyCallbackNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.DataQueueFullCallbackNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst.Base_PushSrc.cs [new file with mode: 0644]
sources/generated/Gst.Base_QueueArray.cs [new file with mode: 0644]
sources/generated/Gst.Base_TypeFindHelperGetRangeFunction.cs [new file with mode: 0644]
sources/generated/Gst.Controller_ARGBControlBinding.cs [new file with mode: 0644]
sources/generated/Gst.Controller_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Controller_ControlPoint.cs [new file with mode: 0644]
sources/generated/Gst.Controller_DirectControlBinding.cs [new file with mode: 0644]
sources/generated/Gst.Controller_DirectControlBindingConvertGValue.cs [new file with mode: 0644]
sources/generated/Gst.Controller_DirectControlBindingConvertValue.cs [new file with mode: 0644]
sources/generated/Gst.Controller_Global.cs [new file with mode: 0644]
sources/generated/Gst.Controller_Gst.ControllerSharp.DirectControlBindingConvertGValueNative.cs [new file with mode: 0644]
sources/generated/Gst.Controller_Gst.ControllerSharp.DirectControlBindingConvertValueNative.cs [new file with mode: 0644]
sources/generated/Gst.Controller_InterpolationControlSource.cs [new file with mode: 0644]
sources/generated/Gst.Controller_InterpolationMode.cs [new file with mode: 0644]
sources/generated/Gst.Controller_LFOControlSource.cs [new file with mode: 0644]
sources/generated/Gst.Controller_LFOWaveform.cs [new file with mode: 0644]
sources/generated/Gst.Controller_ProxyControlBinding.cs [new file with mode: 0644]
sources/generated/Gst.Controller_TimedValueControlSource.cs [new file with mode: 0644]
sources/generated/Gst.Controller_TriggerControlSource.cs [new file with mode: 0644]
sources/generated/Gst.Controller_ValueAddedHandler.cs [new file with mode: 0644]
sources/generated/Gst.Controller_ValueChangedHandler.cs [new file with mode: 0644]
sources/generated/Gst.Controller_ValueRemovedHandler.cs [new file with mode: 0644]
sources/generated/Gst.FFT_Constants.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTF32.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTF32Complex.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTF64.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTF64Complex.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTS16.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTS16Complex.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTS32.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTS32Complex.cs [new file with mode: 0644]
sources/generated/Gst.FFT_FFTWindow.cs [new file with mode: 0644]
sources/generated/Gst.FFT_Global.cs [new file with mode: 0644]
sources/generated/Gst.Net_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Net_Global.cs [new file with mode: 0644]
sources/generated/Gst.Net_Gst.NetSharp.PtpStatisticsCallbackNative.cs [new file with mode: 0644]
sources/generated/Gst.Net_NetAddressMeta.cs [new file with mode: 0644]
sources/generated/Gst.Net_NetClientClock.cs [new file with mode: 0644]
sources/generated/Gst.Net_NetControlMessageMeta.cs [new file with mode: 0644]
sources/generated/Gst.Net_NetTimePacket.cs [new file with mode: 0644]
sources/generated/Gst.Net_NetTimeProvider.cs [new file with mode: 0644]
sources/generated/Gst.Net_PtpClock.cs [new file with mode: 0644]
sources/generated/Gst.Net_PtpStatisticsCallback.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_AudioVisualizer.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_AudioVisualizerShader.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_AudioVisualizerShaderFunc.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_Constants.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscoveredHandler.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_Discoverer.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscovererAudioInfo.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscovererContainerInfo.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscovererInfo.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscovererResult.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscovererSerializeFlags.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscovererStreamInfo.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscovererSubtitleInfo.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_DiscovererVideoInfo.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_EncodingAudioProfile.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_EncodingContainerProfile.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_EncodingProfile.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_EncodingTarget.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_EncodingVideoProfile.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_Global.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_Gst.PbUtilsSharp.AudioVisualizerShaderFuncNative.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_Gst.PbUtilsSharp.InstallPluginsResultFuncNative.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_InstallPluginsContext.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_InstallPluginsResultFunc.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_InstallPluginsReturn.cs [new file with mode: 0644]
sources/generated/Gst.PbUtils_SourceSetupHandler.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_Global.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTCPBuffer.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTCPFBType.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTCPPacket.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTCPSDESType.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTCPType.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPBaseAudioPayload.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPBaseDepayload.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPBasePayload.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPBuffer.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPBufferFlags.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPBufferMapFlags.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPPayload.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPPayloadInfo.cs [new file with mode: 0644]
sources/generated/Gst.Rtp_RTPProfile.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_Global.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_IRTSPExtension.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPAuthCredential.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPAuthMethod.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPAuthParam.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPConnection.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPConnectionAcceptCertificateFunc.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPEvent.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPExtensionAdapter.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPFamily.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPHeaderField.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPLowerTrans.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPMessage.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPMethod.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPMsgType.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPProfile.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPRange.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPRangeUnit.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPResult.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPState.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPStatusCode.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPTime.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPTime2.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPTimeRange.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPTimeType.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPTransMode.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPTransport.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPUrl.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPVersion.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPWatch.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_RTSPWatchFuncs.cs [new file with mode: 0644]
sources/generated/Gst.Rtsp_SendEventHandler.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_Global.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYCacheType.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYDecryptInfo.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYEncAlg.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYEncryptInfo.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYKVType.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYKeyDataType.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYMacAlg.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYMapSRTP.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYMapType.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYMessage.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPRFFunc.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayload.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayloadKEMAC.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayloadKeyData.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayloadPKE.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayloadRAND.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayloadSP.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayloadSPParam.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayloadT.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYPayloadType.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYSecProto.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYSecSRTP.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYTSType.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_MIKEYType.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPAttribute.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPBandwidth.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPConnection.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPKey.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPMedia.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPMessage.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPOrigin.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPResult.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPTime.cs [new file with mode: 0644]
sources/generated/Gst.Sdp_SDPZone.cs [new file with mode: 0644]
sources/generated/Gst.Tags_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Tags_Global.cs [new file with mode: 0644]
sources/generated/Gst.Tags_ITagXmpWriter.cs [new file with mode: 0644]
sources/generated/Gst.Tags_TagDemux.cs [new file with mode: 0644]
sources/generated/Gst.Tags_TagDemuxResult.cs [new file with mode: 0644]
sources/generated/Gst.Tags_TagImageType.cs [new file with mode: 0644]
sources/generated/Gst.Tags_TagLicenseFlags.cs [new file with mode: 0644]
sources/generated/Gst.Tags_TagMux.cs [new file with mode: 0644]
sources/generated/Gst.Tags_TagXmpWriterAdapter.cs [new file with mode: 0644]
sources/generated/Gst.Video_ColorBalanceAdapter.cs [new file with mode: 0644]
sources/generated/Gst.Video_ColorBalanceChannel.cs [new file with mode: 0644]
sources/generated/Gst.Video_ColorBalanceType.cs [new file with mode: 0644]
sources/generated/Gst.Video_Constants.cs [new file with mode: 0644]
sources/generated/Gst.Video_Global.cs [new file with mode: 0644]
sources/generated/Gst.Video_Gst.VideoSharp.VideoAffineTransformationGetMatrixNative.cs [new file with mode: 0644]
sources/generated/Gst.Video_Gst.VideoSharp.VideoConvertSampleCallbackNative.cs [new file with mode: 0644]
sources/generated/Gst.Video_Gst.VideoSharp.VideoFormatPackNative.cs [new file with mode: 0644]
sources/generated/Gst.Video_Gst.VideoSharp.VideoFormatUnpackNative.cs [new file with mode: 0644]
sources/generated/Gst.Video_Gst.VideoSharp.VideoGLTextureUploadNative.cs [new file with mode: 0644]
sources/generated/Gst.Video_IColorBalance.cs [new file with mode: 0644]
sources/generated/Gst.Video_INavigation.cs [new file with mode: 0644]
sources/generated/Gst.Video_IVideoDirection.cs [new file with mode: 0644]
sources/generated/Gst.Video_IVideoOrientation.cs [new file with mode: 0644]
sources/generated/Gst.Video_IVideoOverlay.cs [new file with mode: 0644]
sources/generated/Gst.Video_NavigationAdapter.cs [new file with mode: 0644]
sources/generated/Gst.Video_NavigationCommand.cs [new file with mode: 0644]
sources/generated/Gst.Video_NavigationEventType.cs [new file with mode: 0644]
sources/generated/Gst.Video_NavigationMessageType.cs [new file with mode: 0644]
sources/generated/Gst.Video_NavigationQueryType.cs [new file with mode: 0644]
sources/generated/Gst.Video_ValueChangedEventHandler.cs [new file with mode: 0644]
sources/generated/Gst.Video_ValueChangedHandler.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoAffineTransformationGetMatrix.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoAffineTransformationMeta.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoAlignment.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoAlphaMode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoBufferFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoBufferPool.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoChromaFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoChromaMethod.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoChromaMode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoChromaResample.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoChromaSite.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoCodecFrame.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoCodecFrameFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoCodecState.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoColorMatrix.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoColorPrimaries.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoColorPrimariesInfo.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoColorRange.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoColorimetry.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoConvertSampleCallback.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoConverter.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoCropMeta.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoDecoder.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoDirectionAdapter.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoDither.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoDitherFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoDitherMethod.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoEncoder.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFieldOrder.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFilter.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFormat.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFormatFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFormatInfo.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFormatPack.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFormatUnpack.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFrame.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFrameFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoFrameMapFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoGLTextureOrientation.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoGLTextureType.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoGLTextureUpload.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoGLTextureUploadMeta.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoGammaMode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoInfo.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoInterlaceMode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoMatrixMode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoMeta.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoMetaTransform.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoMultiviewFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoMultiviewFlagsSet.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoMultiviewFramePacking.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoMultiviewMode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoOrientationAdapter.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoOrientationMethod.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoOverlayAdapter.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoOverlayComposition.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoOverlayCompositionMeta.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoOverlayFormatFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoOverlayRectangle.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoPackFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoPrimariesMode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoRectangle.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoRegionOfInterestMeta.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoResampler.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoResamplerFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoResamplerMethod.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoScaler.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoScalerFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoSink.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoTileMode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoTileType.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoTimeCode.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoTimeCodeConfig.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoTimeCodeFlags.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoTimeCodeInterval.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoTimeCodeMeta.cs [new file with mode: 0644]
sources/generated/Gst.Video_VideoTransferFunction.cs [new file with mode: 0644]
sources/generated/Gst_AllocationParams.cs [new file with mode: 0644]
sources/generated/Gst_Allocator.cs [new file with mode: 0644]
sources/generated/Gst_AllocatorFlags.cs [new file with mode: 0644]
sources/generated/Gst_Application.cs [new file with mode: 0644]
sources/generated/Gst_AtomicQueue.cs [new file with mode: 0644]
sources/generated/Gst_Bin.cs [new file with mode: 0644]
sources/generated/Gst_BinFlags.cs [new file with mode: 0644]
sources/generated/Gst_Bitmask.cs [new file with mode: 0644]
sources/generated/Gst_Buffer.cs [new file with mode: 0644]
sources/generated/Gst_BufferCopyFlags.cs [new file with mode: 0644]
sources/generated/Gst_BufferFlags.cs [new file with mode: 0644]
sources/generated/Gst_BufferForeachMetaFunc.cs [new file with mode: 0644]
sources/generated/Gst_BufferList.cs [new file with mode: 0644]
sources/generated/Gst_BufferListFunc.cs [new file with mode: 0644]
sources/generated/Gst_BufferPool.cs [new file with mode: 0644]
sources/generated/Gst_BufferPoolAcquireFlags.cs [new file with mode: 0644]
sources/generated/Gst_BufferPoolAcquireParams.cs [new file with mode: 0644]
sources/generated/Gst_BufferingMode.cs [new file with mode: 0644]
sources/generated/Gst_Bus.cs [new file with mode: 0644]
sources/generated/Gst_BusFlags.cs [new file with mode: 0644]
sources/generated/Gst_BusFunc.cs [new file with mode: 0644]
sources/generated/Gst_BusSyncHandler.cs [new file with mode: 0644]
sources/generated/Gst_BusSyncReply.cs [new file with mode: 0644]
sources/generated/Gst_Caps.cs [new file with mode: 0644]
sources/generated/Gst_CapsFeatures.cs [new file with mode: 0644]
sources/generated/Gst_CapsFilterMapFunc.cs [new file with mode: 0644]
sources/generated/Gst_CapsFlags.cs [new file with mode: 0644]
sources/generated/Gst_CapsForeachFunc.cs [new file with mode: 0644]
sources/generated/Gst_CapsIntersectMode.cs [new file with mode: 0644]
sources/generated/Gst_CapsMapFunc.cs [new file with mode: 0644]
sources/generated/Gst_ChildAddedEventHandler.cs [new file with mode: 0644]
sources/generated/Gst_ChildProxyAdapter.cs [new file with mode: 0644]
sources/generated/Gst_ChildRemovedEventHandler.cs [new file with mode: 0644]
sources/generated/Gst_Clock.cs [new file with mode: 0644]
sources/generated/Gst_ClockCallback.cs [new file with mode: 0644]
sources/generated/Gst_ClockEntry.cs [new file with mode: 0644]
sources/generated/Gst_ClockEntryType.cs [new file with mode: 0644]
sources/generated/Gst_ClockFlags.cs [new file with mode: 0644]
sources/generated/Gst_ClockReturn.cs [new file with mode: 0644]
sources/generated/Gst_ClockType.cs [new file with mode: 0644]
sources/generated/Gst_Constants.cs [new file with mode: 0644]
sources/generated/Gst_Context.cs [new file with mode: 0644]
sources/generated/Gst_ControlBinding.cs [new file with mode: 0644]
sources/generated/Gst_ControlBindingConvert.cs [new file with mode: 0644]
sources/generated/Gst_ControlSource.cs [new file with mode: 0644]
sources/generated/Gst_ControlSourceGetValue.cs [new file with mode: 0644]
sources/generated/Gst_ControlSourceGetValueArray.cs [new file with mode: 0644]
sources/generated/Gst_CoreError.cs [new file with mode: 0644]
sources/generated/Gst_DateTime.cs [new file with mode: 0644]
sources/generated/Gst_Debug.cs [new file with mode: 0644]
sources/generated/Gst_DebugCategory.cs [new file with mode: 0644]
sources/generated/Gst_DebugColorFlags.cs [new file with mode: 0644]
sources/generated/Gst_DebugColorMode.cs [new file with mode: 0644]
sources/generated/Gst_DebugFuncPtr.cs [new file with mode: 0644]
sources/generated/Gst_DebugGraphDetails.cs [new file with mode: 0644]
sources/generated/Gst_DebugLevel.cs [new file with mode: 0644]
sources/generated/Gst_DebugMessage.cs [new file with mode: 0644]
sources/generated/Gst_DeepElementAddedHandler.cs [new file with mode: 0644]
sources/generated/Gst_DeepElementRemovedHandler.cs [new file with mode: 0644]
sources/generated/Gst_DeepNotifyHandler.cs [new file with mode: 0644]
sources/generated/Gst_Device.cs [new file with mode: 0644]
sources/generated/Gst_DeviceMonitor.cs [new file with mode: 0644]
sources/generated/Gst_DeviceProvider.cs [new file with mode: 0644]
sources/generated/Gst_DeviceProviderFactory.cs [new file with mode: 0644]
sources/generated/Gst_DoLatencyHandler.cs [new file with mode: 0644]
sources/generated/Gst_DynamicTypeFactory.cs [new file with mode: 0644]
sources/generated/Gst_Element.cs [new file with mode: 0644]
sources/generated/Gst_ElementAddedHandler.cs [new file with mode: 0644]
sources/generated/Gst_ElementCallAsyncFunc.cs [new file with mode: 0644]
sources/generated/Gst_ElementFactory.cs [new file with mode: 0644]
sources/generated/Gst_ElementFlags.cs [new file with mode: 0644]
sources/generated/Gst_ElementForeachPadFunc.cs [new file with mode: 0644]
sources/generated/Gst_ElementRemovedHandler.cs [new file with mode: 0644]
sources/generated/Gst_Event.cs [new file with mode: 0644]
sources/generated/Gst_EventType.cs [new file with mode: 0644]
sources/generated/Gst_EventTypeFlags.cs [new file with mode: 0644]
sources/generated/Gst_FeatureAddedHandler.cs [new file with mode: 0644]
sources/generated/Gst_FlagSet.cs [new file with mode: 0644]
sources/generated/Gst_FlowReturn.cs [new file with mode: 0644]
sources/generated/Gst_Format.cs [new file with mode: 0644]
sources/generated/Gst_FormatDefinition.cs [new file with mode: 0644]
sources/generated/Gst_GhostPad.cs [new file with mode: 0644]
sources/generated/Gst_Global.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.BufferForeachMetaFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.BufferListFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.BusFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.BusSyncHandlerNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.CapsFilterMapFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.CapsForeachFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.CapsMapFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ClockCallbackNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ControlBindingConvertNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ControlSourceGetValueArrayNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ControlSourceGetValueNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.DebugFuncPtrNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ElementCallAsyncFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ElementForeachPadFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.IteratorCopyFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.IteratorFoldFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.IteratorForeachFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.IteratorFreeFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.IteratorItemFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.IteratorNextFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.IteratorResyncFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.LogFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MemoryCopyFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MemoryIsSpanFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MemoryMapFullFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MemoryMapFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MemoryShareFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MemoryUnmapFullFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MemoryUnmapFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MetaFreeFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MetaInitFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MetaTransformFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MiniObjectCopyFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MiniObjectDisposeFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MiniObjectFreeFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.MiniObjectNotifyNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadActivateFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadActivateModeFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadChainFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadChainListFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadEventFullFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadEventFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadForwardFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadGetRangeFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadIterIntLinkFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadLinkFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadProbeCallbackNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadQueryFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadStickyEventsForeachFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PadUnlinkFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PluginFeatureFilterNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PluginFilterNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PluginInitFullFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PluginInitFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.PromiseChangeFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.StructureFilterMapFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.StructureForeachFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.StructureMapFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.TagForeachFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.TagMergeFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.TaskFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.TaskPoolFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.TaskThreadFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.TypeFindFunctionNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ValueCompareFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ValueDeserializeFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_GstSharp.ValueSerializeFuncNative.cs [new file with mode: 0644]
sources/generated/Gst_IChildProxy.cs [new file with mode: 0644]
sources/generated/Gst_IPreset.cs [new file with mode: 0644]
sources/generated/Gst_ITagSetter.cs [new file with mode: 0644]
sources/generated/Gst_ITocSetter.cs [new file with mode: 0644]
sources/generated/Gst_IURIHandler.cs [new file with mode: 0644]
sources/generated/Gst_Int64Range.cs [new file with mode: 0644]
sources/generated/Gst_Iterator.cs [new file with mode: 0644]
sources/generated/Gst_IteratorCopyFunction.cs [new file with mode: 0644]
sources/generated/Gst_IteratorFoldFunction.cs [new file with mode: 0644]
sources/generated/Gst_IteratorForeachFunction.cs [new file with mode: 0644]
sources/generated/Gst_IteratorFreeFunction.cs [new file with mode: 0644]
sources/generated/Gst_IteratorItem.cs [new file with mode: 0644]
sources/generated/Gst_IteratorItemFunction.cs [new file with mode: 0644]
sources/generated/Gst_IteratorNextFunction.cs [new file with mode: 0644]
sources/generated/Gst_IteratorResult.cs [new file with mode: 0644]
sources/generated/Gst_IteratorResyncFunction.cs [new file with mode: 0644]
sources/generated/Gst_LibraryError.cs [new file with mode: 0644]
sources/generated/Gst_LinkedHandler.cs [new file with mode: 0644]
sources/generated/Gst_LockFlags.cs [new file with mode: 0644]
sources/generated/Gst_LogFunction.cs [new file with mode: 0644]
sources/generated/Gst_MapFlags.cs [new file with mode: 0644]
sources/generated/Gst_MapInfo.cs [new file with mode: 0644]
sources/generated/Gst_Memory.cs [new file with mode: 0644]
sources/generated/Gst_MemoryCopyFunction.cs [new file with mode: 0644]
sources/generated/Gst_MemoryFlags.cs [new file with mode: 0644]
sources/generated/Gst_MemoryIsSpanFunction.cs [new file with mode: 0644]
sources/generated/Gst_MemoryMapFullFunction.cs [new file with mode: 0644]
sources/generated/Gst_MemoryMapFunction.cs [new file with mode: 0644]
sources/generated/Gst_MemoryShareFunction.cs [new file with mode: 0644]
sources/generated/Gst_MemoryUnmapFullFunction.cs [new file with mode: 0644]
sources/generated/Gst_MemoryUnmapFunction.cs [new file with mode: 0644]
sources/generated/Gst_Message.cs [new file with mode: 0644]
sources/generated/Gst_MessageHandler.cs [new file with mode: 0644]
sources/generated/Gst_MessageType.cs [new file with mode: 0644]
sources/generated/Gst_Meta.cs [new file with mode: 0644]
sources/generated/Gst_MetaFlags.cs [new file with mode: 0644]
sources/generated/Gst_MetaFreeFunction.cs [new file with mode: 0644]
sources/generated/Gst_MetaInfo.cs [new file with mode: 0644]
sources/generated/Gst_MetaInitFunction.cs [new file with mode: 0644]
sources/generated/Gst_MetaTransformCopy.cs [new file with mode: 0644]
sources/generated/Gst_MetaTransformFunction.cs [new file with mode: 0644]
sources/generated/Gst_MiniObject.cs [new file with mode: 0644]
sources/generated/Gst_MiniObjectCopyFunction.cs [new file with mode: 0644]
sources/generated/Gst_MiniObjectDisposeFunction.cs [new file with mode: 0644]
sources/generated/Gst_MiniObjectFlags.cs [new file with mode: 0644]
sources/generated/Gst_MiniObjectFreeFunction.cs [new file with mode: 0644]
sources/generated/Gst_MiniObjectNotify.cs [new file with mode: 0644]
sources/generated/Gst_Object.cs [new file with mode: 0644]
sources/generated/Gst_ObjectFlags.cs [new file with mode: 0644]
sources/generated/Gst_Pad.cs [new file with mode: 0644]
sources/generated/Gst_PadActivateFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadActivateModeFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadAddedHandler.cs [new file with mode: 0644]
sources/generated/Gst_PadChainFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadChainListFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadCreatedEventHandler.cs [new file with mode: 0644]
sources/generated/Gst_PadDirection.cs [new file with mode: 0644]
sources/generated/Gst_PadEventFullFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadEventFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadFlags.cs [new file with mode: 0644]
sources/generated/Gst_PadForwardFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadGetRangeFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadIterIntLinkFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadLinkCheck.cs [new file with mode: 0644]
sources/generated/Gst_PadLinkFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadLinkReturn.cs [new file with mode: 0644]
sources/generated/Gst_PadMode.cs [new file with mode: 0644]
sources/generated/Gst_PadPresence.cs [new file with mode: 0644]
sources/generated/Gst_PadProbeCallback.cs [new file with mode: 0644]
sources/generated/Gst_PadProbeInfo.cs [new file with mode: 0644]
sources/generated/Gst_PadProbeReturn.cs [new file with mode: 0644]
sources/generated/Gst_PadProbeType.cs [new file with mode: 0644]
sources/generated/Gst_PadQueryFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadRemovedHandler.cs [new file with mode: 0644]
sources/generated/Gst_PadStickyEventsForeachFunction.cs [new file with mode: 0644]
sources/generated/Gst_PadTemplate.cs [new file with mode: 0644]
sources/generated/Gst_PadTemplateFlags.cs [new file with mode: 0644]
sources/generated/Gst_PadUnlinkFunction.cs [new file with mode: 0644]
sources/generated/Gst_ParamArray.cs [new file with mode: 0644]
sources/generated/Gst_ParamFraction.cs [new file with mode: 0644]
sources/generated/Gst_ParentBufferMeta.cs [new file with mode: 0644]
sources/generated/Gst_Parse.cs [new file with mode: 0644]
sources/generated/Gst_ParseContext.cs [new file with mode: 0644]
sources/generated/Gst_ParseError.cs [new file with mode: 0644]
sources/generated/Gst_ParseFlags.cs [new file with mode: 0644]
sources/generated/Gst_Pipeline.cs [new file with mode: 0644]
sources/generated/Gst_PipelineFlags.cs [new file with mode: 0644]
sources/generated/Gst_Plugin.cs [new file with mode: 0644]
sources/generated/Gst_PluginAddedHandler.cs [new file with mode: 0644]
sources/generated/Gst_PluginDependencyFlags.cs [new file with mode: 0644]
sources/generated/Gst_PluginDesc.cs [new file with mode: 0644]
sources/generated/Gst_PluginError.cs [new file with mode: 0644]
sources/generated/Gst_PluginFeature.cs [new file with mode: 0644]
sources/generated/Gst_PluginFeatureFilter.cs [new file with mode: 0644]
sources/generated/Gst_PluginFilter.cs [new file with mode: 0644]
sources/generated/Gst_PluginFlags.cs [new file with mode: 0644]
sources/generated/Gst_PluginInitFullFunc.cs [new file with mode: 0644]
sources/generated/Gst_PluginInitFunc.cs [new file with mode: 0644]
sources/generated/Gst_Poll.cs [new file with mode: 0644]
sources/generated/Gst_PollFD.cs [new file with mode: 0644]
sources/generated/Gst_PresetAdapter.cs [new file with mode: 0644]
sources/generated/Gst_ProgressType.cs [new file with mode: 0644]
sources/generated/Gst_Promise.cs [new file with mode: 0644]
sources/generated/Gst_PromiseChangeFunc.cs [new file with mode: 0644]
sources/generated/Gst_PromiseResult.cs [new file with mode: 0644]
sources/generated/Gst_ProtectionMeta.cs [new file with mode: 0644]
sources/generated/Gst_ProviderHiddenHandler.cs [new file with mode: 0644]
sources/generated/Gst_ProviderUnhiddenHandler.cs [new file with mode: 0644]
sources/generated/Gst_ProxyPad.cs [new file with mode: 0644]
sources/generated/Gst_QOSType.cs [new file with mode: 0644]
sources/generated/Gst_Query.cs [new file with mode: 0644]
sources/generated/Gst_QueryType.cs [new file with mode: 0644]
sources/generated/Gst_QueryTypeFlags.cs [new file with mode: 0644]
sources/generated/Gst_Rank.cs [new file with mode: 0644]
sources/generated/Gst_ReferenceTimestampMeta.cs [new file with mode: 0644]
sources/generated/Gst_Registry.cs [new file with mode: 0644]
sources/generated/Gst_ResourceError.cs [new file with mode: 0644]
sources/generated/Gst_Sample.cs [new file with mode: 0644]
sources/generated/Gst_SchedulingFlags.cs [new file with mode: 0644]
sources/generated/Gst_SearchMode.cs [new file with mode: 0644]
sources/generated/Gst_SeekFlags.cs [new file with mode: 0644]
sources/generated/Gst_SeekType.cs [new file with mode: 0644]
sources/generated/Gst_Segment.cs [new file with mode: 0644]
sources/generated/Gst_SegmentFlags.cs [new file with mode: 0644]
sources/generated/Gst_StackTraceFlags.cs [new file with mode: 0644]
sources/generated/Gst_State.cs [new file with mode: 0644]
sources/generated/Gst_StateChange.cs [new file with mode: 0644]
sources/generated/Gst_StateChangeReturn.cs [new file with mode: 0644]
sources/generated/Gst_StaticCaps.cs [new file with mode: 0644]
sources/generated/Gst_StaticPadTemplate.cs [new file with mode: 0644]
sources/generated/Gst_Stream.cs [new file with mode: 0644]
sources/generated/Gst_StreamCollection.cs [new file with mode: 0644]
sources/generated/Gst_StreamError.cs [new file with mode: 0644]
sources/generated/Gst_StreamFlags.cs [new file with mode: 0644]
sources/generated/Gst_StreamNotifyHandler.cs [new file with mode: 0644]
sources/generated/Gst_StreamStatusType.cs [new file with mode: 0644]
sources/generated/Gst_StreamType.cs [new file with mode: 0644]
sources/generated/Gst_Structure.cs [new file with mode: 0644]
sources/generated/Gst_StructureChangeType.cs [new file with mode: 0644]
sources/generated/Gst_StructureFilterMapFunc.cs [new file with mode: 0644]
sources/generated/Gst_StructureForeachFunc.cs [new file with mode: 0644]
sources/generated/Gst_StructureMapFunc.cs [new file with mode: 0644]
sources/generated/Gst_SyncMessageHandler.cs [new file with mode: 0644]
sources/generated/Gst_SyncedHandler.cs [new file with mode: 0644]
sources/generated/Gst_SystemClock.cs [new file with mode: 0644]
sources/generated/Gst_Tag.cs [new file with mode: 0644]
sources/generated/Gst_TagFlag.cs [new file with mode: 0644]
sources/generated/Gst_TagForeachFunc.cs [new file with mode: 0644]
sources/generated/Gst_TagList.cs [new file with mode: 0644]
sources/generated/Gst_TagMergeFunc.cs [new file with mode: 0644]
sources/generated/Gst_TagMergeMode.cs [new file with mode: 0644]
sources/generated/Gst_TagScope.cs [new file with mode: 0644]
sources/generated/Gst_TagSetterAdapter.cs [new file with mode: 0644]
sources/generated/Gst_Task.cs [new file with mode: 0644]
sources/generated/Gst_TaskFunction.cs [new file with mode: 0644]
sources/generated/Gst_TaskPool.cs [new file with mode: 0644]
sources/generated/Gst_TaskPoolFunction.cs [new file with mode: 0644]
sources/generated/Gst_TaskState.cs [new file with mode: 0644]
sources/generated/Gst_TaskThreadFunc.cs [new file with mode: 0644]
sources/generated/Gst_TimedValue.cs [new file with mode: 0644]
sources/generated/Gst_Toc.cs [new file with mode: 0644]
sources/generated/Gst_TocEntry.cs [new file with mode: 0644]
sources/generated/Gst_TocEntryType.cs [new file with mode: 0644]
sources/generated/Gst_TocLoopType.cs [new file with mode: 0644]
sources/generated/Gst_TocScope.cs [new file with mode: 0644]
sources/generated/Gst_TocSetterAdapter.cs [new file with mode: 0644]
sources/generated/Gst_Tracer.cs [new file with mode: 0644]
sources/generated/Gst_TracerFactory.cs [new file with mode: 0644]
sources/generated/Gst_TracerRecord.cs [new file with mode: 0644]
sources/generated/Gst_TracerValueFlags.cs [new file with mode: 0644]
sources/generated/Gst_TracerValueScope.cs [new file with mode: 0644]
sources/generated/Gst_TypeFind.cs [new file with mode: 0644]
sources/generated/Gst_TypeFindFactory.cs [new file with mode: 0644]
sources/generated/Gst_TypeFindFunction.cs [new file with mode: 0644]
sources/generated/Gst_TypeFindProbability.cs [new file with mode: 0644]
sources/generated/Gst_URIError.cs [new file with mode: 0644]
sources/generated/Gst_URIHandlerAdapter.cs [new file with mode: 0644]
sources/generated/Gst_URIType.cs [new file with mode: 0644]
sources/generated/Gst_UnlinkedHandler.cs [new file with mode: 0644]
sources/generated/Gst_Uri.cs [new file with mode: 0644]
sources/generated/Gst_Util.cs [new file with mode: 0644]
sources/generated/Gst_Value.cs [new file with mode: 0644]
sources/generated/Gst_ValueArray.cs [new file with mode: 0644]
sources/generated/Gst_ValueCompareFunc.cs [new file with mode: 0644]
sources/generated/Gst_ValueDeserializeFunc.cs [new file with mode: 0644]
sources/generated/Gst_ValueList.cs [new file with mode: 0644]
sources/generated/Gst_ValueSerializeFunc.cs [new file with mode: 0644]
sources/generated/Gst_ValueTable.cs [new file with mode: 0644]
sources/generated/GtkSharp_ObjectManager.cs [new file with mode: 0644]
sources/generated/gstreamer-sharp-abi.c [new file with mode: 0644]
sources/generated/gstreamer-sharp-abi.cs [new file with mode: 0644]
sources/generated/gstreamer-sharp-api.xml [new file with mode: 0644]
sources/generated/meson.build
sources/meson.build

diff --git a/ges/generated/GES_Asset.cs b/ges/generated/GES_Asset.cs
new file mode 100644 (file)
index 0000000..cf53fdb
--- /dev/null
@@ -0,0 +1,1004 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Asset : GLib.Object, GES.IMetaContainer, GLib.IAsyncInitable, GLib.IInitable {
+
+               public Asset (IntPtr raw) : base(raw) {}
+
+               protected Asset() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_asset_get_extractable_type(IntPtr raw);
+
+               [GLib.Property ("extractable-type")]
+               public GLib.GType ExtractableType {
+                       get  {
+                               IntPtr raw_ret = ges_asset_get_extractable_type(Handle);
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_asset_get_id(IntPtr raw);
+
+               [GLib.Property ("id")]
+               public string Id {
+                       get  {
+                               IntPtr raw_ret = ges_asset_get_id(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_asset_get_proxy(IntPtr raw);
+
+               [GLib.Property ("proxy")]
+               public GES.Asset Proxy {
+                       get  {
+                               IntPtr raw_ret = ges_asset_get_proxy(Handle);
+                               GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("proxy", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_asset_get_proxy_target(IntPtr raw);
+
+               [GLib.Property ("proxy-target")]
+               public GES.Asset ProxyTarget {
+                       get  {
+                               IntPtr raw_ret = ges_asset_get_proxy_target(Handle);
+                               GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("proxy-target", val);
+                               val.Dispose ();
+                       }
+               }
+
+               static StartLoadingNativeDelegate StartLoading_cb_delegate;
+               static StartLoadingNativeDelegate StartLoadingVMCallback {
+                       get {
+                               if (StartLoading_cb_delegate == null)
+                                       StartLoading_cb_delegate = new StartLoadingNativeDelegate (StartLoading_cb);
+                               return StartLoading_cb_delegate;
+                       }
+               }
+
+               static void OverrideStartLoading (GLib.GType gtype)
+               {
+                       OverrideStartLoading (gtype, StartLoadingVMCallback);
+               }
+
+               static void OverrideStartLoading (GLib.GType gtype, StartLoadingNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start_loading"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int StartLoadingNativeDelegate (IntPtr inst, out IntPtr error);
+
+               static int StartLoading_cb (IntPtr inst, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               Asset __obj = GLib.Object.GetObject (inst, false) as Asset;
+                               GES.AssetLoadingReturn __result;
+                               __result = __obj.OnStartLoading ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Asset), ConnectionMethod="OverrideStartLoading")]
+               protected virtual GES.AssetLoadingReturn OnStartLoading ()
+               {
+                       return InternalStartLoading ();
+               }
+
+               private GES.AssetLoadingReturn InternalStartLoading ()
+               {
+                       StartLoadingNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start_loading"));
+                               unmanaged = (StartLoadingNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartLoadingNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       IntPtr error = IntPtr.Zero;
+                       int __result = unmanaged (this.Handle, out error);
+                       return (GES.AssetLoadingReturn) __result;
+               }
+
+               static ExtractNativeDelegate Extract_cb_delegate;
+               static ExtractNativeDelegate ExtractVMCallback {
+                       get {
+                               if (Extract_cb_delegate == null)
+                                       Extract_cb_delegate = new ExtractNativeDelegate (Extract_cb);
+                               return Extract_cb_delegate;
+                       }
+               }
+
+               static void OverrideExtract (GLib.GType gtype)
+               {
+                       OverrideExtract (gtype, ExtractVMCallback);
+               }
+
+               static void OverrideExtract (GLib.GType gtype, ExtractNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("extract"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr ExtractNativeDelegate (IntPtr inst, out IntPtr error);
+
+               static IntPtr Extract_cb (IntPtr inst, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               Asset __obj = GLib.Object.GetObject (inst, false) as Asset;
+                               GES.IExtractable __result;
+                               __result = __obj.OnExtract ();
+                               return __result == null ? IntPtr.Zero : ((__result is GLib.Object) ? (__result as GLib.Object).Handle : (__result as GES.ExtractableAdapter).Handle);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Asset), ConnectionMethod="OverrideExtract")]
+               protected virtual GES.IExtractable OnExtract ()
+               {
+                       return InternalExtract ();
+               }
+
+               private GES.IExtractable InternalExtract ()
+               {
+                       ExtractNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("extract"));
+                               unmanaged = (ExtractNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ExtractNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr __result = unmanaged (this.Handle, out error);
+                       return GES.ExtractableAdapter.GetObject (__result, false);
+               }
+
+               static InformProxyNativeDelegate InformProxy_cb_delegate;
+               static InformProxyNativeDelegate InformProxyVMCallback {
+                       get {
+                               if (InformProxy_cb_delegate == null)
+                                       InformProxy_cb_delegate = new InformProxyNativeDelegate (InformProxy_cb);
+                               return InformProxy_cb_delegate;
+                       }
+               }
+
+               static void OverrideInformProxy (GLib.GType gtype)
+               {
+                       OverrideInformProxy (gtype, InformProxyVMCallback);
+               }
+
+               static void OverrideInformProxy (GLib.GType gtype, InformProxyNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("inform_proxy"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void InformProxyNativeDelegate (IntPtr inst, IntPtr proxy_id);
+
+               static void InformProxy_cb (IntPtr inst, IntPtr proxy_id)
+               {
+                       try {
+                               Asset __obj = GLib.Object.GetObject (inst, false) as Asset;
+                               __obj.OnInformProxy (GLib.Marshaller.Utf8PtrToString (proxy_id));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Asset), ConnectionMethod="OverrideInformProxy")]
+               protected virtual void OnInformProxy (string proxy_id)
+               {
+                       InternalInformProxy (proxy_id);
+               }
+
+               private void InternalInformProxy (string proxy_id)
+               {
+                       InformProxyNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("inform_proxy"));
+                               unmanaged = (InformProxyNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(InformProxyNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_proxy_id = GLib.Marshaller.StringToPtrGStrdup (proxy_id);
+                       unmanaged (this.Handle, native_proxy_id);
+                       GLib.Marshaller.Free (native_proxy_id);
+               }
+
+               static ProxiedNativeDelegate Proxied_cb_delegate;
+               static ProxiedNativeDelegate ProxiedVMCallback {
+                       get {
+                               if (Proxied_cb_delegate == null)
+                                       Proxied_cb_delegate = new ProxiedNativeDelegate (Proxied_cb);
+                               return Proxied_cb_delegate;
+                       }
+               }
+
+               static void OverrideProxied (GLib.GType gtype)
+               {
+                       OverrideProxied (gtype, ProxiedVMCallback);
+               }
+
+               static void OverrideProxied (GLib.GType gtype, ProxiedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("proxied"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ProxiedNativeDelegate (IntPtr inst, IntPtr proxy);
+
+               static void Proxied_cb (IntPtr inst, IntPtr proxy)
+               {
+                       try {
+                               Asset __obj = GLib.Object.GetObject (inst, false) as Asset;
+                               __obj.OnProxied (GLib.Object.GetObject(proxy) as GES.Asset);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Asset), ConnectionMethod="OverrideProxied")]
+               protected virtual void OnProxied (GES.Asset proxy)
+               {
+                       InternalProxied (proxy);
+               }
+
+               private void InternalProxied (GES.Asset proxy)
+               {
+                       ProxiedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("proxied"));
+                               unmanaged = (ProxiedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProxiedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, proxy == null ? IntPtr.Zero : proxy.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("start_loading"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start_loading
+                                                       , null
+                                                       , "extract"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("extract"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // extract
+                                                       , "start_loading"
+                                                       , "inform_proxy"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("inform_proxy"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // inform_proxy
+                                                       , "extract"
+                                                       , "proxied"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("proxied"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // proxied
+                                                       , "inform_proxy"
+                                                       , "request_id_update"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("request_id_update"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // request_id_update
+                                                       , "proxied"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "request_id_update"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_asset_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_asset_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_asset_needs_reload(IntPtr extractable_type, IntPtr id);
+
+               public static bool NeedsReload(GLib.GType extractable_type, string id) {
+                       IntPtr native_id = GLib.Marshaller.StringToPtrGStrdup (id);
+                       bool raw_ret = ges_asset_needs_reload(extractable_type.Val, native_id);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_id);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr ges_asset_request(IntPtr extractable_type, IntPtr id, out IntPtr error);
+
+               public static unsafe GES.Asset Request(GLib.GType extractable_type, string id) {
+                       IntPtr native_id = GLib.Marshaller.StringToPtrGStrdup (id);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = ges_asset_request(extractable_type.Val, native_id, out error);
+                       GES.Asset ret = GLib.Object.GetObject(raw_ret, true) as GES.Asset;
+                       GLib.Marshaller.Free (native_id);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public static GES.Asset Request(GLib.GType extractable_type) {
+                       return Request (extractable_type, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_asset_request_async(IntPtr extractable_type, IntPtr id, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+               public static void RequestAsync(GLib.GType extractable_type, string id, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+                       IntPtr native_id = GLib.Marshaller.StringToPtrGStrdup (id);
+                       GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+                       cb_wrapper.PersistUntilCalled ();
+                       ges_asset_request_async(extractable_type.Val, native_id, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+                       GLib.Marshaller.Free (native_id);
+               }
+
+               public static void RequestAsync(GLib.GType extractable_type, string id) {
+                       RequestAsync (extractable_type, id, null, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr ges_asset_request_finish(IntPtr res, out IntPtr error);
+
+               public static unsafe GES.Asset RequestFinish(GLib.IAsyncResult res) {
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = ges_asset_request_finish(res == null ? IntPtr.Zero : ((res is GLib.Object) ? (res as GLib.Object).Handle : (res as GLib.AsyncResultAdapter).Handle), out error);
+                       GES.Asset ret = GLib.Object.GetObject(raw_ret, true) as GES.Asset;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr ges_asset_extract(IntPtr raw, out IntPtr error);
+
+               public unsafe GES.IExtractable Extract() {
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = ges_asset_extract(Handle, out error);
+                       GES.IExtractable ret = GES.ExtractableAdapter.GetObject (raw_ret, false);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_asset_list_proxies(IntPtr raw);
+
+               public GES.Asset[] ListProxies() {
+                       IntPtr raw_ret = ges_asset_list_proxies(Handle);
+                       GES.Asset[] ret = (GES.Asset[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(GES.Asset));
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_asset_set_proxy(IntPtr raw, IntPtr proxy);
+
+               public bool SetProxy(GES.Asset proxy) {
+                       bool raw_ret = ges_asset_set_proxy(Handle, proxy == null ? IntPtr.Zero : proxy.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool SetProxy() {
+                       return SetProxy (null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_asset_unproxy(IntPtr raw, IntPtr proxy);
+
+               public bool Unproxy(GES.Asset proxy) {
+                       bool raw_ret = ges_asset_unproxy(Handle, proxy == null ? IntPtr.Zero : proxy.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_add_metas_from_string(IntPtr raw, IntPtr str);
+
+               public bool AddMetasFromString(string str) {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       bool raw_ret = ges_meta_container_add_metas_from_string(Handle, native_str);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_str);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_check_meta_registered(IntPtr raw, IntPtr meta_item, int flags, IntPtr type);
+
+               public bool CheckMetaRegistered(string meta_item, GES.MetaFlag flags, GLib.GType type) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, (int) flags, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_meta_container_foreach(IntPtr raw, GESSharp.MetaForeachFuncNative func, IntPtr user_data);
+
+               public void Foreach(GES.MetaForeachFunc func) {
+                       GESSharp.MetaForeachFuncWrapper func_wrapper = new GESSharp.MetaForeachFuncWrapper (func);
+                       ges_meta_container_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_boolean(IntPtr raw, IntPtr meta_item, out bool dest);
+
+               public bool GetBoolean(string meta_item, out bool dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_boolean(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_date_time(IntPtr raw, IntPtr meta_item, out IntPtr dest);
+
+               public bool GetDateTime(string meta_item, out Gst.DateTime dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_dest;
+                       bool raw_ret = ges_meta_container_get_date_time(Handle, native_meta_item, out native_dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       dest = native_dest == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_dest, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_double(IntPtr raw, IntPtr meta_item, out double dest);
+
+               public bool GetDouble(string meta_item, out double dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_double(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_float(IntPtr raw, IntPtr meta_item, out float dest);
+
+               public bool GetFloat(string meta_item, out float dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_float(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int(IntPtr raw, IntPtr meta_item, out int dest);
+
+               public bool GetInt(string meta_item, out int dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int64(IntPtr raw, IntPtr meta_item, out long dest);
+
+               public bool GetInt64(string meta_item, out long dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_meta(IntPtr raw, IntPtr key);
+
+               public GLib.Value GetMeta(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = ges_meta_container_get_meta(Handle, native_key);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_string(IntPtr raw, IntPtr meta_item);
+
+               public string GetString(string meta_item) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr raw_ret = ges_meta_container_get_string(Handle, native_meta_item);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint(IntPtr raw, IntPtr meta_item, out uint dest);
+
+               public bool GetUint(string meta_item, out uint dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint64(IntPtr raw, IntPtr meta_item, out ulong dest);
+
+               public bool GetUint64(string meta_item, out ulong dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_metas_to_string(IntPtr raw);
+
+               public string MetasToString() {
+                       IntPtr raw_ret = ges_meta_container_metas_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMeta(GES.MetaFlag flags, string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_register_meta(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_boolean(IntPtr raw, int flags, IntPtr meta_item, bool value);
+
+               public bool RegisterMetaBoolean(GES.MetaFlag flags, string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_boolean(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_date_time(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_date_time(Handle, (int) flags, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaDateTime (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_double(IntPtr raw, int flags, IntPtr meta_item, double value);
+
+               public bool RegisterMetaDouble(GES.MetaFlag flags, string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_double(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_float(IntPtr raw, int flags, IntPtr meta_item, float value);
+
+               public bool RegisterMetaFloat(GES.MetaFlag flags, string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_float(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int(IntPtr raw, int flags, IntPtr meta_item, int value);
+
+               public bool RegisterMetaInt(GES.MetaFlag flags, string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int64(IntPtr raw, int flags, IntPtr meta_item, long value);
+
+               public bool RegisterMetaInt64(GES.MetaFlag flags, string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_string(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_register_meta_string(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaString (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint(IntPtr raw, int flags, IntPtr meta_item, uint value);
+
+               public bool RegisterMetaUint(GES.MetaFlag flags, string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint64(IntPtr raw, int flags, IntPtr meta_item, ulong value);
+
+               public bool RegisterMetaUint64(GES.MetaFlag flags, string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_boolean(IntPtr raw, IntPtr meta_item, bool value);
+
+               public bool SetBoolean(string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_boolean(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_date_time(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetDateTime(string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_date_time(Handle, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_double(IntPtr raw, IntPtr meta_item, double value);
+
+               public bool SetDouble(string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_double(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_float(IntPtr raw, IntPtr meta_item, float value);
+
+               public bool SetFloat(string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_float(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int(IntPtr raw, IntPtr meta_item, int value);
+
+               public bool SetInt(string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int64(IntPtr raw, IntPtr meta_item, long value);
+
+               public bool SetInt64(string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_meta(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetMeta(string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_set_meta(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string meta_item) {
+                       return SetMeta (meta_item, GLib.Value.Empty);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_string(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetString(string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_set_string(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint(IntPtr raw, IntPtr meta_item, uint value);
+
+               public bool SetUint(string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint64(IntPtr raw, IntPtr meta_item, ulong value);
+
+               public bool SetUint64(string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [GLib.Signal("notify-meta")]
+               public event GES.NotifyMetaHandler NotifyMeta {
+                       add {
+                               this.AddSignalHandler ("notify-meta", value, typeof (GES.NotifyMetaArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("notify-meta", value);
+                       }
+               }
+
+               static NotifyMetaNativeDelegate NotifyMeta_cb_delegate;
+               static NotifyMetaNativeDelegate NotifyMetaVMCallback {
+                       get {
+                               if (NotifyMeta_cb_delegate == null)
+                                       NotifyMeta_cb_delegate = new NotifyMetaNativeDelegate (NotifyMeta_cb);
+                               return NotifyMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype)
+               {
+                       OverrideNotifyMeta (gtype, NotifyMetaVMCallback);
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype, NotifyMetaNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "notify-meta", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NotifyMetaNativeDelegate (IntPtr inst, IntPtr _object, IntPtr p0);
+
+               static void NotifyMeta_cb (IntPtr inst, IntPtr _object, IntPtr p0)
+               {
+                       try {
+                               GES.Asset __obj = GLib.Object.GetObject (inst, false) as GES.Asset;
+                               __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (_object), (GLib.Value) Marshal.PtrToStructure (p0, typeof (GLib.Value)));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Asset), ConnectionMethod="OverrideNotifyMeta")]
+               protected virtual void OnNotifyMeta (string _object, GLib.Value p0)
+               {
+                       InternalNotifyMeta (_object, p0);
+               }
+
+               private void InternalNotifyMeta (string _object, GLib.Value p0)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+                       GLib.Value[] vals = new GLib.Value [3];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (p0);
+                       inst_and_params.Append (vals [2]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               [DllImport("libgio-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void g_async_initable_init_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+               public void InitAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+                       GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+                       cb_wrapper.PersistUntilCalled ();
+                       g_async_initable_init_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("libgio-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool g_async_initable_init_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+               public bool InitFinish(GLib.IAsyncResult res) {
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = g_async_initable_init_finish(Handle, res == null ? IntPtr.Zero : ((res is GLib.Object) ? (res as GLib.Object).Handle : (res as GLib.AsyncResultAdapter).Handle), out error);
+                       bool ret = raw_ret;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgio-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool g_initable_init(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+               public bool Init(GLib.Cancellable cancellable) {
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = g_initable_init(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+                       bool ret = raw_ret;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+
+               static Asset ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GLib.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_AssetAddedHandler.cs b/ges/generated/GES_AssetAddedHandler.cs
new file mode 100644 (file)
index 0000000..bebc548
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void AssetAddedHandler(object o, AssetAddedArgs args);
+
+       public class AssetAddedArgs : GLib.SignalArgs {
+               public GES.Asset Asset{
+                       get {
+                               return (GES.Asset) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_AssetLoadingHandler.cs b/ges/generated/GES_AssetLoadingHandler.cs
new file mode 100644 (file)
index 0000000..61f8ad7
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void AssetLoadingHandler(object o, AssetLoadingArgs args);
+
+       public class AssetLoadingArgs : GLib.SignalArgs {
+               public GES.Asset Asset{
+                       get {
+                               return (GES.Asset) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_AssetLoadingReturn.cs b/ges/generated/GES_AssetLoadingReturn.cs
new file mode 100644 (file)
index 0000000..71d0ff5
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum AssetLoadingReturn {
+
+               Error = 0,
+               Async = 1,
+               Ok = 2,
+       }
+#endregion
+}
diff --git a/ges/generated/GES_AssetRemovedHandler.cs b/ges/generated/GES_AssetRemovedHandler.cs
new file mode 100644 (file)
index 0000000..b3c0277
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void AssetRemovedHandler(object o, AssetRemovedArgs args);
+
+       public class AssetRemovedArgs : GLib.SignalArgs {
+               public GES.Asset Asset{
+                       get {
+                               return (GES.Asset) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_AudioSource.cs b/ges/generated/GES_AudioSource.cs
new file mode 100644 (file)
index 0000000..c564906
--- /dev/null
@@ -0,0 +1,103 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioSource : GES.Source {
+
+               protected AudioSource (IntPtr raw) : base(raw) {}
+
+               protected AudioSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("create_source"
+                                                       , GES.Source.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_source
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "create_source"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_audio_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_audio_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static AudioSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Source.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_AudioTestSource.cs b/ges/generated/GES_AudioTestSource.cs
new file mode 100644 (file)
index 0000000..3b58e63
--- /dev/null
@@ -0,0 +1,129 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioTestSource : GES.AudioSource {
+
+               public AudioTestSource (IntPtr raw) : base(raw) {}
+
+               protected AudioTestSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.AudioSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_audio_test_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_audio_test_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_audio_test_source_get_freq(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_audio_test_source_set_freq(IntPtr raw, double freq);
+
+               public double Freq { 
+                       get {
+                               double raw_ret = ges_audio_test_source_get_freq(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_audio_test_source_set_freq(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_audio_test_source_get_volume(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_audio_test_source_set_volume(IntPtr raw, double volume);
+
+               public double Volume { 
+                       get {
+                               double raw_ret = ges_audio_test_source_get_volume(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_audio_test_source_set_volume(Handle, value);
+                       }
+               }
+
+
+               static AudioTestSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.AudioSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_AudioTrack.cs b/ges/generated/GES_AudioTrack.cs
new file mode 100644 (file)
index 0000000..3ed84c5
--- /dev/null
@@ -0,0 +1,102 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioTrack : GES.Track {
+
+               public AudioTrack (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_audio_track_new();
+
+               public AudioTrack () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (AudioTrack)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_audio_track_new();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Track.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_audio_track_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_audio_track_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static AudioTrack ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Track.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_AudioTransition.cs b/ges/generated/GES_AudioTransition.cs
new file mode 100644 (file)
index 0000000..bdef0fb
--- /dev/null
@@ -0,0 +1,102 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioTransition : GES.Transition {
+
+               public AudioTransition (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_audio_transition_new();
+
+               public AudioTransition () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (AudioTransition)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_audio_transition_new();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Transition.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_audio_transition_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_audio_transition_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static AudioTransition ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Transition.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_AudioUriSource.cs b/ges/generated/GES_AudioUriSource.cs
new file mode 100644 (file)
index 0000000..050b6b4
--- /dev/null
@@ -0,0 +1,113 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioUriSource : GES.AudioSource {
+
+               public AudioUriSource (IntPtr raw) : base(raw) {}
+
+               protected AudioUriSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("uri")]
+               public string Uri {
+                       get {
+                               GLib.Value val = GetProperty ("uri");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.AudioSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_audio_uri_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_audio_uri_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static AudioUriSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("uri"
+                                                       , GES.AudioSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // uri
+                                                       , null
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "uri"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_BaseEffect.cs b/ges/generated/GES_BaseEffect.cs
new file mode 100644 (file)
index 0000000..53dd7fd
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BaseEffect : GES.Operation {
+
+               protected BaseEffect (IntPtr raw) : base(raw) {}
+
+               protected BaseEffect() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Operation.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_base_effect_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_base_effect_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static BaseEffect ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Operation.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_BaseEffectClip.cs b/ges/generated/GES_BaseEffectClip.cs
new file mode 100644 (file)
index 0000000..dded254
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BaseEffectClip : GES.OperationClip {
+
+               protected BaseEffectClip (IntPtr raw) : base(raw) {}
+
+               protected BaseEffectClip() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.OperationClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_base_effect_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_base_effect_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static BaseEffectClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.OperationClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_BaseTransitionClip.cs b/ges/generated/GES_BaseTransitionClip.cs
new file mode 100644 (file)
index 0000000..b955112
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BaseTransitionClip : GES.OperationClip {
+
+               protected BaseTransitionClip (IntPtr raw) : base(raw) {}
+
+               protected BaseTransitionClip() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.OperationClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_base_transition_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_base_transition_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static BaseTransitionClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.OperationClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_BaseXmlFormatter.cs b/ges/generated/GES_BaseXmlFormatter.cs
new file mode 100644 (file)
index 0000000..6bbda6b
--- /dev/null
@@ -0,0 +1,118 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BaseXmlFormatter : GES.Formatter {
+
+               protected BaseXmlFormatter (IntPtr raw) : base(raw) {}
+
+               protected BaseXmlFormatter() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("content_parser"
+                                                       , GES.Formatter.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.MarkupParser)) // content_parser
+                                                       , null
+                                                       , "save"
+                                                       , (long) Marshal.OffsetOf(typeof(GESBaseXmlFormatter_content_parserAlign), "content_parser")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("save"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // save
+                                                       , "content_parser"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "save"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESBaseXmlFormatter_content_parserAlign
+               {
+                       sbyte f1;
+                       private GLib.MarkupParser content_parser;
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_base_xml_formatter_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_base_xml_formatter_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static BaseXmlFormatter ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Formatter.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_ChildAddedHandler.cs b/ges/generated/GES_ChildAddedHandler.cs
new file mode 100644 (file)
index 0000000..58aef20
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void ChildAddedHandler(object o, ChildAddedArgs args);
+
+       public class ChildAddedArgs : GLib.SignalArgs {
+               public GES.TimelineElement Element{
+                       get {
+                               return (GES.TimelineElement) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_ChildRemovedHandler.cs b/ges/generated/GES_ChildRemovedHandler.cs
new file mode 100644 (file)
index 0000000..a5e9a05
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void ChildRemovedHandler(object o, ChildRemovedArgs args);
+
+       public class ChildRemovedArgs : GLib.SignalArgs {
+               public GES.TimelineElement Element{
+                       get {
+                               return (GES.TimelineElement) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_ChildrenControlMode.cs b/ges/generated/GES_ChildrenControlMode.cs
new file mode 100644 (file)
index 0000000..387b6d3
--- /dev/null
@@ -0,0 +1,19 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum ChildrenControlMode {
+
+               Update = 0,
+               IgnoreNotifies = 1,
+               UpdateOffsets = 2,
+               UpdateAllValues = 3,
+               Last = 4,
+       }
+#endregion
+}
diff --git a/ges/generated/GES_Clip.cs b/ges/generated/GES_Clip.cs
new file mode 100644 (file)
index 0000000..8871361
--- /dev/null
@@ -0,0 +1,241 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Clip : GES.Container {
+
+               protected Clip (IntPtr raw) : base(raw) {}
+
+               protected Clip() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_clip_get_layer(IntPtr raw);
+
+               [GLib.Property ("layer")]
+               public GES.Layer Layer {
+                       get  {
+                               IntPtr raw_ret = ges_clip_get_layer(Handle);
+                               GES.Layer ret = GLib.Object.GetObject(raw_ret, true) as GES.Layer;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_clip_get_supported_formats(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_clip_set_supported_formats(IntPtr raw, int supportedformats);
+
+               [GLib.Property ("supported-formats")]
+               public GES.TrackType SupportedFormats {
+                       get  {
+                               int raw_ret = ges_clip_get_supported_formats(Handle);
+                               GES.TrackType ret = (GES.TrackType) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_clip_set_supported_formats(Handle, (int) value);
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("create_track_element"
+                                                       , GES.Container.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_track_element
+                                                       , null
+                                                       , "create_track_elements"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create_track_elements"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_track_elements
+                                                       , "create_track_element"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _ges_reserved
+                                                       , "create_track_elements"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_clip_add_asset(IntPtr raw, IntPtr asset);
+
+               public GES.TrackElement AddAsset(GES.Asset asset) {
+                       IntPtr raw_ret = ges_clip_add_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle);
+                       GES.TrackElement ret = GLib.Object.GetObject(raw_ret) as GES.TrackElement;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_clip_find_track_element(IntPtr raw, IntPtr track, IntPtr type);
+
+               public GES.TrackElement FindTrackElement(GES.Track track, GLib.GType type) {
+                       IntPtr raw_ret = ges_clip_find_track_element(Handle, track == null ? IntPtr.Zero : track.Handle, type.Val);
+                       GES.TrackElement ret = GLib.Object.GetObject(raw_ret, true) as GES.TrackElement;
+                       return ret;
+               }
+
+               public GES.TrackElement FindTrackElement(GLib.GType type) {
+                       return FindTrackElement (null, type);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_clip_find_track_elements(IntPtr raw, IntPtr track, int track_type, IntPtr type);
+
+               public GES.TrackElement[] FindTrackElements(GES.Track track, GES.TrackType track_type, GLib.GType type) {
+                       IntPtr raw_ret = ges_clip_find_track_elements(Handle, track == null ? IntPtr.Zero : track.Handle, (int) track_type, type.Val);
+                       GES.TrackElement[] ret = (GES.TrackElement[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.TrackElement));
+                       return ret;
+               }
+
+               public GES.TrackElement[] FindTrackElements(GES.TrackType track_type, GLib.GType type) {
+                       return FindTrackElements (null, track_type, type);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_clip_get_top_effect_index(IntPtr raw, IntPtr effect);
+
+               public int GetTopEffectIndex(GES.BaseEffect effect) {
+                       int raw_ret = ges_clip_get_top_effect_index(Handle, effect == null ? IntPtr.Zero : effect.Handle);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_clip_get_top_effect_position(IntPtr raw, IntPtr effect);
+
+               public int GetTopEffectPosition(GES.BaseEffect effect) {
+                       int raw_ret = ges_clip_get_top_effect_position(Handle, effect == null ? IntPtr.Zero : effect.Handle);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_clip_get_top_effects(IntPtr raw);
+
+               public GES.TrackElement[] TopEffects { 
+                       get {
+                               IntPtr raw_ret = ges_clip_get_top_effects(Handle);
+                               GES.TrackElement[] ret = (GES.TrackElement[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.TrackElement));
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_clip_move_to_layer(IntPtr raw, IntPtr layer);
+
+               public bool MoveToLayer(GES.Layer layer) {
+                       bool raw_ret = ges_clip_move_to_layer(Handle, layer == null ? IntPtr.Zero : layer.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_clip_set_top_effect_index(IntPtr raw, IntPtr effect, uint newindex);
+
+               public bool SetTopEffectIndex(GES.BaseEffect effect, uint newindex) {
+                       bool raw_ret = ges_clip_set_top_effect_index(Handle, effect == null ? IntPtr.Zero : effect.Handle, newindex);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_clip_set_top_effect_priority(IntPtr raw, IntPtr effect, uint newpriority);
+
+               public bool SetTopEffectPriority(GES.BaseEffect effect, uint newpriority) {
+                       bool raw_ret = ges_clip_set_top_effect_priority(Handle, effect == null ? IntPtr.Zero : effect.Handle, newpriority);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_clip_split(IntPtr raw, ulong position);
+
+               public GES.Clip Split(ulong position) {
+                       IntPtr raw_ret = ges_clip_split(Handle, position);
+                       GES.Clip ret = GLib.Object.GetObject(raw_ret) as GES.Clip;
+                       return ret;
+               }
+
+
+               static Clip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Container.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_ClipAddedHandler.cs b/ges/generated/GES_ClipAddedHandler.cs
new file mode 100644 (file)
index 0000000..194c382
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void ClipAddedHandler(object o, ClipAddedArgs args);
+
+       public class ClipAddedArgs : GLib.SignalArgs {
+               public GES.Clip Clip{
+                       get {
+                               return (GES.Clip) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_ClipAsset.cs b/ges/generated/GES_ClipAsset.cs
new file mode 100644 (file)
index 0000000..cacd3f9
--- /dev/null
@@ -0,0 +1,113 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ClipAsset : GES.Asset {
+
+               public ClipAsset (IntPtr raw) : base(raw) {}
+
+               protected ClipAsset() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_clip_asset_get_supported_formats(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_clip_asset_set_supported_formats(IntPtr raw, int supportedformats);
+
+               [GLib.Property ("supported-formats")]
+               public GES.TrackType SupportedFormats {
+                       get  {
+                               int raw_ret = ges_clip_asset_get_supported_formats(Handle);
+                               GES.TrackType ret = (GES.TrackType) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_clip_asset_set_supported_formats(Handle, (int) value);
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Asset.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_clip_asset_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_clip_asset_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static ClipAsset ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Asset.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_ClipRemovedHandler.cs b/ges/generated/GES_ClipRemovedHandler.cs
new file mode 100644 (file)
index 0000000..77253bb
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void ClipRemovedHandler(object o, ClipRemovedArgs args);
+
+       public class ClipRemovedArgs : GLib.SignalArgs {
+               public GES.Clip Clip{
+                       get {
+                               return (GES.Clip) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_CommandLineFormatter.cs b/ges/generated/GES_CommandLineFormatter.cs
new file mode 100644 (file)
index 0000000..409e04f
--- /dev/null
@@ -0,0 +1,89 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class CommandLineFormatter : GES.Formatter {
+
+               public CommandLineFormatter (IntPtr raw) : base(raw) {}
+
+               protected CommandLineFormatter() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (GES.Formatter.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_command_line_formatter_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_command_line_formatter_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_command_line_formatter_get_help(int nargs, IntPtr commands);
+
+               public static string GetHelp(int nargs, string commands) {
+                       IntPtr native_commands = GLib.Marshaller.StringToPtrGStrdup (commands);
+                       IntPtr raw_ret = ges_command_line_formatter_get_help(nargs, native_commands);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_commands);
+                       return ret;
+               }
+
+
+               static CommandLineFormatter ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Formatter.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_Constants.cs b/ges/generated/GES_Constants.cs
new file mode 100644 (file)
index 0000000..ca2f0cd
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const string META_DESCRIPTION = @"description";
+               public const string META_FORMATTER_EXTENSION = @"extension";
+               public const string META_FORMATTER_MIMETYPE = @"mimetype";
+               public const string META_FORMATTER_NAME = @"name";
+               public const string META_FORMATTER_RANK = @"rank";
+               public const string META_FORMATTER_VERSION = @"version";
+               public const string META_FORMAT_VERSION = @"format-version";
+               public const string META_VOLUME = @"volume";
+               public const double META_VOLUME_DEFAULT = 1.000000;
+               public const string MULTI_FILE_URI_PREFIX = @"multifile://";
+               public const int PADDING = 4;
+               public const int PADDING_LARGE = 20;
+#endregion
+       }
+}
diff --git a/ges/generated/GES_Container.cs b/ges/generated/GES_Container.cs
new file mode 100644 (file)
index 0000000..138870d
--- /dev/null
@@ -0,0 +1,674 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Container : GES.TimelineElement {
+
+               protected Container (IntPtr raw) : base(raw) {}
+
+               protected Container() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("height")]
+               public uint Height {
+                       get {
+                               GLib.Value val = GetProperty ("height");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               public GLib.List Children {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("children"));
+                                       return new GLib.List((*raw_ptr));
+                               }
+                       }
+               }
+
+               public uint HeightField {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("height"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public GES.ChildrenControlMode ChildrenControlMode {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("children_control_mode"));
+                                       return (GES.ChildrenControlMode) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public GES.TimelineElement InitiatedMove {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("initiated_move"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as GES.TimelineElement;
+                               }
+                       }
+               }
+
+               [GLib.Signal("child-added")]
+               public event GES.ChildAddedHandler ChildAdded {
+                       add {
+                               this.AddSignalHandler ("child-added", value, typeof (GES.ChildAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("child-added", value);
+                       }
+               }
+
+               [GLib.Signal("child-removed")]
+               public event GES.ChildRemovedHandler ChildRemoved {
+                       add {
+                               this.AddSignalHandler ("child-removed", value, typeof (GES.ChildRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("child-removed", value);
+                       }
+               }
+
+               static ChildAddedNativeDelegate ChildAdded_cb_delegate;
+               static ChildAddedNativeDelegate ChildAddedVMCallback {
+                       get {
+                               if (ChildAdded_cb_delegate == null)
+                                       ChildAdded_cb_delegate = new ChildAddedNativeDelegate (ChildAdded_cb);
+                               return ChildAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideChildAdded (GLib.GType gtype)
+               {
+                       OverrideChildAdded (gtype, ChildAddedVMCallback);
+               }
+
+               static void OverrideChildAdded (GLib.GType gtype, ChildAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("child_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ChildAddedNativeDelegate (IntPtr inst, IntPtr element);
+
+               static void ChildAdded_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Container __obj = GLib.Object.GetObject (inst, false) as Container;
+                               __obj.OnChildAdded (GLib.Object.GetObject(element) as GES.TimelineElement);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Container), ConnectionMethod="OverrideChildAdded")]
+               protected virtual void OnChildAdded (GES.TimelineElement element)
+               {
+                       InternalChildAdded (element);
+               }
+
+               private void InternalChildAdded (GES.TimelineElement element)
+               {
+                       ChildAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("child_added"));
+                               unmanaged = (ChildAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ChildAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+               }
+
+               static ChildRemovedNativeDelegate ChildRemoved_cb_delegate;
+               static ChildRemovedNativeDelegate ChildRemovedVMCallback {
+                       get {
+                               if (ChildRemoved_cb_delegate == null)
+                                       ChildRemoved_cb_delegate = new ChildRemovedNativeDelegate (ChildRemoved_cb);
+                               return ChildRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideChildRemoved (GLib.GType gtype)
+               {
+                       OverrideChildRemoved (gtype, ChildRemovedVMCallback);
+               }
+
+               static void OverrideChildRemoved (GLib.GType gtype, ChildRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("child_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ChildRemovedNativeDelegate (IntPtr inst, IntPtr element);
+
+               static void ChildRemoved_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Container __obj = GLib.Object.GetObject (inst, false) as Container;
+                               __obj.OnChildRemoved (GLib.Object.GetObject(element) as GES.TimelineElement);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Container), ConnectionMethod="OverrideChildRemoved")]
+               protected virtual void OnChildRemoved (GES.TimelineElement element)
+               {
+                       InternalChildRemoved (element);
+               }
+
+               private void InternalChildRemoved (GES.TimelineElement element)
+               {
+                       ChildRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("child_removed"));
+                               unmanaged = (ChildRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ChildRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+               }
+
+               static AddChildNativeDelegate AddChild_cb_delegate;
+               static AddChildNativeDelegate AddChildVMCallback {
+                       get {
+                               if (AddChild_cb_delegate == null)
+                                       AddChild_cb_delegate = new AddChildNativeDelegate (AddChild_cb);
+                               return AddChild_cb_delegate;
+                       }
+               }
+
+               static void OverrideAddChild (GLib.GType gtype)
+               {
+                       OverrideAddChild (gtype, AddChildVMCallback);
+               }
+
+               static void OverrideAddChild (GLib.GType gtype, AddChildNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("add_child"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool AddChildNativeDelegate (IntPtr inst, IntPtr element);
+
+               static bool AddChild_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Container __obj = GLib.Object.GetObject (inst, false) as Container;
+                               bool __result;
+                               __result = __obj.OnAddChild (GLib.Object.GetObject(element) as GES.TimelineElement);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Container), ConnectionMethod="OverrideAddChild")]
+               protected virtual bool OnAddChild (GES.TimelineElement element)
+               {
+                       return InternalAddChild (element);
+               }
+
+               private bool InternalAddChild (GES.TimelineElement element)
+               {
+                       AddChildNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("add_child"));
+                               unmanaged = (AddChildNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AddChildNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+                       return __result;
+               }
+
+               static RemoveChildNativeDelegate RemoveChild_cb_delegate;
+               static RemoveChildNativeDelegate RemoveChildVMCallback {
+                       get {
+                               if (RemoveChild_cb_delegate == null)
+                                       RemoveChild_cb_delegate = new RemoveChildNativeDelegate (RemoveChild_cb);
+                               return RemoveChild_cb_delegate;
+                       }
+               }
+
+               static void OverrideRemoveChild (GLib.GType gtype)
+               {
+                       OverrideRemoveChild (gtype, RemoveChildVMCallback);
+               }
+
+               static void OverrideRemoveChild (GLib.GType gtype, RemoveChildNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("remove_child"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool RemoveChildNativeDelegate (IntPtr inst, IntPtr element);
+
+               static bool RemoveChild_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Container __obj = GLib.Object.GetObject (inst, false) as Container;
+                               bool __result;
+                               __result = __obj.OnRemoveChild (GLib.Object.GetObject(element) as GES.TimelineElement);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Container), ConnectionMethod="OverrideRemoveChild")]
+               protected virtual bool OnRemoveChild (GES.TimelineElement element)
+               {
+                       return InternalRemoveChild (element);
+               }
+
+               private bool InternalRemoveChild (GES.TimelineElement element)
+               {
+                       RemoveChildNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("remove_child"));
+                               unmanaged = (RemoveChildNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RemoveChildNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+                       return __result;
+               }
+
+               static UngroupNativeDelegate Ungroup_cb_delegate;
+               static UngroupNativeDelegate UngroupVMCallback {
+                       get {
+                               if (Ungroup_cb_delegate == null)
+                                       Ungroup_cb_delegate = new UngroupNativeDelegate (Ungroup_cb);
+                               return Ungroup_cb_delegate;
+                       }
+               }
+
+               static void OverrideUngroup (GLib.GType gtype)
+               {
+                       OverrideUngroup (gtype, UngroupVMCallback);
+               }
+
+               static void OverrideUngroup (GLib.GType gtype, UngroupNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("ungroup"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr UngroupNativeDelegate (IntPtr inst, bool recursive);
+
+               static IntPtr Ungroup_cb (IntPtr inst, bool recursive)
+               {
+                       try {
+                               Container __obj = GLib.Object.GetObject (inst, false) as Container;
+                               GES.Container[] __result;
+                               __result = __obj.OnUngroup (recursive);
+                               return new GLib.List(__result, typeof (GES.Container), true, true) == null ? IntPtr.Zero : new GLib.List(__result, typeof (GES.Container), true, true).Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Container), ConnectionMethod="OverrideUngroup")]
+               protected virtual GES.Container[] OnUngroup (bool recursive)
+               {
+                       return InternalUngroup (recursive);
+               }
+
+               private GES.Container[] InternalUngroup (bool recursive)
+               {
+                       UngroupNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("ungroup"));
+                               unmanaged = (UngroupNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UngroupNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, recursive);
+                       return (GES.Container[]) GLib.Marshaller.ListPtrToArray (__result, typeof(GLib.List), true, true, typeof(GES.Container));
+               }
+
+               static EditNativeDelegate Edit_cb_delegate;
+               static EditNativeDelegate EditVMCallback {
+                       get {
+                               if (Edit_cb_delegate == null)
+                                       Edit_cb_delegate = new EditNativeDelegate (Edit_cb);
+                               return Edit_cb_delegate;
+                       }
+               }
+
+               static void OverrideEdit (GLib.GType gtype)
+               {
+                       OverrideEdit (gtype, EditVMCallback);
+               }
+
+               static void OverrideEdit (GLib.GType gtype, EditNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("edit"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool EditNativeDelegate (IntPtr inst, IntPtr layers, int new_layer_priority, int mode, int edge, ulong position);
+
+               static bool Edit_cb (IntPtr inst, IntPtr layers, int new_layer_priority, int mode, int edge, ulong position)
+               {
+                       try {
+                               Container __obj = GLib.Object.GetObject (inst, false) as Container;
+                               bool __result;
+                               __result = __obj.OnEdit (new GLib.List(layers), new_layer_priority, (GES.EditMode) mode, (GES.Edge) edge, position);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Container), ConnectionMethod="OverrideEdit")]
+               protected virtual bool OnEdit (GLib.List layers, int new_layer_priority, GES.EditMode mode, GES.Edge edge, ulong position)
+               {
+                       return InternalEdit (layers, new_layer_priority, mode, edge, position);
+               }
+
+               private bool InternalEdit (GLib.List layers, int new_layer_priority, GES.EditMode mode, GES.Edge edge, ulong position)
+               {
+                       EditNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("edit"));
+                               unmanaged = (EditNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EditNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, layers == null ? IntPtr.Zero : layers.Handle, new_layer_priority, (int) mode, (int) edge, position);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("child_added"
+                                                       , GES.TimelineElement.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // child_added
+                                                       , null
+                                                       , "child_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("child_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // child_removed
+                                                       , "child_added"
+                                                       , "add_child"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("add_child"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // add_child
+                                                       , "child_removed"
+                                                       , "remove_child"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("remove_child"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // remove_child
+                                                       , "add_child"
+                                                       , "ungroup"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ungroup"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // ungroup
+                                                       , "remove_child"
+                                                       , "group"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("group"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // group
+                                                       , "ungroup"
+                                                       , "edit"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("edit"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // edit
+                                                       , "group"
+                                                       , "grouping_priority"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("grouping_priority"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // grouping_priority
+                                                       , "edit"
+                                                       , "_ges_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GESContainer_grouping_priorityAlign), "grouping_priority")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _ges_reserved
+                                                       , "grouping_priority"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESContainer_grouping_priorityAlign
+               {
+                       sbyte f1;
+                       private uint grouping_priority;
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_container_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_container_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_container_group(IntPtr containers);
+
+               public static GES.Container Group(GLib.List containers) {
+                       IntPtr raw_ret = ges_container_group(containers == null ? IntPtr.Zero : containers.Handle);
+                       GES.Container ret = GLib.Object.GetObject(raw_ret) as GES.Container;
+                       return ret;
+               }
+
+               public static GES.Container Group() {
+                       return Group (null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_container_add(IntPtr raw, IntPtr child);
+
+               public bool Add(GES.TimelineElement child) {
+                       bool raw_ret = ges_container_add(Handle, child == null ? IntPtr.Zero : child.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_container_edit(IntPtr raw, IntPtr layers, int new_layer_priority, int mode, int edge, ulong position);
+
+               public bool Edit(GLib.List layers, int new_layer_priority, GES.EditMode mode, GES.Edge edge, ulong position) {
+                       bool raw_ret = ges_container_edit(Handle, layers == null ? IntPtr.Zero : layers.Handle, new_layer_priority, (int) mode, (int) edge, position);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_container_get_children(IntPtr raw, bool recursive);
+
+               public GES.TimelineElement[] GetChildren(bool recursive) {
+                       IntPtr raw_ret = ges_container_get_children(Handle, recursive);
+                       GES.TimelineElement[] ret = (GES.TimelineElement[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.TimelineElement));
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_container_remove(IntPtr raw, IntPtr child);
+
+               public bool Remove(GES.TimelineElement child) {
+                       bool raw_ret = ges_container_remove(Handle, child == null ? IntPtr.Zero : child.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_container_ungroup(IntPtr raw, bool recursive);
+
+               public GES.Container[] Ungroup(bool recursive) {
+                       IntPtr raw_ret = ges_container_ungroup(Handle, recursive);
+                       GES.Container[] ret = (GES.Container[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.Container));
+                       return ret;
+               }
+
+
+               static Container ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("children"
+                                                       , GES.TimelineElement.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // children
+                                                       , null
+                                                       , "height"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("height"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // height
+                                                       , "children"
+                                                       , "children_control_mode"
+                                                       , (long) Marshal.OffsetOf(typeof(GESContainer_heightAlign), "height")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("children_control_mode"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(GES.ChildrenControlMode))) // children_control_mode
+                                                       , "height"
+                                                       , "initiated_move"
+                                                       , (long) Marshal.OffsetOf(typeof(GESContainer_children_control_modeAlign), "children_control_mode")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("initiated_move"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // initiated_move
+                                                       , "children_control_mode"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "initiated_move"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESContainer_heightAlign
+               {
+                       sbyte f1;
+                       private uint height;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESContainer_children_control_modeAlign
+               {
+                       sbyte f1;
+                       private GES.ChildrenControlMode children_control_mode;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_ControlBindingAddedHandler.cs b/ges/generated/GES_ControlBindingAddedHandler.cs
new file mode 100644 (file)
index 0000000..2e25793
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void ControlBindingAddedHandler(object o, ControlBindingAddedArgs args);
+
+       public class ControlBindingAddedArgs : GLib.SignalArgs {
+               public Gst.ControlBinding ControlBinding{
+                       get {
+                               return (Gst.ControlBinding) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_ControlBindingRemovedHandler.cs b/ges/generated/GES_ControlBindingRemovedHandler.cs
new file mode 100644 (file)
index 0000000..c94381a
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void ControlBindingRemovedHandler(object o, ControlBindingRemovedArgs args);
+
+       public class ControlBindingRemovedArgs : GLib.SignalArgs {
+               public Gst.ControlBinding ControlBinding{
+                       get {
+                               return (Gst.ControlBinding) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_CreateElementForGapFunc.cs b/ges/generated/GES_CreateElementForGapFunc.cs
new file mode 100644 (file)
index 0000000..4b5a903
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate Gst.Element CreateElementForGapFunc(GES.Track track);
+
+}
diff --git a/ges/generated/GES_CreateTrackElementFunc.cs b/ges/generated/GES_CreateTrackElementFunc.cs
new file mode 100644 (file)
index 0000000..0de1565
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate GES.TrackElement CreateTrackElementFunc(GES.Clip clip, GES.TrackType type);
+
+}
diff --git a/ges/generated/GES_CreateTrackElementsFunc.cs b/ges/generated/GES_CreateTrackElementsFunc.cs
new file mode 100644 (file)
index 0000000..dc46182
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate IntPtr[] CreateTrackElementsFunc(GES.Clip clip, GES.TrackType type);
+
+}
diff --git a/ges/generated/GES_DeepNotifyHandler.cs b/ges/generated/GES_DeepNotifyHandler.cs
new file mode 100644 (file)
index 0000000..81f48b5
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void DeepNotifyHandler(object o, DeepNotifyArgs args);
+
+       public class DeepNotifyArgs : GLib.SignalArgs {
+               public GLib.Object PropObject{
+                       get {
+                               return (GLib.Object) Args [0];
+                       }
+               }
+
+               public IntPtr Prop{
+                       get {
+                               return (IntPtr) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_Edge.cs b/ges/generated/GES_Edge.cs
new file mode 100644 (file)
index 0000000..e655e15
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (GES.EdgeGType))]
+       public enum Edge {
+
+               EdgeStart = 0,
+               EdgeEnd = 1,
+               EdgeNone = 2,
+       }
+
+       internal class EdgeGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_edge_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_edge_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_EditMode.cs b/ges/generated/GES_EditMode.cs
new file mode 100644 (file)
index 0000000..590efe5
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (GES.EditModeGType))]
+       public enum EditMode {
+
+               EditNormal = 0,
+               EditRipple = 1,
+               EditRoll = 2,
+               EditTrim = 3,
+               EditSlide = 4,
+       }
+
+       internal class EditModeGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_edit_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_edit_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_Effect.cs b/ges/generated/GES_Effect.cs
new file mode 100644 (file)
index 0000000..9d0a225
--- /dev/null
@@ -0,0 +1,139 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Effect : GES.BaseEffect {
+
+               public Effect (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_effect_new(IntPtr bin_description);
+
+               public Effect (string bin_description) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Effect)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("bin_description");
+                               vals.Add (new GLib.Value (bin_description));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_bin_description = GLib.Marshaller.StringToPtrGStrdup (bin_description);
+                       Raw = ges_effect_new(native_bin_description);
+                       GLib.Marshaller.Free (native_bin_description);
+               }
+
+               [GLib.Property ("bin-description")]
+               public string BinDescription {
+                       get {
+                               GLib.Value val = GetProperty ("bin-description");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("rate_properties"
+                                                       , GES.BaseEffect.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // rate_properties
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "rate_properties"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_effect_class_register_rate_property(IntPtr element_name, IntPtr property_name);
+
+               public static bool RegisterRateProperty(string element_name, string property_name) {
+                       IntPtr native_element_name = GLib.Marshaller.StringToPtrGStrdup (element_name);
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       bool raw_ret = ges_effect_class_register_rate_property(native_element_name, native_property_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_element_name);
+                       GLib.Marshaller.Free (native_property_name);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_effect_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_effect_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static Effect ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.BaseEffect.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_EffectAsset.cs b/ges/generated/GES_EffectAsset.cs
new file mode 100644 (file)
index 0000000..4aa0a5b
--- /dev/null
@@ -0,0 +1,39 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class EffectAsset : GES.TrackElementAsset {
+
+               public EffectAsset (IntPtr raw) : base(raw) {}
+
+               protected EffectAsset() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_effect_asset_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_effect_asset_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static EffectAsset ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/ges/generated/GES_EffectClip.cs b/ges/generated/GES_EffectClip.cs
new file mode 100644 (file)
index 0000000..6c254a2
--- /dev/null
@@ -0,0 +1,132 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class EffectClip : GES.BaseEffectClip {
+
+               public EffectClip (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_effect_clip_new(IntPtr video_bin_description, IntPtr audio_bin_description);
+
+               public EffectClip (string video_bin_description, string audio_bin_description) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (EffectClip)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("video_bin_description");
+                               vals.Add (new GLib.Value (video_bin_description));
+                               names.Add ("audio_bin_description");
+                               vals.Add (new GLib.Value (audio_bin_description));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_video_bin_description = GLib.Marshaller.StringToPtrGStrdup (video_bin_description);
+                       IntPtr native_audio_bin_description = GLib.Marshaller.StringToPtrGStrdup (audio_bin_description);
+                       Raw = ges_effect_clip_new(native_video_bin_description, native_audio_bin_description);
+                       GLib.Marshaller.Free (native_video_bin_description);
+                       GLib.Marshaller.Free (native_audio_bin_description);
+               }
+
+               [GLib.Property ("audio-bin-description")]
+               public string AudioBinDescription {
+                       get {
+                               GLib.Value val = GetProperty ("audio-bin-description");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("video-bin-description")]
+               public string VideoBinDescription {
+                       get {
+                               GLib.Value val = GetProperty ("video-bin-description");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.BaseEffectClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_effect_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_effect_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static EffectClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.BaseEffectClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_Error.cs b/ges/generated/GES_Error.cs
new file mode 100644 (file)
index 0000000..4bb96c6
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum Error {
+
+               AssetWrongId = 0,
+               AssetLoading = 1,
+               FormatterMalformedInputFile = 2,
+       }
+#endregion
+}
diff --git a/ges/generated/GES_ExtractableAdapter.cs b/ges/generated/GES_ExtractableAdapter.cs
new file mode 100644 (file)
index 0000000..62838aa
--- /dev/null
@@ -0,0 +1,191 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ExtractableAdapter : GLib.GInterfaceAdapter, GES.IExtractable {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GESExtractableInterface {
+                       public GLib.GType AssetType;
+                       private GESSharp.ExtractableCheckIdNative _check_id;
+                       public GES.ExtractableCheckId CheckId {
+                               get {
+                                       return GESSharp.ExtractableCheckIdWrapper.GetManagedDelegate (_check_id);
+                               }
+                       }
+                       public bool CanUpdateAsset;
+                       public SetAssetNativeDelegate SetAsset;
+                       IntPtr SetAssetFull;
+                       IntPtr GetParametersFromId;
+                       public GetIdNativeDelegate GetId;
+                       IntPtr GetRealExtractableType;
+                       IntPtr RegisterMetas;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+                       public IntPtr[] _gesGesReserved;
+               }
+
+               static GESExtractableInterface iface;
+
+               static ExtractableAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (ExtractableAdapter));
+                       iface.SetAsset = new SetAssetNativeDelegate (SetAsset_cb);
+                       iface.GetId = new GetIdNativeDelegate (GetId_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SetAssetNativeDelegate (IntPtr inst, IntPtr asset);
+
+               static void SetAsset_cb (IntPtr inst, IntPtr asset)
+               {
+                       try {
+                               IExtractableImplementor __obj = GLib.Object.GetObject (inst, false) as IExtractableImplementor;
+                               __obj.Asset = GLib.Object.GetObject(asset) as GES.Asset;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetIdNativeDelegate (IntPtr inst);
+
+               static IntPtr GetId_cb (IntPtr inst)
+               {
+                       try {
+                               IExtractableImplementor __obj = GLib.Object.GetObject (inst, false) as IExtractableImplementor;
+                               string __result;
+                               __result = __obj.Id;
+                               return GLib.Marshaller.StringToPtrGStrdup(__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GESExtractableInterface native_iface = (GESExtractableInterface) Marshal.PtrToStructure (ifaceptr, typeof (GESExtractableInterface));
+                       native_iface.SetAsset = iface.SetAsset;
+                       native_iface.GetId = iface.GetId;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public ExtractableAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public ExtractableAdapter (IExtractableImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public ExtractableAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (ges_extractable_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IExtractable GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IExtractable GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IExtractableImplementor)
+                               return new ExtractableAdapter (obj as IExtractableImplementor);
+                       else if (obj as IExtractable == null)
+                               return new ExtractableAdapter (obj.Handle);
+                       else
+                               return obj as IExtractable;
+               }
+
+               public IExtractableImplementor Implementor {
+                       get {
+                               return implementor as IExtractableImplementor;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_asset(IntPtr raw);
+
+               public GES.Asset Asset { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_asset(Handle);
+                               GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_id(IntPtr raw);
+
+               public string Id { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_id(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_extractable_set_asset(IntPtr raw, IntPtr asset);
+
+               public bool SetAsset(GES.Asset asset) {
+                       bool raw_ret = ges_extractable_set_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_ExtractableCheckId.cs b/ges/generated/GES_ExtractableCheckId.cs
new file mode 100644 (file)
index 0000000..59529e4
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate string ExtractableCheckId(GLib.GType type, string id);
+
+}
diff --git a/ges/generated/GES_FillTrackElementFunc.cs b/ges/generated/GES_FillTrackElementFunc.cs
new file mode 100644 (file)
index 0000000..bfa1237
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate bool FillTrackElementFunc(GES.Clip clip, GES.TrackElement track_element, Gst.Element nleobj);
+
+}
diff --git a/ges/generated/GES_Formatter.cs b/ges/generated/GES_Formatter.cs
new file mode 100644 (file)
index 0000000..29acdc0
--- /dev/null
@@ -0,0 +1,306 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Formatter : GLib.InitiallyUnowned, GES.IExtractable {
+
+               protected Formatter (IntPtr raw) : base(raw) {}
+
+               protected Formatter() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("can_load_uri"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // can_load_uri
+                                                       , null
+                                                       , "load_from_uri"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("load_from_uri"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // load_from_uri
+                                                       , "can_load_uri"
+                                                       , "save_to_uri"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("save_to_uri"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // save_to_uri
+                                                       , "load_from_uri"
+                                                       , "name"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("name"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // name
+                                                       , "save_to_uri"
+                                                       , "description"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("description"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // description
+                                                       , "name"
+                                                       , "extension"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("extension"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // extension
+                                                       , "description"
+                                                       , "mimetype"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mimetype"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mimetype
+                                                       , "extension"
+                                                       , "version"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("version"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(double)) // version
+                                                       , "mimetype"
+                                                       , "rank"
+                                                       , (long) Marshal.OffsetOf(typeof(GESFormatter_versionAlign), "version")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("rank"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Rank))) // rank
+                                                       , "version"
+                                                       , "_ges_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GESFormatter_rankAlign), "rank")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "rank"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESFormatter_versionAlign
+               {
+                       sbyte f1;
+                       private double version;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESFormatter_rankAlign
+               {
+                       sbyte f1;
+                       private Gst.Rank rank;
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_formatter_class_register_metas(IntPtr name, IntPtr description, IntPtr extension, IntPtr mimetype, double version, int rank);
+
+               public static void RegisterMetas(string name, string description, string extension, string mimetype, double version, Gst.Rank rank) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+                       IntPtr native_extension = GLib.Marshaller.StringToPtrGStrdup (extension);
+                       IntPtr native_mimetype = GLib.Marshaller.StringToPtrGStrdup (mimetype);
+                       ges_formatter_class_register_metas(native_name, native_description, native_extension, native_mimetype, version, (int) rank);
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_description);
+                       GLib.Marshaller.Free (native_extension);
+                       GLib.Marshaller.Free (native_mimetype);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_formatter_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_formatter_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_formatter_can_load_uri(IntPtr uri, out IntPtr error);
+
+               public static unsafe bool CanLoadUri(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_formatter_can_load_uri(native_uri, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_formatter_can_save_uri(IntPtr uri, out IntPtr error);
+
+               public static unsafe bool CanSaveUri(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_formatter_can_save_uri(native_uri, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_formatter_get_default();
+
+               public static GES.Asset Default { 
+                       get {
+                               IntPtr raw_ret = ges_formatter_get_default();
+                               GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_formatter_load_from_uri(IntPtr raw, IntPtr timeline, IntPtr uri, out IntPtr error);
+
+               public unsafe bool LoadFromUri(GES.Timeline timeline, string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_formatter_load_from_uri(Handle, timeline == null ? IntPtr.Zero : timeline.Handle, native_uri, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_formatter_save_to_uri(IntPtr raw, IntPtr timeline, IntPtr uri, bool overwrite, out IntPtr error);
+
+               public unsafe bool SaveToUri(GES.Timeline timeline, string uri, bool overwrite) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_formatter_save_to_uri(Handle, timeline == null ? IntPtr.Zero : timeline.Handle, native_uri, overwrite, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_asset(IntPtr raw);
+
+               public GES.Asset Asset { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_asset(Handle);
+                               GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_id(IntPtr raw);
+
+               public string Id { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_id(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_extractable_set_asset(IntPtr raw, IntPtr asset);
+
+               public bool SetAsset(GES.Asset asset) {
+                       bool raw_ret = ges_extractable_set_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               static Formatter ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GLib.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "project"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("project"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // project
+                                                       , "priv"
+                                                       , "timeline"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("timeline"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // timeline
+                                                       , "project"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "timeline"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_FormatterCanLoadURIMethod.cs b/ges/generated/GES_FormatterCanLoadURIMethod.cs
new file mode 100644 (file)
index 0000000..617d104
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate bool FormatterCanLoadURIMethod(GES.Formatter dummy_instance, string uri);
+
+}
diff --git a/ges/generated/GES_FormatterLoadFromURIMethod.cs b/ges/generated/GES_FormatterLoadFromURIMethod.cs
new file mode 100644 (file)
index 0000000..ef142af
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate bool FormatterLoadFromURIMethod(GES.Formatter formatter, GES.Timeline timeline, string uri);
+
+}
diff --git a/ges/generated/GES_FormatterSaveToURIMethod.cs b/ges/generated/GES_FormatterSaveToURIMethod.cs
new file mode 100644 (file)
index 0000000..8601227
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate bool FormatterSaveToURIMethod(GES.Formatter formatter, GES.Timeline timeline, string uri, bool overwrite);
+
+}
diff --git a/ges/generated/GES_GESSharp.CreateElementForGapFuncNative.cs b/ges/generated/GES_GESSharp.CreateElementForGapFuncNative.cs
new file mode 100644 (file)
index 0000000..5e6613f
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr CreateElementForGapFuncNative(IntPtr track);
+
+       internal class CreateElementForGapFuncInvoker {
+
+               CreateElementForGapFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CreateElementForGapFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CreateElementForGapFuncInvoker (CreateElementForGapFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CreateElementForGapFuncInvoker (CreateElementForGapFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CreateElementForGapFuncInvoker (CreateElementForGapFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.CreateElementForGapFunc Handler {
+                       get {
+                               return new GES.CreateElementForGapFunc(InvokeNative);
+                       }
+               }
+
+               Gst.Element InvokeNative (GES.Track track)
+               {
+                       Gst.Element __result = GLib.Object.GetObject(native_cb (track == null ? IntPtr.Zero : track.Handle)) as Gst.Element;
+                       return __result;
+               }
+       }
+
+       internal class CreateElementForGapFuncWrapper {
+
+               public IntPtr NativeCallback (IntPtr track)
+               {
+                       try {
+                               Gst.Element __ret = managed (GLib.Object.GetObject(track) as GES.Track);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret == null ? IntPtr.Zero : __ret.Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CreateElementForGapFuncNative NativeDelegate;
+               GES.CreateElementForGapFunc managed;
+
+               public CreateElementForGapFuncWrapper (GES.CreateElementForGapFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CreateElementForGapFuncNative (NativeCallback);
+               }
+
+               public static GES.CreateElementForGapFunc GetManagedDelegate (CreateElementForGapFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CreateElementForGapFuncWrapper wrapper = (CreateElementForGapFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_GESSharp.CreateTrackElementFuncNative.cs b/ges/generated/GES_GESSharp.CreateTrackElementFuncNative.cs
new file mode 100644 (file)
index 0000000..650be8d
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr CreateTrackElementFuncNative(IntPtr clip, int type);
+
+       internal class CreateTrackElementFuncInvoker {
+
+               CreateTrackElementFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CreateTrackElementFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CreateTrackElementFuncInvoker (CreateTrackElementFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CreateTrackElementFuncInvoker (CreateTrackElementFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CreateTrackElementFuncInvoker (CreateTrackElementFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.CreateTrackElementFunc Handler {
+                       get {
+                               return new GES.CreateTrackElementFunc(InvokeNative);
+                       }
+               }
+
+               GES.TrackElement InvokeNative (GES.Clip clip, GES.TrackType type)
+               {
+                       GES.TrackElement __result = GLib.Object.GetObject(native_cb (clip == null ? IntPtr.Zero : clip.Handle, (int) type)) as GES.TrackElement;
+                       return __result;
+               }
+       }
+
+       internal class CreateTrackElementFuncWrapper {
+
+               public IntPtr NativeCallback (IntPtr clip, int type)
+               {
+                       try {
+                               GES.TrackElement __ret = managed (GLib.Object.GetObject(clip) as GES.Clip, (GES.TrackType) type);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret == null ? IntPtr.Zero : __ret.Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CreateTrackElementFuncNative NativeDelegate;
+               GES.CreateTrackElementFunc managed;
+
+               public CreateTrackElementFuncWrapper (GES.CreateTrackElementFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CreateTrackElementFuncNative (NativeCallback);
+               }
+
+               public static GES.CreateTrackElementFunc GetManagedDelegate (CreateTrackElementFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CreateTrackElementFuncWrapper wrapper = (CreateTrackElementFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_GESSharp.CreateTrackElementsFuncNative.cs b/ges/generated/GES_GESSharp.CreateTrackElementsFuncNative.cs
new file mode 100644 (file)
index 0000000..7d4edfa
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr CreateTrackElementsFuncNative(IntPtr clip, int type);
+
+       internal class CreateTrackElementsFuncInvoker {
+
+               CreateTrackElementsFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CreateTrackElementsFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CreateTrackElementsFuncInvoker (CreateTrackElementsFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CreateTrackElementsFuncInvoker (CreateTrackElementsFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CreateTrackElementsFuncInvoker (CreateTrackElementsFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.CreateTrackElementsFunc Handler {
+                       get {
+                               return new GES.CreateTrackElementsFunc(InvokeNative);
+                       }
+               }
+
+               IntPtr[] InvokeNative (GES.Clip clip, GES.TrackType type)
+               {
+                       IntPtr[] __result = (IntPtr[]) GLib.Marshaller.ListPtrToArray (native_cb (clip == null ? IntPtr.Zero : clip.Handle, (int) type), typeof(GLib.List), false, false, typeof(IntPtr));
+                       return __result;
+               }
+       }
+
+       internal class CreateTrackElementsFuncWrapper {
+
+               public IntPtr NativeCallback (IntPtr clip, int type)
+               {
+                       try {
+                               IntPtr[] __ret = managed (GLib.Object.GetObject(clip) as GES.Clip, (GES.TrackType) type);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return new GLib.List(__ret, typeof (IntPtr), false, false) == null ? IntPtr.Zero : new GLib.List(__ret, typeof (IntPtr), false, false).Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CreateTrackElementsFuncNative NativeDelegate;
+               GES.CreateTrackElementsFunc managed;
+
+               public CreateTrackElementsFuncWrapper (GES.CreateTrackElementsFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CreateTrackElementsFuncNative (NativeCallback);
+               }
+
+               public static GES.CreateTrackElementsFunc GetManagedDelegate (CreateTrackElementsFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CreateTrackElementsFuncWrapper wrapper = (CreateTrackElementsFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_GESSharp.ExtractableCheckIdNative.cs b/ges/generated/GES_GESSharp.ExtractableCheckIdNative.cs
new file mode 100644 (file)
index 0000000..1fa1667
--- /dev/null
@@ -0,0 +1,101 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr ExtractableCheckIdNative(IntPtr type, IntPtr id, out IntPtr error);
+
+       internal class ExtractableCheckIdInvoker {
+
+               ExtractableCheckIdNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ExtractableCheckIdInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ExtractableCheckIdInvoker (ExtractableCheckIdNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ExtractableCheckIdInvoker (ExtractableCheckIdNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ExtractableCheckIdInvoker (ExtractableCheckIdNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.ExtractableCheckId Handler {
+                       get {
+                               return new GES.ExtractableCheckId(InvokeNative);
+                       }
+               }
+
+               string InvokeNative (GLib.GType type, string id)
+               {
+                       IntPtr native_id = GLib.Marshaller.StringToPtrGStrdup (id);
+                       IntPtr error = IntPtr.Zero;
+                       string __result = GLib.Marshaller.PtrToStringGFree(native_cb (type.Val, native_id, out error));
+                       GLib.Marshaller.Free (native_id);
+                       return __result;
+               }
+       }
+
+       internal class ExtractableCheckIdWrapper {
+
+               public IntPtr NativeCallback (IntPtr type, IntPtr id, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               string __ret = managed (new GLib.GType(type), GLib.Marshaller.Utf8PtrToString (id));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return GLib.Marshaller.StringToPtrGStrdup(__ret);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ExtractableCheckIdNative NativeDelegate;
+               GES.ExtractableCheckId managed;
+
+               public ExtractableCheckIdWrapper (GES.ExtractableCheckId managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ExtractableCheckIdNative (NativeCallback);
+               }
+
+               public static GES.ExtractableCheckId GetManagedDelegate (ExtractableCheckIdNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ExtractableCheckIdWrapper wrapper = (ExtractableCheckIdWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_GESSharp.FillTrackElementFuncNative.cs b/ges/generated/GES_GESSharp.FillTrackElementFuncNative.cs
new file mode 100644 (file)
index 0000000..575df8e
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool FillTrackElementFuncNative(IntPtr clip, IntPtr track_element, IntPtr nleobj);
+
+       internal class FillTrackElementFuncInvoker {
+
+               FillTrackElementFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~FillTrackElementFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal FillTrackElementFuncInvoker (FillTrackElementFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal FillTrackElementFuncInvoker (FillTrackElementFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal FillTrackElementFuncInvoker (FillTrackElementFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.FillTrackElementFunc Handler {
+                       get {
+                               return new GES.FillTrackElementFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (GES.Clip clip, GES.TrackElement track_element, Gst.Element nleobj)
+               {
+                       bool __result = native_cb (clip == null ? IntPtr.Zero : clip.Handle, track_element == null ? IntPtr.Zero : track_element.Handle, nleobj == null ? IntPtr.Zero : nleobj.Handle);
+                       return __result;
+               }
+       }
+
+       internal class FillTrackElementFuncWrapper {
+
+               public bool NativeCallback (IntPtr clip, IntPtr track_element, IntPtr nleobj)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(clip) as GES.Clip, GLib.Object.GetObject(track_element) as GES.TrackElement, GLib.Object.GetObject(nleobj) as Gst.Element);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal FillTrackElementFuncNative NativeDelegate;
+               GES.FillTrackElementFunc managed;
+
+               public FillTrackElementFuncWrapper (GES.FillTrackElementFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new FillTrackElementFuncNative (NativeCallback);
+               }
+
+               public static GES.FillTrackElementFunc GetManagedDelegate (FillTrackElementFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       FillTrackElementFuncWrapper wrapper = (FillTrackElementFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_GESSharp.FormatterCanLoadURIMethodNative.cs b/ges/generated/GES_GESSharp.FormatterCanLoadURIMethodNative.cs
new file mode 100644 (file)
index 0000000..659458d
--- /dev/null
@@ -0,0 +1,100 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool FormatterCanLoadURIMethodNative(IntPtr dummy_instance, IntPtr uri, out IntPtr error);
+
+       internal class FormatterCanLoadURIMethodInvoker {
+
+               FormatterCanLoadURIMethodNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~FormatterCanLoadURIMethodInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal FormatterCanLoadURIMethodInvoker (FormatterCanLoadURIMethodNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal FormatterCanLoadURIMethodInvoker (FormatterCanLoadURIMethodNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal FormatterCanLoadURIMethodInvoker (FormatterCanLoadURIMethodNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.FormatterCanLoadURIMethod Handler {
+                       get {
+                               return new GES.FormatterCanLoadURIMethod(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (GES.Formatter dummy_instance, string uri)
+               {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool __result = native_cb (dummy_instance == null ? IntPtr.Zero : dummy_instance.Handle, native_uri, out error);
+                       GLib.Marshaller.Free (native_uri);
+                       return __result;
+               }
+       }
+
+       internal class FormatterCanLoadURIMethodWrapper {
+
+               public bool NativeCallback (IntPtr dummy_instance, IntPtr uri, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(dummy_instance) as GES.Formatter, GLib.Marshaller.Utf8PtrToString (uri));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal FormatterCanLoadURIMethodNative NativeDelegate;
+               GES.FormatterCanLoadURIMethod managed;
+
+               public FormatterCanLoadURIMethodWrapper (GES.FormatterCanLoadURIMethod managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new FormatterCanLoadURIMethodNative (NativeCallback);
+               }
+
+               public static GES.FormatterCanLoadURIMethod GetManagedDelegate (FormatterCanLoadURIMethodNative native)
+               {
+                       if (native == null)
+                               return null;
+                       FormatterCanLoadURIMethodWrapper wrapper = (FormatterCanLoadURIMethodWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_GESSharp.FormatterLoadFromURIMethodNative.cs b/ges/generated/GES_GESSharp.FormatterLoadFromURIMethodNative.cs
new file mode 100644 (file)
index 0000000..61b19dc
--- /dev/null
@@ -0,0 +1,100 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool FormatterLoadFromURIMethodNative(IntPtr formatter, IntPtr timeline, IntPtr uri, out IntPtr error);
+
+       internal class FormatterLoadFromURIMethodInvoker {
+
+               FormatterLoadFromURIMethodNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~FormatterLoadFromURIMethodInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal FormatterLoadFromURIMethodInvoker (FormatterLoadFromURIMethodNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal FormatterLoadFromURIMethodInvoker (FormatterLoadFromURIMethodNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal FormatterLoadFromURIMethodInvoker (FormatterLoadFromURIMethodNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.FormatterLoadFromURIMethod Handler {
+                       get {
+                               return new GES.FormatterLoadFromURIMethod(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (GES.Formatter formatter, GES.Timeline timeline, string uri)
+               {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool __result = native_cb (formatter == null ? IntPtr.Zero : formatter.Handle, timeline == null ? IntPtr.Zero : timeline.Handle, native_uri, out error);
+                       GLib.Marshaller.Free (native_uri);
+                       return __result;
+               }
+       }
+
+       internal class FormatterLoadFromURIMethodWrapper {
+
+               public bool NativeCallback (IntPtr formatter, IntPtr timeline, IntPtr uri, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(formatter) as GES.Formatter, GLib.Object.GetObject(timeline) as GES.Timeline, GLib.Marshaller.Utf8PtrToString (uri));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal FormatterLoadFromURIMethodNative NativeDelegate;
+               GES.FormatterLoadFromURIMethod managed;
+
+               public FormatterLoadFromURIMethodWrapper (GES.FormatterLoadFromURIMethod managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new FormatterLoadFromURIMethodNative (NativeCallback);
+               }
+
+               public static GES.FormatterLoadFromURIMethod GetManagedDelegate (FormatterLoadFromURIMethodNative native)
+               {
+                       if (native == null)
+                               return null;
+                       FormatterLoadFromURIMethodWrapper wrapper = (FormatterLoadFromURIMethodWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_GESSharp.FormatterSaveToURIMethodNative.cs b/ges/generated/GES_GESSharp.FormatterSaveToURIMethodNative.cs
new file mode 100644 (file)
index 0000000..3d85392
--- /dev/null
@@ -0,0 +1,100 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool FormatterSaveToURIMethodNative(IntPtr formatter, IntPtr timeline, IntPtr uri, bool overwrite, out IntPtr error);
+
+       internal class FormatterSaveToURIMethodInvoker {
+
+               FormatterSaveToURIMethodNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~FormatterSaveToURIMethodInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal FormatterSaveToURIMethodInvoker (FormatterSaveToURIMethodNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal FormatterSaveToURIMethodInvoker (FormatterSaveToURIMethodNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal FormatterSaveToURIMethodInvoker (FormatterSaveToURIMethodNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.FormatterSaveToURIMethod Handler {
+                       get {
+                               return new GES.FormatterSaveToURIMethod(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (GES.Formatter formatter, GES.Timeline timeline, string uri, bool overwrite)
+               {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool __result = native_cb (formatter == null ? IntPtr.Zero : formatter.Handle, timeline == null ? IntPtr.Zero : timeline.Handle, native_uri, overwrite, out error);
+                       GLib.Marshaller.Free (native_uri);
+                       return __result;
+               }
+       }
+
+       internal class FormatterSaveToURIMethodWrapper {
+
+               public bool NativeCallback (IntPtr formatter, IntPtr timeline, IntPtr uri, bool overwrite, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(formatter) as GES.Formatter, GLib.Object.GetObject(timeline) as GES.Timeline, GLib.Marshaller.Utf8PtrToString (uri), overwrite);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal FormatterSaveToURIMethodNative NativeDelegate;
+               GES.FormatterSaveToURIMethod managed;
+
+               public FormatterSaveToURIMethodWrapper (GES.FormatterSaveToURIMethod managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new FormatterSaveToURIMethodNative (NativeCallback);
+               }
+
+               public static GES.FormatterSaveToURIMethod GetManagedDelegate (FormatterSaveToURIMethodNative native)
+               {
+                       if (native == null)
+                               return null;
+                       FormatterSaveToURIMethodWrapper wrapper = (FormatterSaveToURIMethodWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_GESSharp.MetaForeachFuncNative.cs b/ges/generated/GES_GESSharp.MetaForeachFuncNative.cs
new file mode 100644 (file)
index 0000000..b13ca17
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GESSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void MetaForeachFuncNative(IntPtr container, IntPtr key, IntPtr value, IntPtr user_data);
+
+       internal class MetaForeachFuncInvoker {
+
+               MetaForeachFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MetaForeachFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MetaForeachFuncInvoker (MetaForeachFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MetaForeachFuncInvoker (MetaForeachFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MetaForeachFuncInvoker (MetaForeachFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GES.MetaForeachFunc Handler {
+                       get {
+                               return new GES.MetaForeachFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (GES.IMetaContainer container, string key, GLib.Value value)
+               {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       native_cb (container == null ? IntPtr.Zero : ((container is GLib.Object) ? (container as GLib.Object).Handle : (container as GES.MetaContainerAdapter).Handle), native_key, native_value, __data);
+                       GLib.Marshaller.Free (native_key);
+                       Marshal.FreeHGlobal (native_value);
+               }
+       }
+
+       internal class MetaForeachFuncWrapper {
+
+               public void NativeCallback (IntPtr container, IntPtr key, IntPtr value, IntPtr user_data)
+               {
+                       try {
+                               managed (GES.MetaContainerAdapter.GetObject (container, false), GLib.Marshaller.Utf8PtrToString (key), (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MetaForeachFuncNative NativeDelegate;
+               GES.MetaForeachFunc managed;
+
+               public MetaForeachFuncWrapper (GES.MetaForeachFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MetaForeachFuncNative (NativeCallback);
+               }
+
+               public static GES.MetaForeachFunc GetManagedDelegate (MetaForeachFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MetaForeachFuncWrapper wrapper = (MetaForeachFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_Global.cs b/ges/generated/GES_Global.cs
new file mode 100644 (file)
index 0000000..84e993e
--- /dev/null
@@ -0,0 +1,112 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_add_missing_uri_relocation_uri(IntPtr uri, bool recurse);
+
+               public static bool AddMissingUriRelocationUri(string uri, bool recurse) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       bool raw_ret = ges_add_missing_uri_relocation_uri(native_uri, recurse);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_deinit();
+
+               public static void Deinit() {
+                       ges_deinit();
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_init();
+
+               public static bool Init() {
+                       bool raw_ret = ges_init();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_list_assets(IntPtr filter);
+
+               public static GES.Asset[] ListAssets(GLib.GType filter) {
+                       IntPtr raw_ret = ges_list_assets(filter.Val);
+                       GES.Asset[] ret = (GES.Asset[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, true, typeof(GES.Asset));
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_play_sink_convert_frame(IntPtr playsink, IntPtr caps);
+
+               public static Gst.Sample PlaySinkConvertFrame(Gst.Element playsink, Gst.Caps caps) {
+                       IntPtr raw_ret = ges_play_sink_convert_frame(playsink == null ? IntPtr.Zero : playsink.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_pspec_equal(IntPtr key_spec_1, IntPtr key_spec_2);
+
+               public static bool PspecEqual(IntPtr key_spec_1, IntPtr key_spec_2) {
+                       bool raw_ret = ges_pspec_equal(key_spec_1, key_spec_2);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public static bool PspecEqual() {
+                       return PspecEqual (IntPtr.Zero, IntPtr.Zero);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_pspec_hash(IntPtr key_spec);
+
+               public static uint PspecHash(IntPtr key_spec) {
+                       uint raw_ret = ges_pspec_hash(key_spec);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               public static uint PspecHash() {
+                       return PspecHash (IntPtr.Zero);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_type_name(int type);
+
+               public static string TrackTypeName(GES.TrackType type) {
+                       IntPtr raw_ret = ges_track_type_name((int) type);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_validate_register_action_types();
+
+               public static bool ValidateRegisterActionTypes() {
+                       bool raw_ret = ges_validate_register_action_types();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_version(out uint major, out uint minor, out uint micro, out uint nano);
+
+               public static void Version(out uint major, out uint minor, out uint micro, out uint nano) {
+                       ges_version(out major, out minor, out micro, out nano);
+               }
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_Group.cs b/ges/generated/GES_Group.cs
new file mode 100644 (file)
index 0000000..723bc77
--- /dev/null
@@ -0,0 +1,177 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Group : GES.Container {
+
+               public Group (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_group_new();
+
+               public Group () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Group)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_group_new();
+               }
+
+               [GLib.Property ("duration")]
+               public new ulong Duration {
+                       get {
+                               GLib.Value val = GetProperty ("duration");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("duration", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("in-point")]
+               public new ulong InPoint {
+                       get {
+                               GLib.Value val = GetProperty ("in-point");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("in-point", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("max-duration")]
+               public new ulong MaxDuration {
+                       get {
+                               GLib.Value val = GetProperty ("max-duration");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("max-duration", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("priority")]
+               public new uint Priority {
+                       get {
+                               GLib.Value val = GetProperty ("priority");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("priority", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("start")]
+               public new ulong Start {
+                       get {
+                               GLib.Value val = GetProperty ("start");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("start", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Container.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_group_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_group_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static Group ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Container.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_GroupAddedHandler.cs b/ges/generated/GES_GroupAddedHandler.cs
new file mode 100644 (file)
index 0000000..da0c424
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void GroupAddedHandler(object o, GroupAddedArgs args);
+
+       public class GroupAddedArgs : GLib.SignalArgs {
+               public GES.Group Group{
+                       get {
+                               return (GES.Group) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_IExtractable.cs b/ges/generated/GES_IExtractable.cs
new file mode 100644 (file)
index 0000000..ad6e0d0
--- /dev/null
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IExtractable : GLib.IWrapper {
+
+               GES.Asset Asset { 
+                       get;
+               }
+               string Id { 
+                       get;
+               }
+               bool SetAsset(GES.Asset asset);
+       }
+
+       [GLib.GInterface (typeof (ExtractableAdapter))]
+       public partial interface IExtractableImplementor : GLib.IWrapper {
+
+               GES.Asset Asset { set; }
+               string Id { get; }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_IMetaContainer.cs b/ges/generated/GES_IMetaContainer.cs
new file mode 100644 (file)
index 0000000..37c67ca
--- /dev/null
@@ -0,0 +1,53 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IMetaContainer : GLib.IWrapper {
+
+               event GES.NotifyMetaHandler NotifyMeta;
+               bool AddMetasFromString(string str);
+               bool CheckMetaRegistered(string meta_item, GES.MetaFlag flags, GLib.GType type);
+               void Foreach(GES.MetaForeachFunc func);
+               bool GetBoolean(string meta_item, out bool dest);
+               bool GetDateTime(string meta_item, out Gst.DateTime dest);
+               bool GetDouble(string meta_item, out double dest);
+               bool GetFloat(string meta_item, out float dest);
+               bool GetInt(string meta_item, out int dest);
+               bool GetInt64(string meta_item, out long dest);
+               GLib.Value GetMeta(string key);
+               string GetString(string meta_item);
+               bool GetUint(string meta_item, out uint dest);
+               bool GetUint64(string meta_item, out ulong dest);
+               string MetasToString();
+               bool RegisterMeta(GES.MetaFlag flags, string meta_item, GLib.Value value);
+               bool RegisterMetaBoolean(GES.MetaFlag flags, string meta_item, bool value);
+               bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item, Gst.DateTime value);
+               bool RegisterMetaDouble(GES.MetaFlag flags, string meta_item, double value);
+               bool RegisterMetaFloat(GES.MetaFlag flags, string meta_item, float value);
+               bool RegisterMetaInt(GES.MetaFlag flags, string meta_item, int value);
+               bool RegisterMetaInt64(GES.MetaFlag flags, string meta_item, long value);
+               bool RegisterMetaString(GES.MetaFlag flags, string meta_item, string value);
+               bool RegisterMetaUint(GES.MetaFlag flags, string meta_item, uint value);
+               bool RegisterMetaUint64(GES.MetaFlag flags, string meta_item, ulong value);
+               bool SetBoolean(string meta_item, bool value);
+               bool SetDateTime(string meta_item, Gst.DateTime value);
+               bool SetDouble(string meta_item, double value);
+               bool SetFloat(string meta_item, float value);
+               bool SetInt(string meta_item, int value);
+               bool SetInt64(string meta_item, long value);
+               bool SetMeta(string meta_item, GLib.Value value);
+               bool SetString(string meta_item, string value);
+               bool SetUint(string meta_item, uint value);
+               bool SetUint64(string meta_item, ulong value);
+       }
+
+       [GLib.GInterface (typeof (MetaContainerAdapter))]
+       public partial interface IMetaContainerImplementor : GLib.IWrapper {
+
+       }
+#endregion
+}
diff --git a/ges/generated/GES_ImageSource.cs b/ges/generated/GES_ImageSource.cs
new file mode 100644 (file)
index 0000000..662694a
--- /dev/null
@@ -0,0 +1,113 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ImageSource : GES.VideoSource {
+
+               public ImageSource (IntPtr raw) : base(raw) {}
+
+               protected ImageSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("uri")]
+               public string Uri {
+                       get {
+                               GLib.Value val = GetProperty ("uri");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.VideoSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_image_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_image_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static ImageSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("uri"
+                                                       , GES.VideoSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // uri
+                                                       , null
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "uri"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_Layer.cs b/ges/generated/GES_Layer.cs
new file mode 100644 (file)
index 0000000..4026ae3
--- /dev/null
@@ -0,0 +1,1017 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Layer : GLib.InitiallyUnowned, GES.IExtractable, GES.IMetaContainer {
+
+               public Layer (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_layer_new();
+
+               public Layer () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Layer)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_layer_new();
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_layer_get_auto_transition(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_layer_set_auto_transition(IntPtr raw, bool auto_transition);
+
+               [GLib.Property ("auto-transition")]
+               public bool AutoTransition {
+                       get  {
+                               bool raw_ret = ges_layer_get_auto_transition(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_layer_set_auto_transition(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_layer_get_priority(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_layer_set_priority(IntPtr raw, uint priority);
+
+               [GLib.Property ("priority")]
+               public uint Priority {
+                       get  {
+                               uint raw_ret = ges_layer_get_priority(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_layer_set_priority(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_layer_get_timeline(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_layer_set_timeline(IntPtr raw, IntPtr timeline);
+
+               public GES.Timeline Timeline {
+                       get  {
+                               IntPtr raw_ret = ges_layer_get_timeline(Handle);
+                               GES.Timeline ret = GLib.Object.GetObject(raw_ret) as GES.Timeline;
+                               return ret;
+                       }
+                       set  {
+                               ges_layer_set_timeline(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               public uint MinNlePriority {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("min_nle_priority"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public uint MaxNlePriority {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("max_nle_priority"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               [GLib.Signal("clip-added")]
+               public event GES.ClipAddedHandler ClipAdded {
+                       add {
+                               this.AddSignalHandler ("clip-added", value, typeof (GES.ClipAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("clip-added", value);
+                       }
+               }
+
+               [GLib.Signal("clip-removed")]
+               public event GES.ClipRemovedHandler ClipRemoved {
+                       add {
+                               this.AddSignalHandler ("clip-removed", value, typeof (GES.ClipRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("clip-removed", value);
+                       }
+               }
+
+               static ClipAddedNativeDelegate ClipAdded_cb_delegate;
+               static ClipAddedNativeDelegate ClipAddedVMCallback {
+                       get {
+                               if (ClipAdded_cb_delegate == null)
+                                       ClipAdded_cb_delegate = new ClipAddedNativeDelegate (ClipAdded_cb);
+                               return ClipAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideClipAdded (GLib.GType gtype)
+               {
+                       OverrideClipAdded (gtype, ClipAddedVMCallback);
+               }
+
+               static void OverrideClipAdded (GLib.GType gtype, ClipAddedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "clip-added", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ClipAddedNativeDelegate (IntPtr inst, IntPtr clip);
+
+               static void ClipAdded_cb (IntPtr inst, IntPtr clip)
+               {
+                       try {
+                               Layer __obj = GLib.Object.GetObject (inst, false) as Layer;
+                               __obj.OnClipAdded (GLib.Object.GetObject(clip) as GES.Clip);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Layer), ConnectionMethod="OverrideClipAdded")]
+               protected virtual void OnClipAdded (GES.Clip clip)
+               {
+                       InternalClipAdded (clip);
+               }
+
+               private void InternalClipAdded (GES.Clip clip)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (clip);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ClipRemovedNativeDelegate ClipRemoved_cb_delegate;
+               static ClipRemovedNativeDelegate ClipRemovedVMCallback {
+                       get {
+                               if (ClipRemoved_cb_delegate == null)
+                                       ClipRemoved_cb_delegate = new ClipRemovedNativeDelegate (ClipRemoved_cb);
+                               return ClipRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideClipRemoved (GLib.GType gtype)
+               {
+                       OverrideClipRemoved (gtype, ClipRemovedVMCallback);
+               }
+
+               static void OverrideClipRemoved (GLib.GType gtype, ClipRemovedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "clip-removed", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ClipRemovedNativeDelegate (IntPtr inst, IntPtr clip);
+
+               static void ClipRemoved_cb (IntPtr inst, IntPtr clip)
+               {
+                       try {
+                               Layer __obj = GLib.Object.GetObject (inst, false) as Layer;
+                               __obj.OnClipRemoved (GLib.Object.GetObject(clip) as GES.Clip);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Layer), ConnectionMethod="OverrideClipRemoved")]
+               protected virtual void OnClipRemoved (GES.Clip clip)
+               {
+                       InternalClipRemoved (clip);
+               }
+
+               private void InternalClipRemoved (GES.Clip clip)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (clip);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ObjectAddedNativeDelegate ObjectAdded_cb_delegate;
+               static ObjectAddedNativeDelegate ObjectAddedVMCallback {
+                       get {
+                               if (ObjectAdded_cb_delegate == null)
+                                       ObjectAdded_cb_delegate = new ObjectAddedNativeDelegate (ObjectAdded_cb);
+                               return ObjectAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideObjectAdded (GLib.GType gtype)
+               {
+                       OverrideObjectAdded (gtype, ObjectAddedVMCallback);
+               }
+
+               static void OverrideObjectAdded (GLib.GType gtype, ObjectAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("object_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ObjectAddedNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void ObjectAdded_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               Layer __obj = GLib.Object.GetObject (inst, false) as Layer;
+                               __obj.OnObjectAdded (GLib.Object.GetObject(_object) as GES.Clip);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Layer), ConnectionMethod="OverrideObjectAdded")]
+               protected virtual void OnObjectAdded (GES.Clip _object)
+               {
+                       InternalObjectAdded (_object);
+               }
+
+               private void InternalObjectAdded (GES.Clip _object)
+               {
+                       ObjectAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("object_added"));
+                               unmanaged = (ObjectAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ObjectAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.Handle);
+               }
+
+               static ObjectRemovedNativeDelegate ObjectRemoved_cb_delegate;
+               static ObjectRemovedNativeDelegate ObjectRemovedVMCallback {
+                       get {
+                               if (ObjectRemoved_cb_delegate == null)
+                                       ObjectRemoved_cb_delegate = new ObjectRemovedNativeDelegate (ObjectRemoved_cb);
+                               return ObjectRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideObjectRemoved (GLib.GType gtype)
+               {
+                       OverrideObjectRemoved (gtype, ObjectRemovedVMCallback);
+               }
+
+               static void OverrideObjectRemoved (GLib.GType gtype, ObjectRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("object_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ObjectRemovedNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void ObjectRemoved_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               Layer __obj = GLib.Object.GetObject (inst, false) as Layer;
+                               __obj.OnObjectRemoved (GLib.Object.GetObject(_object) as GES.Clip);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Layer), ConnectionMethod="OverrideObjectRemoved")]
+               protected virtual void OnObjectRemoved (GES.Clip _object)
+               {
+                       InternalObjectRemoved (_object);
+               }
+
+               private void InternalObjectRemoved (GES.Clip _object)
+               {
+                       ObjectRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("object_removed"));
+                               unmanaged = (ObjectRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ObjectRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("get_objects"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_objects
+                                                       , null
+                                                       , "object_added"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("object_added"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // object_added
+                                                       , "get_objects"
+                                                       , "object_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("object_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // object_removed
+                                                       , "object_added"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "object_removed"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_layer_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_layer_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_layer_add_asset(IntPtr raw, IntPtr asset, ulong start, ulong inpoint, ulong duration, int track_types);
+
+               public GES.Clip AddAsset(GES.Asset asset, ulong start, ulong inpoint, ulong duration, GES.TrackType track_types) {
+                       IntPtr raw_ret = ges_layer_add_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle, start, inpoint, duration, (int) track_types);
+                       GES.Clip ret = GLib.Object.GetObject(raw_ret) as GES.Clip;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_layer_add_clip(IntPtr raw, IntPtr clip);
+
+               public bool AddClip(GES.Clip clip) {
+                       bool raw_ret = ges_layer_add_clip(Handle, clip == null ? IntPtr.Zero : clip.OwnedHandle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_layer_get_clips(IntPtr raw);
+
+               public GES.Clip[] Clips { 
+                       get {
+                               IntPtr raw_ret = ges_layer_get_clips(Handle);
+                               GES.Clip[] ret = (GES.Clip[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.Clip));
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_layer_get_clips_in_interval(IntPtr raw, ulong start, ulong end);
+
+               public GES.Clip[] GetClipsInInterval(ulong start, ulong end) {
+                       IntPtr raw_ret = ges_layer_get_clips_in_interval(Handle, start, end);
+                       GES.Clip[] ret = (GES.Clip[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.Clip));
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong ges_layer_get_duration(IntPtr raw);
+
+               public ulong Duration { 
+                       get {
+                               ulong raw_ret = ges_layer_get_duration(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_layer_is_empty(IntPtr raw);
+
+               public bool IsEmpty { 
+                       get {
+                               bool raw_ret = ges_layer_is_empty(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_layer_remove_clip(IntPtr raw, IntPtr clip);
+
+               public bool RemoveClip(GES.Clip clip) {
+                       bool raw_ret = ges_layer_remove_clip(Handle, clip == null ? IntPtr.Zero : clip.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_asset(IntPtr raw);
+
+               public GES.Asset Asset { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_asset(Handle);
+                               GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_id(IntPtr raw);
+
+               public string Id { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_id(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_extractable_set_asset(IntPtr raw, IntPtr asset);
+
+               public bool SetAsset(GES.Asset asset) {
+                       bool raw_ret = ges_extractable_set_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_add_metas_from_string(IntPtr raw, IntPtr str);
+
+               public bool AddMetasFromString(string str) {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       bool raw_ret = ges_meta_container_add_metas_from_string(Handle, native_str);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_str);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_check_meta_registered(IntPtr raw, IntPtr meta_item, int flags, IntPtr type);
+
+               public bool CheckMetaRegistered(string meta_item, GES.MetaFlag flags, GLib.GType type) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, (int) flags, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_meta_container_foreach(IntPtr raw, GESSharp.MetaForeachFuncNative func, IntPtr user_data);
+
+               public void Foreach(GES.MetaForeachFunc func) {
+                       GESSharp.MetaForeachFuncWrapper func_wrapper = new GESSharp.MetaForeachFuncWrapper (func);
+                       ges_meta_container_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_boolean(IntPtr raw, IntPtr meta_item, out bool dest);
+
+               public bool GetBoolean(string meta_item, out bool dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_boolean(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_date_time(IntPtr raw, IntPtr meta_item, out IntPtr dest);
+
+               public bool GetDateTime(string meta_item, out Gst.DateTime dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_dest;
+                       bool raw_ret = ges_meta_container_get_date_time(Handle, native_meta_item, out native_dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       dest = native_dest == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_dest, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_double(IntPtr raw, IntPtr meta_item, out double dest);
+
+               public bool GetDouble(string meta_item, out double dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_double(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_float(IntPtr raw, IntPtr meta_item, out float dest);
+
+               public bool GetFloat(string meta_item, out float dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_float(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int(IntPtr raw, IntPtr meta_item, out int dest);
+
+               public bool GetInt(string meta_item, out int dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int64(IntPtr raw, IntPtr meta_item, out long dest);
+
+               public bool GetInt64(string meta_item, out long dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_meta(IntPtr raw, IntPtr key);
+
+               public GLib.Value GetMeta(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = ges_meta_container_get_meta(Handle, native_key);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_string(IntPtr raw, IntPtr meta_item);
+
+               public string GetString(string meta_item) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr raw_ret = ges_meta_container_get_string(Handle, native_meta_item);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint(IntPtr raw, IntPtr meta_item, out uint dest);
+
+               public bool GetUint(string meta_item, out uint dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint64(IntPtr raw, IntPtr meta_item, out ulong dest);
+
+               public bool GetUint64(string meta_item, out ulong dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_metas_to_string(IntPtr raw);
+
+               public string MetasToString() {
+                       IntPtr raw_ret = ges_meta_container_metas_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMeta(GES.MetaFlag flags, string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_register_meta(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_boolean(IntPtr raw, int flags, IntPtr meta_item, bool value);
+
+               public bool RegisterMetaBoolean(GES.MetaFlag flags, string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_boolean(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_date_time(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_date_time(Handle, (int) flags, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaDateTime (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_double(IntPtr raw, int flags, IntPtr meta_item, double value);
+
+               public bool RegisterMetaDouble(GES.MetaFlag flags, string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_double(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_float(IntPtr raw, int flags, IntPtr meta_item, float value);
+
+               public bool RegisterMetaFloat(GES.MetaFlag flags, string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_float(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int(IntPtr raw, int flags, IntPtr meta_item, int value);
+
+               public bool RegisterMetaInt(GES.MetaFlag flags, string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int64(IntPtr raw, int flags, IntPtr meta_item, long value);
+
+               public bool RegisterMetaInt64(GES.MetaFlag flags, string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_string(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_register_meta_string(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaString (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint(IntPtr raw, int flags, IntPtr meta_item, uint value);
+
+               public bool RegisterMetaUint(GES.MetaFlag flags, string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint64(IntPtr raw, int flags, IntPtr meta_item, ulong value);
+
+               public bool RegisterMetaUint64(GES.MetaFlag flags, string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_boolean(IntPtr raw, IntPtr meta_item, bool value);
+
+               public bool SetBoolean(string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_boolean(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_date_time(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetDateTime(string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_date_time(Handle, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_double(IntPtr raw, IntPtr meta_item, double value);
+
+               public bool SetDouble(string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_double(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_float(IntPtr raw, IntPtr meta_item, float value);
+
+               public bool SetFloat(string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_float(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int(IntPtr raw, IntPtr meta_item, int value);
+
+               public bool SetInt(string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int64(IntPtr raw, IntPtr meta_item, long value);
+
+               public bool SetInt64(string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_meta(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetMeta(string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_set_meta(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string meta_item) {
+                       return SetMeta (meta_item, GLib.Value.Empty);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_string(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetString(string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_set_string(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint(IntPtr raw, IntPtr meta_item, uint value);
+
+               public bool SetUint(string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint64(IntPtr raw, IntPtr meta_item, ulong value);
+
+               public bool SetUint64(string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [GLib.Signal("notify-meta")]
+               public event GES.NotifyMetaHandler NotifyMeta {
+                       add {
+                               this.AddSignalHandler ("notify-meta", value, typeof (GES.NotifyMetaArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("notify-meta", value);
+                       }
+               }
+
+               static NotifyMetaNativeDelegate NotifyMeta_cb_delegate;
+               static NotifyMetaNativeDelegate NotifyMetaVMCallback {
+                       get {
+                               if (NotifyMeta_cb_delegate == null)
+                                       NotifyMeta_cb_delegate = new NotifyMetaNativeDelegate (NotifyMeta_cb);
+                               return NotifyMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype)
+               {
+                       OverrideNotifyMeta (gtype, NotifyMetaVMCallback);
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype, NotifyMetaNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "notify-meta", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NotifyMetaNativeDelegate (IntPtr inst, IntPtr _object, IntPtr p0);
+
+               static void NotifyMeta_cb (IntPtr inst, IntPtr _object, IntPtr p0)
+               {
+                       try {
+                               GES.Layer __obj = GLib.Object.GetObject (inst, false) as GES.Layer;
+                               __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (_object), (GLib.Value) Marshal.PtrToStructure (p0, typeof (GLib.Value)));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Layer), ConnectionMethod="OverrideNotifyMeta")]
+               protected virtual void OnNotifyMeta (string _object, GLib.Value p0)
+               {
+                       InternalNotifyMeta (_object, p0);
+               }
+
+               private void InternalNotifyMeta (string _object, GLib.Value p0)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+                       GLib.Value[] vals = new GLib.Value [3];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (p0);
+                       inst_and_params.Append (vals [2]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               static Layer ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("timeline"
+                                                       , GLib.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // timeline
+                                                       , null
+                                                       , "min_nle_priority"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("min_nle_priority"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // min_nle_priority
+                                                       , "timeline"
+                                                       , "max_nle_priority"
+                                                       , (long) Marshal.OffsetOf(typeof(GESLayer_min_nle_priorityAlign), "min_nle_priority")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("max_nle_priority"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // max_nle_priority
+                                                       , "min_nle_priority"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GESLayer_max_nle_priorityAlign), "max_nle_priority")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "max_nle_priority"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESLayer_min_nle_priorityAlign
+               {
+                       sbyte f1;
+                       private uint min_nle_priority;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESLayer_max_nle_priorityAlign
+               {
+                       sbyte f1;
+                       private uint max_nle_priority;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_LayerAddedHandler.cs b/ges/generated/GES_LayerAddedHandler.cs
new file mode 100644 (file)
index 0000000..d324cd1
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void LayerAddedHandler(object o, LayerAddedArgs args);
+
+       public class LayerAddedArgs : GLib.SignalArgs {
+               public GES.Layer Layer{
+                       get {
+                               return (GES.Layer) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_LayerRemovedHandler.cs b/ges/generated/GES_LayerRemovedHandler.cs
new file mode 100644 (file)
index 0000000..a190710
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void LayerRemovedHandler(object o, LayerRemovedArgs args);
+
+       public class LayerRemovedArgs : GLib.SignalArgs {
+               public GES.Layer Layer{
+                       get {
+                               return (GES.Layer) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_LoadedHandler.cs b/ges/generated/GES_LoadedHandler.cs
new file mode 100644 (file)
index 0000000..15b56b1
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void LoadedHandler(object o, LoadedArgs args);
+
+       public class LoadedArgs : GLib.SignalArgs {
+               public GES.Timeline Timeline{
+                       get {
+                               return (GES.Timeline) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_MetaContainerAdapter.cs b/ges/generated/GES_MetaContainerAdapter.cs
new file mode 100644 (file)
index 0000000..df5c440
--- /dev/null
@@ -0,0 +1,508 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class MetaContainerAdapter : GLib.GInterfaceAdapter, GES.IMetaContainer {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GESMetaContainerInterface {
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+                       public IntPtr[] _gesGesReserved;
+               }
+
+               static GESMetaContainerInterface iface;
+
+               static MetaContainerAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (MetaContainerAdapter));
+               }
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+               }
+
+               GLib.Object implementor;
+
+               public MetaContainerAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public MetaContainerAdapter (IMetaContainerImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public MetaContainerAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (ges_meta_container_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IMetaContainer GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IMetaContainer GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IMetaContainerImplementor)
+                               return new MetaContainerAdapter (obj as IMetaContainerImplementor);
+                       else if (obj as IMetaContainer == null)
+                               return new MetaContainerAdapter (obj.Handle);
+                       else
+                               return obj as IMetaContainer;
+               }
+
+               public IMetaContainerImplementor Implementor {
+                       get {
+                               return implementor as IMetaContainerImplementor;
+                       }
+               }
+
+               [GLib.Signal("notify-meta")]
+               public event GES.NotifyMetaHandler NotifyMeta {
+                       add {
+                               GLib.Object.GetObject (Handle).AddSignalHandler ("notify-meta", value, typeof (GES.NotifyMetaArgs));
+                       }
+                       remove {
+                               GLib.Object.GetObject (Handle).RemoveSignalHandler ("notify-meta", value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_add_metas_from_string(IntPtr raw, IntPtr str);
+
+               public bool AddMetasFromString(string str) {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       bool raw_ret = ges_meta_container_add_metas_from_string(Handle, native_str);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_str);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_check_meta_registered(IntPtr raw, IntPtr meta_item, int flags, IntPtr type);
+
+               public bool CheckMetaRegistered(string meta_item, GES.MetaFlag flags, GLib.GType type) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, (int) flags, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_meta_container_foreach(IntPtr raw, GESSharp.MetaForeachFuncNative func, IntPtr user_data);
+
+               public void Foreach(GES.MetaForeachFunc func) {
+                       GESSharp.MetaForeachFuncWrapper func_wrapper = new GESSharp.MetaForeachFuncWrapper (func);
+                       ges_meta_container_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_boolean(IntPtr raw, IntPtr meta_item, out bool dest);
+
+               public bool GetBoolean(string meta_item, out bool dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_boolean(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_date_time(IntPtr raw, IntPtr meta_item, out IntPtr dest);
+
+               public bool GetDateTime(string meta_item, out Gst.DateTime dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_dest;
+                       bool raw_ret = ges_meta_container_get_date_time(Handle, native_meta_item, out native_dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       dest = native_dest == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_dest, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_double(IntPtr raw, IntPtr meta_item, out double dest);
+
+               public bool GetDouble(string meta_item, out double dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_double(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_float(IntPtr raw, IntPtr meta_item, out float dest);
+
+               public bool GetFloat(string meta_item, out float dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_float(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int(IntPtr raw, IntPtr meta_item, out int dest);
+
+               public bool GetInt(string meta_item, out int dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int64(IntPtr raw, IntPtr meta_item, out long dest);
+
+               public bool GetInt64(string meta_item, out long dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_meta(IntPtr raw, IntPtr key);
+
+               public GLib.Value GetMeta(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = ges_meta_container_get_meta(Handle, native_key);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_string(IntPtr raw, IntPtr meta_item);
+
+               public string GetString(string meta_item) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr raw_ret = ges_meta_container_get_string(Handle, native_meta_item);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint(IntPtr raw, IntPtr meta_item, out uint dest);
+
+               public bool GetUint(string meta_item, out uint dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint64(IntPtr raw, IntPtr meta_item, out ulong dest);
+
+               public bool GetUint64(string meta_item, out ulong dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_metas_to_string(IntPtr raw);
+
+               public string MetasToString() {
+                       IntPtr raw_ret = ges_meta_container_metas_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMeta(GES.MetaFlag flags, string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_register_meta(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_boolean(IntPtr raw, int flags, IntPtr meta_item, bool value);
+
+               public bool RegisterMetaBoolean(GES.MetaFlag flags, string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_boolean(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_date_time(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_date_time(Handle, (int) flags, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaDateTime (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_double(IntPtr raw, int flags, IntPtr meta_item, double value);
+
+               public bool RegisterMetaDouble(GES.MetaFlag flags, string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_double(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_float(IntPtr raw, int flags, IntPtr meta_item, float value);
+
+               public bool RegisterMetaFloat(GES.MetaFlag flags, string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_float(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int(IntPtr raw, int flags, IntPtr meta_item, int value);
+
+               public bool RegisterMetaInt(GES.MetaFlag flags, string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int64(IntPtr raw, int flags, IntPtr meta_item, long value);
+
+               public bool RegisterMetaInt64(GES.MetaFlag flags, string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_string(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_register_meta_string(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaString (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint(IntPtr raw, int flags, IntPtr meta_item, uint value);
+
+               public bool RegisterMetaUint(GES.MetaFlag flags, string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint64(IntPtr raw, int flags, IntPtr meta_item, ulong value);
+
+               public bool RegisterMetaUint64(GES.MetaFlag flags, string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_boolean(IntPtr raw, IntPtr meta_item, bool value);
+
+               public bool SetBoolean(string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_boolean(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_date_time(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetDateTime(string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_date_time(Handle, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_double(IntPtr raw, IntPtr meta_item, double value);
+
+               public bool SetDouble(string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_double(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_float(IntPtr raw, IntPtr meta_item, float value);
+
+               public bool SetFloat(string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_float(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int(IntPtr raw, IntPtr meta_item, int value);
+
+               public bool SetInt(string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int64(IntPtr raw, IntPtr meta_item, long value);
+
+               public bool SetInt64(string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_meta(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetMeta(string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_set_meta(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string meta_item) {
+                       return SetMeta (meta_item, GLib.Value.Empty);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_string(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetString(string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_set_string(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint(IntPtr raw, IntPtr meta_item, uint value);
+
+               public bool SetUint(string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint64(IntPtr raw, IntPtr meta_item, ulong value);
+
+               public bool SetUint64(string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_MetaFlag.cs b/ges/generated/GES_MetaFlag.cs
new file mode 100644 (file)
index 0000000..b43d31b
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (GES.MetaFlagGType))]
+       public enum MetaFlag {
+
+               Readable = 1,
+               Writable = 2,
+               Readwrite = 3,
+       }
+
+       internal class MetaFlagGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_flag_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_meta_flag_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_MetaForeachFunc.cs b/ges/generated/GES_MetaForeachFunc.cs
new file mode 100644 (file)
index 0000000..aa1ae5b
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void MetaForeachFunc(GES.IMetaContainer container, string key, GLib.Value value);
+
+}
diff --git a/ges/generated/GES_MultiFileSource.cs b/ges/generated/GES_MultiFileSource.cs
new file mode 100644 (file)
index 0000000..5133221
--- /dev/null
@@ -0,0 +1,126 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class MultiFileSource : GES.VideoSource {
+
+               public MultiFileSource (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_multi_file_source_new(IntPtr uri);
+
+               public MultiFileSource (string uri) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (MultiFileSource)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("uri");
+                               vals.Add (new GLib.Value (uri));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       Raw = ges_multi_file_source_new(native_uri);
+                       GLib.Marshaller.Free (native_uri);
+               }
+
+               [GLib.Property ("uri")]
+               public string Uri {
+                       get {
+                               GLib.Value val = GetProperty ("uri");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.VideoSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_multi_file_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_multi_file_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static MultiFileSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("uri"
+                                                       , GES.VideoSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // uri
+                                                       , null
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "uri"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_NotifyMetaHandler.cs b/ges/generated/GES_NotifyMetaHandler.cs
new file mode 100644 (file)
index 0000000..3d01846
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void NotifyMetaHandler(object o, NotifyMetaArgs args);
+
+       public class NotifyMetaArgs : GLib.SignalArgs {
+               public string Object{
+                       get {
+                               return (string) Args [0];
+                       }
+               }
+
+               public GLib.Value P0{
+                       get {
+                               return (GLib.Value) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_Operation.cs b/ges/generated/GES_Operation.cs
new file mode 100644 (file)
index 0000000..cd00ac3
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Operation : GES.TrackElement {
+
+               protected Operation (IntPtr raw) : base(raw) {}
+
+               protected Operation() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.TrackElement.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_operation_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_operation_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static Operation ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.TrackElement.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_OperationClip.cs b/ges/generated/GES_OperationClip.cs
new file mode 100644 (file)
index 0000000..869d836
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class OperationClip : GES.Clip {
+
+               protected OperationClip (IntPtr raw) : base(raw) {}
+
+               protected OperationClip() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Clip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_operation_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_operation_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static OperationClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Clip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_OverlayClip.cs b/ges/generated/GES_OverlayClip.cs
new file mode 100644 (file)
index 0000000..3e94c81
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class OverlayClip : GES.OperationClip {
+
+               protected OverlayClip (IntPtr raw) : base(raw) {}
+
+               protected OverlayClip() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.OperationClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_overlay_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_overlay_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static OverlayClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.OperationClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_Pipeline.cs b/ges/generated/GES_Pipeline.cs
new file mode 100644 (file)
index 0000000..64cea89
--- /dev/null
@@ -0,0 +1,334 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Pipeline : Gst.Pipeline, Gst.Video.IVideoOverlay {
+
+               public Pipeline (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pipeline_new();
+
+               public Pipeline () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Pipeline)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_pipeline_new();
+               }
+
+               [GLib.Property ("audio-filter")]
+               public Gst.Element AudioFilter {
+                       get {
+                               GLib.Value val = GetProperty ("audio-filter");
+                               Gst.Element ret = (Gst.Element) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("audio-filter", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("audio-sink")]
+               public Gst.Element AudioSink {
+                       get {
+                               GLib.Value val = GetProperty ("audio-sink");
+                               Gst.Element ret = (Gst.Element) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("audio-sink", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_pipeline_get_mode(IntPtr raw);
+
+               [GLib.Property ("mode")]
+               public GES.PipelineFlags Mode {
+                       get  {
+                               int raw_ret = ges_pipeline_get_mode(Handle);
+                               GES.PipelineFlags ret = (GES.PipelineFlags) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("mode", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("timeline")]
+               public GES.Timeline Timeline {
+                       get {
+                               GLib.Value val = GetProperty ("timeline");
+                               GES.Timeline ret = (GES.Timeline) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("timeline", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("video-filter")]
+               public Gst.Element VideoFilter {
+                       get {
+                               GLib.Value val = GetProperty ("video-filter");
+                               Gst.Element ret = (Gst.Element) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("video-filter", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("video-sink")]
+               public Gst.Element VideoSink {
+                       get {
+                               GLib.Value val = GetProperty ("video-sink");
+                               Gst.Element ret = (Gst.Element) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("video-sink", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , Gst.Pipeline.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pipeline_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_pipeline_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pipeline_get_thumbnail(IntPtr raw, IntPtr caps);
+
+               public Gst.Sample GetThumbnail(Gst.Caps caps) {
+                       IntPtr raw_ret = ges_pipeline_get_thumbnail(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pipeline_get_thumbnail_rgb24(IntPtr raw, int width, int height);
+
+               public Gst.Sample GetThumbnailRgb24(int width, int height) {
+                       IntPtr raw_ret = ges_pipeline_get_thumbnail_rgb24(Handle, width, height);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pipeline_preview_get_audio_sink(IntPtr raw);
+
+               public Gst.Element PreviewGetAudioSink() {
+                       IntPtr raw_ret = ges_pipeline_preview_get_audio_sink(Handle);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pipeline_preview_get_video_sink(IntPtr raw);
+
+               public Gst.Element PreviewGetVideoSink() {
+                       IntPtr raw_ret = ges_pipeline_preview_get_video_sink(Handle);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_pipeline_preview_set_audio_sink(IntPtr raw, IntPtr sink);
+
+               public void PreviewSetAudioSink(Gst.Element sink) {
+                       ges_pipeline_preview_set_audio_sink(Handle, sink == null ? IntPtr.Zero : sink.Handle);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_pipeline_preview_set_video_sink(IntPtr raw, IntPtr sink);
+
+               public void PreviewSetVideoSink(Gst.Element sink) {
+                       ges_pipeline_preview_set_video_sink(Handle, sink == null ? IntPtr.Zero : sink.Handle);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_pipeline_save_thumbnail(IntPtr raw, int width, int height, IntPtr format, IntPtr location, out IntPtr error);
+
+               public unsafe bool SaveThumbnail(int width, int height, string format, string location) {
+                       IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+                       IntPtr native_location = GLib.Marshaller.StringToPtrGStrdup (location);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_pipeline_save_thumbnail(Handle, width, height, native_format, native_location, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_format);
+                       GLib.Marshaller.Free (native_location);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_pipeline_set_mode(IntPtr raw, int mode);
+
+               public bool SetMode(GES.PipelineFlags mode) {
+                       bool raw_ret = ges_pipeline_set_mode(Handle, (int) mode);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_pipeline_set_render_settings(IntPtr raw, IntPtr output_uri, IntPtr profile);
+
+               public bool SetRenderSettings(string output_uri, Gst.PbUtils.EncodingProfile profile) {
+                       IntPtr native_output_uri = GLib.Marshaller.StringToPtrGStrdup (output_uri);
+                       bool raw_ret = ges_pipeline_set_render_settings(Handle, native_output_uri, profile == null ? IntPtr.Zero : profile.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_output_uri);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_pipeline_set_timeline(IntPtr raw, IntPtr timeline);
+
+               public bool SetTimeline(GES.Timeline timeline) {
+                       bool raw_ret = ges_pipeline_set_timeline(Handle, timeline == null ? IntPtr.Zero : timeline.OwnedHandle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_expose(IntPtr raw);
+
+               public void Expose() {
+                       gst_video_overlay_expose(Handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_got_window_handle(IntPtr raw, IntPtr handle);
+
+               public void GotWindowHandle(IntPtr handle) {
+                       gst_video_overlay_got_window_handle(Handle, handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_handle_events(IntPtr raw, bool handle_events);
+
+               public void HandleEvents(bool handle_events) {
+                       gst_video_overlay_handle_events(Handle, handle_events);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_prepare_window_handle(IntPtr raw);
+
+               public void PrepareWindowHandle() {
+                       gst_video_overlay_prepare_window_handle(Handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_overlay_set_render_rectangle(IntPtr raw, int x, int y, int width, int height);
+
+               public bool SetRenderRectangle(int x, int y, int width, int height) {
+                       bool raw_ret = gst_video_overlay_set_render_rectangle(Handle, x, y, width, height);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_set_window_handle(IntPtr raw, IntPtr handle);
+
+               public IntPtr WindowHandle { 
+                       set {
+                               gst_video_overlay_set_window_handle(Handle, value);
+                       }
+               }
+
+
+               static Pipeline ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Pipeline.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_PipelineFlags.cs b/ges/generated/GES_PipelineFlags.cs
new file mode 100644 (file)
index 0000000..c33d5c1
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (GES.PipelineFlagsGType))]
+       public enum PipelineFlags {
+
+               AudioPreview = 1,
+               VideoPreview = 2,
+               FullPreview = 3,
+               Render = 4,
+               SmartRender = 8,
+       }
+
+       internal class PipelineFlagsGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pipeline_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_pipeline_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_PitiviFormatter.cs b/ges/generated/GES_PitiviFormatter.cs
new file mode 100644 (file)
index 0000000..a1b2c13
--- /dev/null
@@ -0,0 +1,102 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class PitiviFormatter : GES.Formatter {
+
+               public PitiviFormatter (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pitivi_formatter_new();
+
+               public PitiviFormatter () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (PitiviFormatter)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_pitivi_formatter_new();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Formatter.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_pitivi_formatter_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_pitivi_formatter_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static PitiviFormatter ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Formatter.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_Project.cs b/ges/generated/GES_Project.cs
new file mode 100644 (file)
index 0000000..b58d8b7
--- /dev/null
@@ -0,0 +1,538 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Project : GES.Asset {
+
+               public Project (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_project_new(IntPtr uri);
+
+               public Project (string uri) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Project)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("uri");
+                               vals.Add (new GLib.Value (uri));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       Raw = ges_project_new(native_uri);
+                       GLib.Marshaller.Free (native_uri);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_project_get_uri(IntPtr raw);
+
+               [GLib.Property ("uri")]
+               public string Uri {
+                       get  {
+                               IntPtr raw_ret = ges_project_get_uri(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [GLib.Signal("asset-removed")]
+               public event GES.AssetRemovedHandler AssetRemoved {
+                       add {
+                               this.AddSignalHandler ("asset-removed", value, typeof (GES.AssetRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("asset-removed", value);
+                       }
+               }
+
+               [GLib.Signal("loaded")]
+               public event GES.LoadedHandler Loaded {
+                       add {
+                               this.AddSignalHandler ("loaded", value, typeof (GES.LoadedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("loaded", value);
+                       }
+               }
+
+               [GLib.Signal("asset-added")]
+               public event GES.AssetAddedHandler AssetAdded {
+                       add {
+                               this.AddSignalHandler ("asset-added", value, typeof (GES.AssetAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("asset-added", value);
+                       }
+               }
+
+               [GLib.Signal("asset-loading")]
+               public event GES.AssetLoadingHandler AssetLoading {
+                       add {
+                               this.AddSignalHandler ("asset-loading", value, typeof (GES.AssetLoadingArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("asset-loading", value);
+                       }
+               }
+
+               static AssetAddedNativeDelegate AssetAdded_cb_delegate;
+               static AssetAddedNativeDelegate AssetAddedVMCallback {
+                       get {
+                               if (AssetAdded_cb_delegate == null)
+                                       AssetAdded_cb_delegate = new AssetAddedNativeDelegate (AssetAdded_cb);
+                               return AssetAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideAssetAdded (GLib.GType gtype)
+               {
+                       OverrideAssetAdded (gtype, AssetAddedVMCallback);
+               }
+
+               static void OverrideAssetAdded (GLib.GType gtype, AssetAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("asset_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void AssetAddedNativeDelegate (IntPtr inst, IntPtr asset);
+
+               static void AssetAdded_cb (IntPtr inst, IntPtr asset)
+               {
+                       try {
+                               Project __obj = GLib.Object.GetObject (inst, false) as Project;
+                               __obj.OnAssetAdded (GLib.Object.GetObject(asset) as GES.Asset);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Project), ConnectionMethod="OverrideAssetAdded")]
+               protected virtual void OnAssetAdded (GES.Asset asset)
+               {
+                       InternalAssetAdded (asset);
+               }
+
+               private void InternalAssetAdded (GES.Asset asset)
+               {
+                       AssetAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("asset_added"));
+                               unmanaged = (AssetAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AssetAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, asset == null ? IntPtr.Zero : asset.Handle);
+               }
+
+               static AssetLoadingNativeDelegate AssetLoading_cb_delegate;
+               static AssetLoadingNativeDelegate AssetLoadingVMCallback {
+                       get {
+                               if (AssetLoading_cb_delegate == null)
+                                       AssetLoading_cb_delegate = new AssetLoadingNativeDelegate (AssetLoading_cb);
+                               return AssetLoading_cb_delegate;
+                       }
+               }
+
+               static void OverrideAssetLoading (GLib.GType gtype)
+               {
+                       OverrideAssetLoading (gtype, AssetLoadingVMCallback);
+               }
+
+               static void OverrideAssetLoading (GLib.GType gtype, AssetLoadingNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("asset_loading"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void AssetLoadingNativeDelegate (IntPtr inst, IntPtr asset);
+
+               static void AssetLoading_cb (IntPtr inst, IntPtr asset)
+               {
+                       try {
+                               Project __obj = GLib.Object.GetObject (inst, false) as Project;
+                               __obj.OnAssetLoading (GLib.Object.GetObject(asset) as GES.Asset);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Project), ConnectionMethod="OverrideAssetLoading")]
+               protected virtual void OnAssetLoading (GES.Asset asset)
+               {
+                       InternalAssetLoading (asset);
+               }
+
+               private void InternalAssetLoading (GES.Asset asset)
+               {
+                       AssetLoadingNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("asset_loading"));
+                               unmanaged = (AssetLoadingNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AssetLoadingNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, asset == null ? IntPtr.Zero : asset.Handle);
+               }
+
+               static AssetRemovedNativeDelegate AssetRemoved_cb_delegate;
+               static AssetRemovedNativeDelegate AssetRemovedVMCallback {
+                       get {
+                               if (AssetRemoved_cb_delegate == null)
+                                       AssetRemoved_cb_delegate = new AssetRemovedNativeDelegate (AssetRemoved_cb);
+                               return AssetRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideAssetRemoved (GLib.GType gtype)
+               {
+                       OverrideAssetRemoved (gtype, AssetRemovedVMCallback);
+               }
+
+               static void OverrideAssetRemoved (GLib.GType gtype, AssetRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("asset_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void AssetRemovedNativeDelegate (IntPtr inst, IntPtr asset);
+
+               static void AssetRemoved_cb (IntPtr inst, IntPtr asset)
+               {
+                       try {
+                               Project __obj = GLib.Object.GetObject (inst, false) as Project;
+                               __obj.OnAssetRemoved (GLib.Object.GetObject(asset) as GES.Asset);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Project), ConnectionMethod="OverrideAssetRemoved")]
+               protected virtual void OnAssetRemoved (GES.Asset asset)
+               {
+                       InternalAssetRemoved (asset);
+               }
+
+               private void InternalAssetRemoved (GES.Asset asset)
+               {
+                       AssetRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("asset_removed"));
+                               unmanaged = (AssetRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AssetRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, asset == null ? IntPtr.Zero : asset.Handle);
+               }
+
+               static LoadedNativeDelegate Loaded_cb_delegate;
+               static LoadedNativeDelegate LoadedVMCallback {
+                       get {
+                               if (Loaded_cb_delegate == null)
+                                       Loaded_cb_delegate = new LoadedNativeDelegate (Loaded_cb);
+                               return Loaded_cb_delegate;
+                       }
+               }
+
+               static void OverrideLoaded (GLib.GType gtype)
+               {
+                       OverrideLoaded (gtype, LoadedVMCallback);
+               }
+
+               static void OverrideLoaded (GLib.GType gtype, LoadedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("loaded"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void LoadedNativeDelegate (IntPtr inst, IntPtr timeline);
+
+               static void Loaded_cb (IntPtr inst, IntPtr timeline)
+               {
+                       try {
+                               Project __obj = GLib.Object.GetObject (inst, false) as Project;
+                               __obj.OnLoaded (GLib.Object.GetObject(timeline) as GES.Timeline);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Project), ConnectionMethod="OverrideLoaded")]
+               protected virtual void OnLoaded (GES.Timeline timeline)
+               {
+                       InternalLoaded (timeline);
+               }
+
+               private void InternalLoaded (GES.Timeline timeline)
+               {
+                       LoadedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("loaded"));
+                               unmanaged = (LoadedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(LoadedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, timeline == null ? IntPtr.Zero : timeline.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("asset_added"
+                                                       , GES.Asset.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // asset_added
+                                                       , null
+                                                       , "asset_loading"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("asset_loading"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // asset_loading
+                                                       , "asset_added"
+                                                       , "asset_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("asset_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // asset_removed
+                                                       , "asset_loading"
+                                                       , "missing_uri"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("missing_uri"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // missing_uri
+                                                       , "asset_removed"
+                                                       , "loading_error"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("loading_error"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // loading_error
+                                                       , "missing_uri"
+                                                       , "loaded"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("loaded"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // loaded
+                                                       , "loading_error"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "loaded"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_project_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_project_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_project_add_asset(IntPtr raw, IntPtr asset);
+
+               public bool AddAsset(GES.Asset asset) {
+                       bool raw_ret = ges_project_add_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_project_add_encoding_profile(IntPtr raw, IntPtr profile);
+
+               public bool AddEncodingProfile(Gst.PbUtils.EncodingProfile profile) {
+                       bool raw_ret = ges_project_add_encoding_profile(Handle, profile == null ? IntPtr.Zero : profile.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_project_create_asset(IntPtr raw, IntPtr id, IntPtr extractable_type);
+
+               public bool CreateAsset(string id, GLib.GType extractable_type) {
+                       IntPtr native_id = GLib.Marshaller.StringToPtrGStrdup (id);
+                       bool raw_ret = ges_project_create_asset(Handle, native_id, extractable_type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_id);
+                       return ret;
+               }
+
+               public bool CreateAsset(GLib.GType extractable_type) {
+                       return CreateAsset (null, extractable_type);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr ges_project_create_asset_sync(IntPtr raw, IntPtr id, IntPtr extractable_type, out IntPtr error);
+
+               public unsafe GES.Asset CreateAssetSync(string id, GLib.GType extractable_type) {
+                       IntPtr native_id = GLib.Marshaller.StringToPtrGStrdup (id);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = ges_project_create_asset_sync(Handle, native_id, extractable_type.Val, out error);
+                       GES.Asset ret = GLib.Object.GetObject(raw_ret, true) as GES.Asset;
+                       GLib.Marshaller.Free (native_id);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public GES.Asset CreateAssetSync(GLib.GType extractable_type) {
+                       return CreateAssetSync (null, extractable_type);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_project_get_asset(IntPtr raw, IntPtr id, IntPtr extractable_type);
+
+               public GES.Asset GetAsset(string id, GLib.GType extractable_type) {
+                       IntPtr native_id = GLib.Marshaller.StringToPtrGStrdup (id);
+                       IntPtr raw_ret = ges_project_get_asset(Handle, native_id, extractable_type.Val);
+                       GES.Asset ret = GLib.Object.GetObject(raw_ret, true) as GES.Asset;
+                       GLib.Marshaller.Free (native_id);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_project_get_loading_assets(IntPtr raw);
+
+               public GES.Asset[] LoadingAssets { 
+                       get {
+                               IntPtr raw_ret = ges_project_get_loading_assets(Handle);
+                               GES.Asset[] ret = (GES.Asset[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.Asset));
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_project_list_assets(IntPtr raw, IntPtr filter);
+
+               public GES.Asset[] ListAssets(GLib.GType filter) {
+                       IntPtr raw_ret = ges_project_list_assets(Handle, filter.Val);
+                       GES.Asset[] ret = (GES.Asset[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.Asset));
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_project_load(IntPtr raw, IntPtr timeline, out IntPtr error);
+
+               public unsafe bool Load(GES.Timeline timeline) {
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_project_load(Handle, timeline == null ? IntPtr.Zero : timeline.Handle, out error);
+                       bool ret = raw_ret;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_project_remove_asset(IntPtr raw, IntPtr asset);
+
+               public bool RemoveAsset(GES.Asset asset) {
+                       bool raw_ret = ges_project_remove_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_project_save(IntPtr raw, IntPtr timeline, IntPtr uri, IntPtr formatter_asset, bool overwrite, out IntPtr error);
+
+               public unsafe bool Save(GES.Timeline timeline, string uri, GES.Asset formatter_asset, bool overwrite) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_project_save(Handle, timeline == null ? IntPtr.Zero : timeline.Handle, native_uri, formatter_asset == null ? IntPtr.Zero : formatter_asset.Handle, overwrite, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public bool Save(GES.Timeline timeline, string uri, bool overwrite) {
+                       return Save (timeline, uri, null, overwrite);
+               }
+
+
+               static Project ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Asset.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "__ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("__ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // __ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_SnappingEndedHandler.cs b/ges/generated/GES_SnappingEndedHandler.cs
new file mode 100644 (file)
index 0000000..89ef51e
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void SnappingEndedHandler(object o, SnappingEndedArgs args);
+
+       public class SnappingEndedArgs : GLib.SignalArgs {
+               public GES.TrackElement Object{
+                       get {
+                               return (GES.TrackElement) Args [0];
+                       }
+               }
+
+               public GES.TrackElement P0{
+                       get {
+                               return (GES.TrackElement) Args [1];
+                       }
+               }
+
+               public ulong P1{
+                       get {
+                               return (ulong) Args [2];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_SnappingStartedHandler.cs b/ges/generated/GES_SnappingStartedHandler.cs
new file mode 100644 (file)
index 0000000..ebd90e7
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void SnappingStartedHandler(object o, SnappingStartedArgs args);
+
+       public class SnappingStartedArgs : GLib.SignalArgs {
+               public GES.TrackElement Object{
+                       get {
+                               return (GES.TrackElement) Args [0];
+                       }
+               }
+
+               public GES.TrackElement P0{
+                       get {
+                               return (GES.TrackElement) Args [1];
+                       }
+               }
+
+               public ulong P1{
+                       get {
+                               return (ulong) Args [2];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_Source.cs b/ges/generated/GES_Source.cs
new file mode 100644 (file)
index 0000000..732e8a1
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Source : GES.TrackElement {
+
+               public Source (IntPtr raw) : base(raw) {}
+
+               protected Source() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.TrackElement.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static Source ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.TrackElement.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_SourceClip.cs b/ges/generated/GES_SourceClip.cs
new file mode 100644 (file)
index 0000000..27fa633
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class SourceClip : GES.Clip {
+
+               public SourceClip (IntPtr raw) : base(raw) {}
+
+               protected SourceClip() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Clip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_source_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_source_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static SourceClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Clip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TestClip.cs b/ges/generated/GES_TestClip.cs
new file mode 100644 (file)
index 0000000..5160b8a
--- /dev/null
@@ -0,0 +1,213 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TestClip : GES.SourceClip {
+
+               public TestClip (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_test_clip_new();
+
+               public TestClip () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TestClip)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_test_clip_new();
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_test_clip_new_for_nick(IntPtr nick);
+
+               public TestClip (string nick) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TestClip)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_nick = GLib.Marshaller.StringToPtrGStrdup (nick);
+                       Raw = ges_test_clip_new_for_nick(native_nick);
+                       GLib.Marshaller.Free (native_nick);
+               }
+
+               [GLib.Property ("freq")]
+               public double Freq {
+                       get {
+                               GLib.Value val = GetProperty ("freq");
+                               double ret = (double) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("freq", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_test_clip_set_mute(IntPtr raw, bool mute);
+
+               [GLib.Property ("mute")]
+               public bool Mute {
+                       get {
+                               GLib.Value val = GetProperty ("mute");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               ges_test_clip_set_mute(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_test_clip_get_volume(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_test_clip_set_volume(IntPtr raw, double volume);
+
+               [GLib.Property ("volume")]
+               public double Volume {
+                       get  {
+                               double raw_ret = ges_test_clip_get_volume(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_test_clip_set_volume(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_test_clip_get_vpattern(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_test_clip_set_vpattern(IntPtr raw, int vpattern);
+
+               [GLib.Property ("vpattern")]
+               public GES.VideoTestPattern Vpattern {
+                       get  {
+                               int raw_ret = ges_test_clip_get_vpattern(Handle);
+                               GES.VideoTestPattern ret = (GES.VideoTestPattern) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_test_clip_set_vpattern(Handle, (int) value);
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.SourceClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_test_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_test_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_test_clip_get_frequency(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_test_clip_set_frequency(IntPtr raw, double freq);
+
+               public double Frequency { 
+                       get {
+                               double raw_ret = ges_test_clip_get_frequency(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_test_clip_set_frequency(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_test_clip_is_muted(IntPtr raw);
+
+               public bool IsMuted { 
+                       get {
+                               bool raw_ret = ges_test_clip_is_muted(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+
+               static TestClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.SourceClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TextHAlign.cs b/ges/generated/GES_TextHAlign.cs
new file mode 100644 (file)
index 0000000..d7ac22e
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (GES.TextHAlignGType))]
+       public enum TextHAlign {
+
+               Left = 0,
+               Center = 1,
+               Right = 2,
+               Position = 4,
+               Absolute = 5,
+       }
+
+       internal class TextHAlignGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_halign_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_text_halign_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_TextOverlay.cs b/ges/generated/GES_TextOverlay.cs
new file mode 100644 (file)
index 0000000..91a013f
--- /dev/null
@@ -0,0 +1,225 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TextOverlay : GES.Operation {
+
+               public TextOverlay (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_overlay_new();
+
+               public TextOverlay () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TextOverlay)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_text_overlay_new();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Operation.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_overlay_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_text_overlay_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_text_overlay_get_color(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_set_color(IntPtr raw, uint color);
+
+               public uint Color { 
+                       get {
+                               uint raw_ret = ges_text_overlay_get_color(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_text_overlay_set_color(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_overlay_get_font_desc(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_set_font_desc(IntPtr raw, IntPtr font_desc);
+
+               public string FontDesc { 
+                       get {
+                               IntPtr raw_ret = ges_text_overlay_get_font_desc(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               ges_text_overlay_set_font_desc(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_text_overlay_get_halignment(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_set_halignment(IntPtr raw, int halign);
+
+               public GES.TextHAlign Halignment { 
+                       get {
+                               int raw_ret = ges_text_overlay_get_halignment(Handle);
+                               GES.TextHAlign ret = (GES.TextHAlign) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_text_overlay_set_halignment(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_overlay_get_text(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_set_text(IntPtr raw, IntPtr text);
+
+               public string Text { 
+                       get {
+                               IntPtr raw_ret = ges_text_overlay_get_text(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               ges_text_overlay_set_text(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_text_overlay_get_valignment(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_set_valignment(IntPtr raw, int valign);
+
+               public GES.TextVAlign Valignment { 
+                       get {
+                               int raw_ret = ges_text_overlay_get_valignment(Handle);
+                               GES.TextVAlign ret = (GES.TextVAlign) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_text_overlay_set_valignment(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_text_overlay_get_xpos(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_set_xpos(IntPtr raw, double position);
+
+               public double Xpos { 
+                       get {
+                               double raw_ret = ges_text_overlay_get_xpos(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_text_overlay_set_xpos(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_text_overlay_get_ypos(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_set_ypos(IntPtr raw, double position);
+
+               public double Ypos { 
+                       get {
+                               double raw_ret = ges_text_overlay_get_ypos(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_text_overlay_set_ypos(Handle, value);
+                       }
+               }
+
+
+               static TextOverlay ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Operation.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TextOverlayClip.cs b/ges/generated/GES_TextOverlayClip.cs
new file mode 100644 (file)
index 0000000..c1e0f4f
--- /dev/null
@@ -0,0 +1,248 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TextOverlayClip : GES.OverlayClip {
+
+               public TextOverlayClip (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_overlay_clip_new();
+
+               public TextOverlayClip () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TextOverlayClip)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_text_overlay_clip_new();
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_text_overlay_clip_get_color(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_clip_set_color(IntPtr raw, uint color);
+
+               [GLib.Property ("color")]
+               public uint Color {
+                       get  {
+                               uint raw_ret = ges_text_overlay_clip_get_color(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_text_overlay_clip_set_color(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_overlay_clip_get_font_desc(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_clip_set_font_desc(IntPtr raw, IntPtr font_desc);
+
+               [GLib.Property ("font-desc")]
+               public string FontDesc {
+                       get  {
+                               IntPtr raw_ret = ges_text_overlay_clip_get_font_desc(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               ges_text_overlay_clip_set_font_desc(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_text_overlay_clip_get_halignment(IntPtr raw);
+
+               [GLib.Property ("halignment")]
+               public GES.TextHAlign Halignment {
+                       get  {
+                               int raw_ret = ges_text_overlay_clip_get_halignment(Handle);
+                               GES.TextHAlign ret = (GES.TextHAlign) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("halignment", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_overlay_clip_get_text(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_clip_set_text(IntPtr raw, IntPtr text);
+
+               [GLib.Property ("text")]
+               public string Text {
+                       get  {
+                               IntPtr raw_ret = ges_text_overlay_clip_get_text(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               ges_text_overlay_clip_set_text(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_text_overlay_clip_get_valignment(IntPtr raw);
+
+               [GLib.Property ("valignment")]
+               public GES.TextVAlign Valignment {
+                       get  {
+                               int raw_ret = ges_text_overlay_clip_get_valignment(Handle);
+                               GES.TextVAlign ret = (GES.TextVAlign) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("valignment", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_text_overlay_clip_get_xpos(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_clip_set_xpos(IntPtr raw, double position);
+
+               [GLib.Property ("xpos")]
+               public double Xpos {
+                       get  {
+                               double raw_ret = ges_text_overlay_clip_get_xpos(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_text_overlay_clip_set_xpos(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_text_overlay_clip_get_ypos(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_clip_set_ypos(IntPtr raw, double position);
+
+               [GLib.Property ("ypos")]
+               public double Ypos {
+                       get  {
+                               double raw_ret = ges_text_overlay_clip_get_ypos(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_text_overlay_clip_set_ypos(Handle, value);
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.OverlayClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_overlay_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_text_overlay_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_clip_set_halign(IntPtr raw, int halign);
+
+               public GES.TextHAlign Halign { 
+                       set {
+                               ges_text_overlay_clip_set_halign(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_text_overlay_clip_set_valign(IntPtr raw, int valign);
+
+               public GES.TextVAlign Valign { 
+                       set {
+                               ges_text_overlay_clip_set_valign(Handle, (int) value);
+                       }
+               }
+
+
+               static TextOverlayClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.OverlayClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TextVAlign.cs b/ges/generated/GES_TextVAlign.cs
new file mode 100644 (file)
index 0000000..fb709b8
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (GES.TextVAlignGType))]
+       public enum TextVAlign {
+
+               Baseline = 0,
+               Bottom = 1,
+               Top = 2,
+               Position = 3,
+               Center = 4,
+               Absolute = 5,
+       }
+
+       internal class TextVAlignGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_text_valign_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_text_valign_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_Timeline.cs b/ges/generated/GES_Timeline.cs
new file mode 100644 (file)
index 0000000..2254233
--- /dev/null
@@ -0,0 +1,1403 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Timeline : Gst.Bin, GES.IExtractable, GES.IMetaContainer {
+
+               public Timeline (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_new();
+
+               public Timeline () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Timeline)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_timeline_new();
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_new_audio_video();
+
+               public static Timeline NewAudioVideo()
+               {
+                       Timeline result = new Timeline (ges_timeline_new_audio_video());
+                       return result;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_new_from_uri(IntPtr uri);
+
+               public Timeline (string uri) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Timeline)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       Raw = ges_timeline_new_from_uri(native_uri);
+                       GLib.Marshaller.Free (native_uri);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_get_auto_transition(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_set_auto_transition(IntPtr raw, bool auto_transition);
+
+               [GLib.Property ("auto-transition")]
+               public bool AutoTransition {
+                       get  {
+                               bool raw_ret = ges_timeline_get_auto_transition(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_timeline_set_auto_transition(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong ges_timeline_get_duration(IntPtr raw);
+
+               [GLib.Property ("duration")]
+               public ulong Duration {
+                       get  {
+                               ulong raw_ret = ges_timeline_get_duration(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong ges_timeline_get_snapping_distance(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_set_snapping_distance(IntPtr raw, ulong snapping_distance);
+
+               [GLib.Property ("snapping-distance")]
+               public ulong SnappingDistance {
+                       get  {
+                               ulong raw_ret = ges_timeline_get_snapping_distance(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_timeline_set_snapping_distance(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_get_layers(IntPtr raw);
+
+               public GES.Layer[] Layers {
+                       get  {
+                               IntPtr raw_ret = ges_timeline_get_layers(Handle);
+                               GES.Layer[] ret = (GES.Layer[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.Layer));
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_get_tracks(IntPtr raw);
+
+               public GES.Track[] Tracks {
+                       get  {
+                               IntPtr raw_ret = ges_timeline_get_tracks(Handle);
+                               GES.Track[] ret = (GES.Track[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.Track));
+                               return ret;
+                       }
+               }
+
+               [GLib.Signal("commited")]
+               public event System.EventHandler Commited {
+                       add {
+                               this.AddSignalHandler ("commited", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("commited", value);
+                       }
+               }
+
+               [GLib.Signal("layer-removed")]
+               public event GES.LayerRemovedHandler LayerRemoved {
+                       add {
+                               this.AddSignalHandler ("layer-removed", value, typeof (GES.LayerRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("layer-removed", value);
+                       }
+               }
+
+               [GLib.Signal("group-added")]
+               public event GES.GroupAddedHandler GroupAdded {
+                       add {
+                               this.AddSignalHandler ("group-added", value, typeof (GES.GroupAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("group-added", value);
+                       }
+               }
+
+               [GLib.Signal("layer-added")]
+               public event GES.LayerAddedHandler LayerAdded {
+                       add {
+                               this.AddSignalHandler ("layer-added", value, typeof (GES.LayerAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("layer-added", value);
+                       }
+               }
+
+               [GLib.Signal("snapping-started")]
+               public event GES.SnappingStartedHandler SnappingStarted {
+                       add {
+                               this.AddSignalHandler ("snapping-started", value, typeof (GES.SnappingStartedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("snapping-started", value);
+                       }
+               }
+
+               [GLib.Signal("snapping-ended")]
+               public event GES.SnappingEndedHandler SnappingEnded {
+                       add {
+                               this.AddSignalHandler ("snapping-ended", value, typeof (GES.SnappingEndedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("snapping-ended", value);
+                       }
+               }
+
+               [GLib.Signal("track-added")]
+               public event GES.TrackAddedHandler TrackAdded {
+                       add {
+                               this.AddSignalHandler ("track-added", value, typeof (GES.TrackAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("track-added", value);
+                       }
+               }
+
+               [GLib.Signal("track-removed")]
+               public event GES.TrackRemovedHandler TrackRemoved {
+                       add {
+                               this.AddSignalHandler ("track-removed", value, typeof (GES.TrackRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("track-removed", value);
+                       }
+               }
+
+               static CommitedNativeDelegate Commited_cb_delegate;
+               static CommitedNativeDelegate CommitedVMCallback {
+                       get {
+                               if (Commited_cb_delegate == null)
+                                       Commited_cb_delegate = new CommitedNativeDelegate (Commited_cb);
+                               return Commited_cb_delegate;
+                       }
+               }
+
+               static void OverrideCommited (GLib.GType gtype)
+               {
+                       OverrideCommited (gtype, CommitedVMCallback);
+               }
+
+               static void OverrideCommited (GLib.GType gtype, CommitedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "commited", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void CommitedNativeDelegate (IntPtr inst);
+
+               static void Commited_cb (IntPtr inst)
+               {
+                       try {
+                               Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+                               __obj.OnCommited ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideCommited")]
+               protected virtual void OnCommited ()
+               {
+                       InternalCommited ();
+               }
+
+               private void InternalCommited ()
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
+                       GLib.Value[] vals = new GLib.Value [1];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static SnappingEndedNativeDelegate SnappingEnded_cb_delegate;
+               static SnappingEndedNativeDelegate SnappingEndedVMCallback {
+                       get {
+                               if (SnappingEnded_cb_delegate == null)
+                                       SnappingEnded_cb_delegate = new SnappingEndedNativeDelegate (SnappingEnded_cb);
+                               return SnappingEnded_cb_delegate;
+                       }
+               }
+
+               static void OverrideSnappingEnded (GLib.GType gtype)
+               {
+                       OverrideSnappingEnded (gtype, SnappingEndedVMCallback);
+               }
+
+               static void OverrideSnappingEnded (GLib.GType gtype, SnappingEndedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "snapping-ended", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SnappingEndedNativeDelegate (IntPtr inst, IntPtr _object, IntPtr p0, ulong p1);
+
+               static void SnappingEnded_cb (IntPtr inst, IntPtr _object, IntPtr p0, ulong p1)
+               {
+                       try {
+                               Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+                               __obj.OnSnappingEnded (GLib.Object.GetObject(_object) as GES.TrackElement, GLib.Object.GetObject(p0) as GES.TrackElement, p1);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideSnappingEnded")]
+               protected virtual void OnSnappingEnded (GES.TrackElement _object, GES.TrackElement p0, ulong p1)
+               {
+                       InternalSnappingEnded (_object, p0, p1);
+               }
+
+               private void InternalSnappingEnded (GES.TrackElement _object, GES.TrackElement p0, ulong p1)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (4);
+                       GLib.Value[] vals = new GLib.Value [4];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (p0);
+                       inst_and_params.Append (vals [2]);
+                       vals [3] = new GLib.Value (p1);
+                       inst_and_params.Append (vals [3]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static SnappingStartedNativeDelegate SnappingStarted_cb_delegate;
+               static SnappingStartedNativeDelegate SnappingStartedVMCallback {
+                       get {
+                               if (SnappingStarted_cb_delegate == null)
+                                       SnappingStarted_cb_delegate = new SnappingStartedNativeDelegate (SnappingStarted_cb);
+                               return SnappingStarted_cb_delegate;
+                       }
+               }
+
+               static void OverrideSnappingStarted (GLib.GType gtype)
+               {
+                       OverrideSnappingStarted (gtype, SnappingStartedVMCallback);
+               }
+
+               static void OverrideSnappingStarted (GLib.GType gtype, SnappingStartedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "snapping-started", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SnappingStartedNativeDelegate (IntPtr inst, IntPtr _object, IntPtr p0, ulong p1);
+
+               static void SnappingStarted_cb (IntPtr inst, IntPtr _object, IntPtr p0, ulong p1)
+               {
+                       try {
+                               Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+                               __obj.OnSnappingStarted (GLib.Object.GetObject(_object) as GES.TrackElement, GLib.Object.GetObject(p0) as GES.TrackElement, p1);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideSnappingStarted")]
+               protected virtual void OnSnappingStarted (GES.TrackElement _object, GES.TrackElement p0, ulong p1)
+               {
+                       InternalSnappingStarted (_object, p0, p1);
+               }
+
+               private void InternalSnappingStarted (GES.TrackElement _object, GES.TrackElement p0, ulong p1)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (4);
+                       GLib.Value[] vals = new GLib.Value [4];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (p0);
+                       inst_and_params.Append (vals [2]);
+                       vals [3] = new GLib.Value (p1);
+                       inst_and_params.Append (vals [3]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static TrackAddedNativeDelegate TrackAdded_cb_delegate;
+               static TrackAddedNativeDelegate TrackAddedVMCallback {
+                       get {
+                               if (TrackAdded_cb_delegate == null)
+                                       TrackAdded_cb_delegate = new TrackAddedNativeDelegate (TrackAdded_cb);
+                               return TrackAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideTrackAdded (GLib.GType gtype)
+               {
+                       OverrideTrackAdded (gtype, TrackAddedVMCallback);
+               }
+
+               static void OverrideTrackAdded (GLib.GType gtype, TrackAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("track_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void TrackAddedNativeDelegate (IntPtr inst, IntPtr track);
+
+               static void TrackAdded_cb (IntPtr inst, IntPtr track)
+               {
+                       try {
+                               Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+                               __obj.OnTrackAdded (GLib.Object.GetObject(track) as GES.Track);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideTrackAdded")]
+               protected virtual void OnTrackAdded (GES.Track track)
+               {
+                       InternalTrackAdded (track);
+               }
+
+               private void InternalTrackAdded (GES.Track track)
+               {
+                       TrackAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("track_added"));
+                               unmanaged = (TrackAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TrackAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, track == null ? IntPtr.Zero : track.Handle);
+               }
+
+               static TrackRemovedNativeDelegate TrackRemoved_cb_delegate;
+               static TrackRemovedNativeDelegate TrackRemovedVMCallback {
+                       get {
+                               if (TrackRemoved_cb_delegate == null)
+                                       TrackRemoved_cb_delegate = new TrackRemovedNativeDelegate (TrackRemoved_cb);
+                               return TrackRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideTrackRemoved (GLib.GType gtype)
+               {
+                       OverrideTrackRemoved (gtype, TrackRemovedVMCallback);
+               }
+
+               static void OverrideTrackRemoved (GLib.GType gtype, TrackRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("track_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void TrackRemovedNativeDelegate (IntPtr inst, IntPtr track);
+
+               static void TrackRemoved_cb (IntPtr inst, IntPtr track)
+               {
+                       try {
+                               Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+                               __obj.OnTrackRemoved (GLib.Object.GetObject(track) as GES.Track);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideTrackRemoved")]
+               protected virtual void OnTrackRemoved (GES.Track track)
+               {
+                       InternalTrackRemoved (track);
+               }
+
+               private void InternalTrackRemoved (GES.Track track)
+               {
+                       TrackRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("track_removed"));
+                               unmanaged = (TrackRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TrackRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, track == null ? IntPtr.Zero : track.Handle);
+               }
+
+               static LayerAddedNativeDelegate LayerAdded_cb_delegate;
+               static LayerAddedNativeDelegate LayerAddedVMCallback {
+                       get {
+                               if (LayerAdded_cb_delegate == null)
+                                       LayerAdded_cb_delegate = new LayerAddedNativeDelegate (LayerAdded_cb);
+                               return LayerAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideLayerAdded (GLib.GType gtype)
+               {
+                       OverrideLayerAdded (gtype, LayerAddedVMCallback);
+               }
+
+               static void OverrideLayerAdded (GLib.GType gtype, LayerAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("layer_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void LayerAddedNativeDelegate (IntPtr inst, IntPtr layer);
+
+               static void LayerAdded_cb (IntPtr inst, IntPtr layer)
+               {
+                       try {
+                               Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+                               __obj.OnLayerAdded (GLib.Object.GetObject(layer) as GES.Layer);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideLayerAdded")]
+               protected virtual void OnLayerAdded (GES.Layer layer)
+               {
+                       InternalLayerAdded (layer);
+               }
+
+               private void InternalLayerAdded (GES.Layer layer)
+               {
+                       LayerAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("layer_added"));
+                               unmanaged = (LayerAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(LayerAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, layer == null ? IntPtr.Zero : layer.Handle);
+               }
+
+               static LayerRemovedNativeDelegate LayerRemoved_cb_delegate;
+               static LayerRemovedNativeDelegate LayerRemovedVMCallback {
+                       get {
+                               if (LayerRemoved_cb_delegate == null)
+                                       LayerRemoved_cb_delegate = new LayerRemovedNativeDelegate (LayerRemoved_cb);
+                               return LayerRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideLayerRemoved (GLib.GType gtype)
+               {
+                       OverrideLayerRemoved (gtype, LayerRemovedVMCallback);
+               }
+
+               static void OverrideLayerRemoved (GLib.GType gtype, LayerRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("layer_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void LayerRemovedNativeDelegate (IntPtr inst, IntPtr layer);
+
+               static void LayerRemoved_cb (IntPtr inst, IntPtr layer)
+               {
+                       try {
+                               Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+                               __obj.OnLayerRemoved (GLib.Object.GetObject(layer) as GES.Layer);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideLayerRemoved")]
+               protected virtual void OnLayerRemoved (GES.Layer layer)
+               {
+                       InternalLayerRemoved (layer);
+               }
+
+               private void InternalLayerRemoved (GES.Layer layer)
+               {
+                       LayerRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("layer_removed"));
+                               unmanaged = (LayerRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(LayerRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, layer == null ? IntPtr.Zero : layer.Handle);
+               }
+
+               static GroupAddedNativeDelegate GroupAdded_cb_delegate;
+               static GroupAddedNativeDelegate GroupAddedVMCallback {
+                       get {
+                               if (GroupAdded_cb_delegate == null)
+                                       GroupAdded_cb_delegate = new GroupAddedNativeDelegate (GroupAdded_cb);
+                               return GroupAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideGroupAdded (GLib.GType gtype)
+               {
+                       OverrideGroupAdded (gtype, GroupAddedVMCallback);
+               }
+
+               static void OverrideGroupAdded (GLib.GType gtype, GroupAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("group_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void GroupAddedNativeDelegate (IntPtr inst, IntPtr group);
+
+               static void GroupAdded_cb (IntPtr inst, IntPtr group)
+               {
+                       try {
+                               Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+                               __obj.OnGroupAdded (GLib.Object.GetObject(group) as GES.Group);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideGroupAdded")]
+               protected virtual void OnGroupAdded (GES.Group group)
+               {
+                       InternalGroupAdded (group);
+               }
+
+               private void InternalGroupAdded (GES.Group group)
+               {
+                       GroupAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("group_added"));
+                               unmanaged = (GroupAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GroupAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, group == null ? IntPtr.Zero : group.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("track_added"
+                                                       , Gst.Bin.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // track_added
+                                                       , null
+                                                       , "track_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("track_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // track_removed
+                                                       , "track_added"
+                                                       , "layer_added"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("layer_added"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // layer_added
+                                                       , "track_removed"
+                                                       , "layer_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("layer_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // layer_removed
+                                                       , "layer_added"
+                                                       , "group_added"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("group_added"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // group_added
+                                                       , "layer_removed"
+                                                       , "group_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("group_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // group_removed
+                                                       , "group_added"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "group_removed"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_timeline_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_add_layer(IntPtr raw, IntPtr layer);
+
+               public bool AddLayer(GES.Layer layer) {
+                       bool raw_ret = ges_timeline_add_layer(Handle, layer == null ? IntPtr.Zero : layer.OwnedHandle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_add_track(IntPtr raw, IntPtr track);
+
+               public bool AddTrack(GES.Track track) {
+                       bool raw_ret = ges_timeline_add_track(Handle, track == null ? IntPtr.Zero : track.OwnedHandle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_append_layer(IntPtr raw);
+
+               public GES.Layer AppendLayer() {
+                       IntPtr raw_ret = ges_timeline_append_layer(Handle);
+                       GES.Layer ret = GLib.Object.GetObject(raw_ret) as GES.Layer;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_commit(IntPtr raw);
+
+               public bool Commit() {
+                       bool raw_ret = ges_timeline_commit(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_commit_sync(IntPtr raw);
+
+               public bool CommitSync() {
+                       bool raw_ret = ges_timeline_commit_sync(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_get_element(IntPtr raw, IntPtr name);
+
+               public GES.TimelineElement GetElement(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = ges_timeline_get_element(Handle, native_name);
+                       GES.TimelineElement ret = GLib.Object.GetObject(raw_ret, true) as GES.TimelineElement;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_get_groups(IntPtr raw);
+
+               public GES.Group[] Groups { 
+                       get {
+                               IntPtr raw_ret = ges_timeline_get_groups(Handle);
+                               GES.Group[] ret = (GES.Group[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(GES.Group));
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_get_layer(IntPtr raw, uint priority);
+
+               public GES.Layer GetLayer(uint priority) {
+                       IntPtr raw_ret = ges_timeline_get_layer(Handle, priority);
+                       GES.Layer ret = GLib.Object.GetObject(raw_ret, true) as GES.Layer;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_get_pad_for_track(IntPtr raw, IntPtr track);
+
+               public Gst.Pad GetPadForTrack(GES.Track track) {
+                       IntPtr raw_ret = ges_timeline_get_pad_for_track(Handle, track == null ? IntPtr.Zero : track.Handle);
+                       Gst.Pad ret = GLib.Object.GetObject(raw_ret) as Gst.Pad;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_get_track_for_pad(IntPtr raw, IntPtr pad);
+
+               public GES.Track GetTrackForPad(Gst.Pad pad) {
+                       IntPtr raw_ret = ges_timeline_get_track_for_pad(Handle, pad == null ? IntPtr.Zero : pad.Handle);
+                       GES.Track ret = GLib.Object.GetObject(raw_ret) as GES.Track;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_is_empty(IntPtr raw);
+
+               public bool IsEmpty { 
+                       get {
+                               bool raw_ret = ges_timeline_is_empty(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_timeline_load_from_uri(IntPtr raw, IntPtr uri, out IntPtr error);
+
+               public unsafe bool LoadFromUri(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_timeline_load_from_uri(Handle, native_uri, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_remove_layer(IntPtr raw, IntPtr layer);
+
+               public bool RemoveLayer(GES.Layer layer) {
+                       bool raw_ret = ges_timeline_remove_layer(Handle, layer == null ? IntPtr.Zero : layer.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_remove_track(IntPtr raw, IntPtr track);
+
+               public bool RemoveTrack(GES.Track track) {
+                       bool raw_ret = ges_timeline_remove_track(Handle, track == null ? IntPtr.Zero : track.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool ges_timeline_save_to_uri(IntPtr raw, IntPtr uri, IntPtr formatter_asset, bool overwrite, out IntPtr error);
+
+               public unsafe bool SaveToUri(string uri, GES.Asset formatter_asset, bool overwrite) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = ges_timeline_save_to_uri(Handle, native_uri, formatter_asset == null ? IntPtr.Zero : formatter_asset.Handle, overwrite, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public bool SaveToUri(string uri, bool overwrite) {
+                       return SaveToUri (uri, null, overwrite);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_asset(IntPtr raw);
+
+               public GES.Asset Asset { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_asset(Handle);
+                               GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_id(IntPtr raw);
+
+               public string Id { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_id(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_extractable_set_asset(IntPtr raw, IntPtr asset);
+
+               public bool SetAsset(GES.Asset asset) {
+                       bool raw_ret = ges_extractable_set_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_add_metas_from_string(IntPtr raw, IntPtr str);
+
+               public bool AddMetasFromString(string str) {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       bool raw_ret = ges_meta_container_add_metas_from_string(Handle, native_str);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_str);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_check_meta_registered(IntPtr raw, IntPtr meta_item, int flags, IntPtr type);
+
+               public bool CheckMetaRegistered(string meta_item, GES.MetaFlag flags, GLib.GType type) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, (int) flags, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_meta_container_foreach(IntPtr raw, GESSharp.MetaForeachFuncNative func, IntPtr user_data);
+
+               public void Foreach(GES.MetaForeachFunc func) {
+                       GESSharp.MetaForeachFuncWrapper func_wrapper = new GESSharp.MetaForeachFuncWrapper (func);
+                       ges_meta_container_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_boolean(IntPtr raw, IntPtr meta_item, out bool dest);
+
+               public bool GetBoolean(string meta_item, out bool dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_boolean(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_date_time(IntPtr raw, IntPtr meta_item, out IntPtr dest);
+
+               public bool GetDateTime(string meta_item, out Gst.DateTime dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_dest;
+                       bool raw_ret = ges_meta_container_get_date_time(Handle, native_meta_item, out native_dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       dest = native_dest == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_dest, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_double(IntPtr raw, IntPtr meta_item, out double dest);
+
+               public bool GetDouble(string meta_item, out double dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_double(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_float(IntPtr raw, IntPtr meta_item, out float dest);
+
+               public bool GetFloat(string meta_item, out float dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_float(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int(IntPtr raw, IntPtr meta_item, out int dest);
+
+               public bool GetInt(string meta_item, out int dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int64(IntPtr raw, IntPtr meta_item, out long dest);
+
+               public bool GetInt64(string meta_item, out long dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_meta(IntPtr raw, IntPtr key);
+
+               public GLib.Value GetMeta(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = ges_meta_container_get_meta(Handle, native_key);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_string(IntPtr raw, IntPtr meta_item);
+
+               public string GetString(string meta_item) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr raw_ret = ges_meta_container_get_string(Handle, native_meta_item);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint(IntPtr raw, IntPtr meta_item, out uint dest);
+
+               public bool GetUint(string meta_item, out uint dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint64(IntPtr raw, IntPtr meta_item, out ulong dest);
+
+               public bool GetUint64(string meta_item, out ulong dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_metas_to_string(IntPtr raw);
+
+               public string MetasToString() {
+                       IntPtr raw_ret = ges_meta_container_metas_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMeta(GES.MetaFlag flags, string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_register_meta(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_boolean(IntPtr raw, int flags, IntPtr meta_item, bool value);
+
+               public bool RegisterMetaBoolean(GES.MetaFlag flags, string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_boolean(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_date_time(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_date_time(Handle, (int) flags, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaDateTime (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_double(IntPtr raw, int flags, IntPtr meta_item, double value);
+
+               public bool RegisterMetaDouble(GES.MetaFlag flags, string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_double(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_float(IntPtr raw, int flags, IntPtr meta_item, float value);
+
+               public bool RegisterMetaFloat(GES.MetaFlag flags, string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_float(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int(IntPtr raw, int flags, IntPtr meta_item, int value);
+
+               public bool RegisterMetaInt(GES.MetaFlag flags, string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int64(IntPtr raw, int flags, IntPtr meta_item, long value);
+
+               public bool RegisterMetaInt64(GES.MetaFlag flags, string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_string(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_register_meta_string(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaString (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint(IntPtr raw, int flags, IntPtr meta_item, uint value);
+
+               public bool RegisterMetaUint(GES.MetaFlag flags, string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint64(IntPtr raw, int flags, IntPtr meta_item, ulong value);
+
+               public bool RegisterMetaUint64(GES.MetaFlag flags, string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_boolean(IntPtr raw, IntPtr meta_item, bool value);
+
+               public bool SetBoolean(string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_boolean(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_date_time(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetDateTime(string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_date_time(Handle, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_double(IntPtr raw, IntPtr meta_item, double value);
+
+               public bool SetDouble(string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_double(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_float(IntPtr raw, IntPtr meta_item, float value);
+
+               public bool SetFloat(string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_float(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int(IntPtr raw, IntPtr meta_item, int value);
+
+               public bool SetInt(string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int64(IntPtr raw, IntPtr meta_item, long value);
+
+               public bool SetInt64(string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_meta(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetMeta(string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_set_meta(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string meta_item) {
+                       return SetMeta (meta_item, GLib.Value.Empty);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_string(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetString(string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_set_string(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint(IntPtr raw, IntPtr meta_item, uint value);
+
+               public bool SetUint(string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint64(IntPtr raw, IntPtr meta_item, ulong value);
+
+               public bool SetUint64(string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [GLib.Signal("notify-meta")]
+               public event GES.NotifyMetaHandler NotifyMeta {
+                       add {
+                               this.AddSignalHandler ("notify-meta", value, typeof (GES.NotifyMetaArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("notify-meta", value);
+                       }
+               }
+
+               static NotifyMetaNativeDelegate NotifyMeta_cb_delegate;
+               static NotifyMetaNativeDelegate NotifyMetaVMCallback {
+                       get {
+                               if (NotifyMeta_cb_delegate == null)
+                                       NotifyMeta_cb_delegate = new NotifyMetaNativeDelegate (NotifyMeta_cb);
+                               return NotifyMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype)
+               {
+                       OverrideNotifyMeta (gtype, NotifyMetaVMCallback);
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype, NotifyMetaNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "notify-meta", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NotifyMetaNativeDelegate (IntPtr inst, IntPtr _object, IntPtr p0);
+
+               static void NotifyMeta_cb (IntPtr inst, IntPtr _object, IntPtr p0)
+               {
+                       try {
+                               GES.Timeline __obj = GLib.Object.GetObject (inst, false) as GES.Timeline;
+                               __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (_object), (GLib.Value) Marshal.PtrToStructure (p0, typeof (GLib.Value)));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideNotifyMeta")]
+               protected virtual void OnNotifyMeta (string _object, GLib.Value p0)
+               {
+                       InternalNotifyMeta (_object, p0);
+               }
+
+               private void InternalNotifyMeta (string _object, GLib.Value p0)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+                       GLib.Value[] vals = new GLib.Value [3];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (p0);
+                       inst_and_params.Append (vals [2]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               static Timeline ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("layers"
+                                                       , Gst.Bin.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // layers
+                                                       , null
+                                                       , "tracks"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("tracks"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // tracks
+                                                       , "layers"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "tracks"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TimelineElement.cs b/ges/generated/GES_TimelineElement.cs
new file mode 100644 (file)
index 0000000..eac93c1
--- /dev/null
@@ -0,0 +1,2113 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TimelineElement : GLib.InitiallyUnowned, GES.IExtractable, GES.IMetaContainer {
+
+               protected TimelineElement (IntPtr raw) : base(raw) {}
+
+               protected TimelineElement() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong ges_timeline_element_get_duration(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_element_set_duration(IntPtr raw, ulong duration);
+
+               [GLib.Property ("duration")]
+               public ulong Duration {
+                       get  {
+                               ulong raw_ret = ges_timeline_element_get_duration(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_timeline_element_set_duration(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("in-point")]
+               public ulong InPoint {
+                       get {
+                               GLib.Value val = GetProperty ("in-point");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("in-point", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong ges_timeline_element_get_max_duration(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_element_set_max_duration(IntPtr raw, ulong maxduration);
+
+               [GLib.Property ("max-duration")]
+               public ulong MaxDuration {
+                       get  {
+                               ulong raw_ret = ges_timeline_element_get_max_duration(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_timeline_element_set_max_duration(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_element_get_name(IntPtr raw);
+
+               [GLib.Property ("name")]
+               public string Name {
+                       get  {
+                               IntPtr raw_ret = ges_timeline_element_get_name(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("name", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_element_get_parent(IntPtr raw);
+
+               [GLib.Property ("parent")]
+               public GES.TimelineElement Parent {
+                       get  {
+                               IntPtr raw_ret = ges_timeline_element_get_parent(Handle);
+                               GES.TimelineElement ret = GLib.Object.GetObject(raw_ret, true) as GES.TimelineElement;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("parent", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_timeline_element_get_priority(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_element_set_priority(IntPtr raw, uint priority);
+
+               [Obsolete]
+               [GLib.Property ("priority")]
+               public uint Priority {
+                       get  {
+                               uint raw_ret = ges_timeline_element_get_priority(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_timeline_element_set_priority(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("serialize")]
+               public bool Serialize {
+                       get {
+                               GLib.Value val = GetProperty ("serialize");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("serialize", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong ges_timeline_element_get_start(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_element_set_start(IntPtr raw, ulong start);
+
+               [GLib.Property ("start")]
+               public ulong Start {
+                       get  {
+                               ulong raw_ret = ges_timeline_element_get_start(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_timeline_element_set_start(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_element_get_timeline(IntPtr raw);
+
+               [GLib.Property ("timeline")]
+               public GES.Timeline Timeline {
+                       get  {
+                               IntPtr raw_ret = ges_timeline_element_get_timeline(Handle);
+                               GES.Timeline ret = GLib.Object.GetObject(raw_ret, true) as GES.Timeline;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("timeline", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public ulong StartField {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("start"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong ges_timeline_element_get_inpoint(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_element_set_inpoint(IntPtr raw, ulong inpoint);
+
+               public ulong Inpoint {
+                       get  {
+                               ulong raw_ret = ges_timeline_element_get_inpoint(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_timeline_element_set_inpoint(Handle, value);
+                       }
+               }
+
+               public ulong DurationField {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("duration"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong Maxduration {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("maxduration"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public uint PriorityField {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("priority"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public GES.Timeline TimelineField {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("timeline"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as GES.Timeline;
+                               }
+                       }
+               }
+
+               public string NameField {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("name"));
+                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
+                               }
+                       }
+               }
+
+               [GLib.Signal("deep-notify")]
+               public event GES.DeepNotifyHandler DeepNotify {
+                       add {
+                               this.AddSignalHandler ("deep-notify", value, typeof (GES.DeepNotifyArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("deep-notify", value);
+                       }
+               }
+
+               static DeepNotifyNativeDelegate DeepNotify_cb_delegate;
+               static DeepNotifyNativeDelegate DeepNotifyVMCallback {
+                       get {
+                               if (DeepNotify_cb_delegate == null)
+                                       DeepNotify_cb_delegate = new DeepNotifyNativeDelegate (DeepNotify_cb);
+                               return DeepNotify_cb_delegate;
+                       }
+               }
+
+               static void OverrideDeepNotify (GLib.GType gtype)
+               {
+                       OverrideDeepNotify (gtype, DeepNotifyVMCallback);
+               }
+
+               static void OverrideDeepNotify (GLib.GType gtype, DeepNotifyNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "deep-notify", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void DeepNotifyNativeDelegate (IntPtr inst, IntPtr prop_object, IntPtr prop);
+
+               static void DeepNotify_cb (IntPtr inst, IntPtr prop_object, IntPtr prop)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               __obj.OnDeepNotify (GLib.Object.GetObject (prop_object), prop);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideDeepNotify")]
+               protected virtual void OnDeepNotify (GLib.Object prop_object, IntPtr prop)
+               {
+                       InternalDeepNotify (prop_object, prop);
+               }
+
+               private void InternalDeepNotify (GLib.Object prop_object, IntPtr prop)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+                       GLib.Value[] vals = new GLib.Value [3];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (prop_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (prop);
+                       inst_and_params.Append (vals [2]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static SetParentNativeDelegate SetParent_cb_delegate;
+               static SetParentNativeDelegate SetParentVMCallback {
+                       get {
+                               if (SetParent_cb_delegate == null)
+                                       SetParent_cb_delegate = new SetParentNativeDelegate (SetParent_cb);
+                               return SetParent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetParent (GLib.GType gtype)
+               {
+                       OverrideSetParent (gtype, SetParentVMCallback);
+               }
+
+               static void OverrideSetParent (GLib.GType gtype, SetParentNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_parent"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetParentNativeDelegate (IntPtr inst, IntPtr parent);
+
+               static bool SetParent_cb (IntPtr inst, IntPtr parent)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnSetParent (GLib.Object.GetObject(parent) as GES.TimelineElement);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideSetParent")]
+               protected virtual bool OnSetParent (GES.TimelineElement parent)
+               {
+                       return InternalSetParent (parent);
+               }
+
+               private bool InternalSetParent (GES.TimelineElement parent)
+               {
+                       SetParentNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_parent"));
+                               unmanaged = (SetParentNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetParentNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, parent == null ? IntPtr.Zero : parent.Handle);
+                       return __result;
+               }
+
+               static SetStartNativeDelegate SetStart_cb_delegate;
+               static SetStartNativeDelegate SetStartVMCallback {
+                       get {
+                               if (SetStart_cb_delegate == null)
+                                       SetStart_cb_delegate = new SetStartNativeDelegate (SetStart_cb);
+                               return SetStart_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetStart (GLib.GType gtype)
+               {
+                       OverrideSetStart (gtype, SetStartVMCallback);
+               }
+
+               static void OverrideSetStart (GLib.GType gtype, SetStartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetStartNativeDelegate (IntPtr inst, ulong start);
+
+               static bool SetStart_cb (IntPtr inst, ulong start)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnSetStart (start);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideSetStart")]
+               protected virtual bool OnSetStart (ulong start)
+               {
+                       return InternalSetStart (start);
+               }
+
+               private bool InternalSetStart (ulong start)
+               {
+                       SetStartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_start"));
+                               unmanaged = (SetStartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetStartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, start);
+                       return __result;
+               }
+
+               static SetInpointNativeDelegate SetInpoint_cb_delegate;
+               static SetInpointNativeDelegate SetInpointVMCallback {
+                       get {
+                               if (SetInpoint_cb_delegate == null)
+                                       SetInpoint_cb_delegate = new SetInpointNativeDelegate (SetInpoint_cb);
+                               return SetInpoint_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetInpoint (GLib.GType gtype)
+               {
+                       OverrideSetInpoint (gtype, SetInpointVMCallback);
+               }
+
+               static void OverrideSetInpoint (GLib.GType gtype, SetInpointNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_inpoint"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetInpointNativeDelegate (IntPtr inst, ulong inpoint);
+
+               static bool SetInpoint_cb (IntPtr inst, ulong inpoint)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnSetInpoint (inpoint);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideSetInpoint")]
+               protected virtual bool OnSetInpoint (ulong inpoint)
+               {
+                       return InternalSetInpoint (inpoint);
+               }
+
+               private bool InternalSetInpoint (ulong inpoint)
+               {
+                       SetInpointNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_inpoint"));
+                               unmanaged = (SetInpointNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetInpointNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, inpoint);
+                       return __result;
+               }
+
+               static SetDurationNativeDelegate SetDuration_cb_delegate;
+               static SetDurationNativeDelegate SetDurationVMCallback {
+                       get {
+                               if (SetDuration_cb_delegate == null)
+                                       SetDuration_cb_delegate = new SetDurationNativeDelegate (SetDuration_cb);
+                               return SetDuration_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetDuration (GLib.GType gtype)
+               {
+                       OverrideSetDuration (gtype, SetDurationVMCallback);
+               }
+
+               static void OverrideSetDuration (GLib.GType gtype, SetDurationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_duration"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetDurationNativeDelegate (IntPtr inst, ulong duration);
+
+               static bool SetDuration_cb (IntPtr inst, ulong duration)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnSetDuration (duration);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideSetDuration")]
+               protected virtual bool OnSetDuration (ulong duration)
+               {
+                       return InternalSetDuration (duration);
+               }
+
+               private bool InternalSetDuration (ulong duration)
+               {
+                       SetDurationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_duration"));
+                               unmanaged = (SetDurationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetDurationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, duration);
+                       return __result;
+               }
+
+               static SetMaxDurationNativeDelegate SetMaxDuration_cb_delegate;
+               static SetMaxDurationNativeDelegate SetMaxDurationVMCallback {
+                       get {
+                               if (SetMaxDuration_cb_delegate == null)
+                                       SetMaxDuration_cb_delegate = new SetMaxDurationNativeDelegate (SetMaxDuration_cb);
+                               return SetMaxDuration_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetMaxDuration (GLib.GType gtype)
+               {
+                       OverrideSetMaxDuration (gtype, SetMaxDurationVMCallback);
+               }
+
+               static void OverrideSetMaxDuration (GLib.GType gtype, SetMaxDurationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_max_duration"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetMaxDurationNativeDelegate (IntPtr inst, ulong maxduration);
+
+               static bool SetMaxDuration_cb (IntPtr inst, ulong maxduration)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnSetMaxDuration (maxduration);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideSetMaxDuration")]
+               protected virtual bool OnSetMaxDuration (ulong maxduration)
+               {
+                       return InternalSetMaxDuration (maxduration);
+               }
+
+               private bool InternalSetMaxDuration (ulong maxduration)
+               {
+                       SetMaxDurationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_max_duration"));
+                               unmanaged = (SetMaxDurationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetMaxDurationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, maxduration);
+                       return __result;
+               }
+
+               static SetPriorityNativeDelegate SetPriority_cb_delegate;
+               static SetPriorityNativeDelegate SetPriorityVMCallback {
+                       get {
+                               if (SetPriority_cb_delegate == null)
+                                       SetPriority_cb_delegate = new SetPriorityNativeDelegate (SetPriority_cb);
+                               return SetPriority_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetPriority (GLib.GType gtype)
+               {
+                       OverrideSetPriority (gtype, SetPriorityVMCallback);
+               }
+
+               static void OverrideSetPriority (GLib.GType gtype, SetPriorityNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_priority"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetPriorityNativeDelegate (IntPtr inst, uint priority);
+
+               static bool SetPriority_cb (IntPtr inst, uint priority)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnSetPriority (priority);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideSetPriority")]
+               protected virtual bool OnSetPriority (uint priority)
+               {
+                       return InternalSetPriority (priority);
+               }
+
+               private bool InternalSetPriority (uint priority)
+               {
+                       SetPriorityNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_priority"));
+                               unmanaged = (SetPriorityNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetPriorityNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, priority);
+                       return __result;
+               }
+
+               static RippleNativeDelegate Ripple_cb_delegate;
+               static RippleNativeDelegate RippleVMCallback {
+                       get {
+                               if (Ripple_cb_delegate == null)
+                                       Ripple_cb_delegate = new RippleNativeDelegate (Ripple_cb);
+                               return Ripple_cb_delegate;
+                       }
+               }
+
+               static void OverrideRipple (GLib.GType gtype)
+               {
+                       OverrideRipple (gtype, RippleVMCallback);
+               }
+
+               static void OverrideRipple (GLib.GType gtype, RippleNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("ripple"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool RippleNativeDelegate (IntPtr inst, ulong start);
+
+               static bool Ripple_cb (IntPtr inst, ulong start)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnRipple (start);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideRipple")]
+               protected virtual bool OnRipple (ulong start)
+               {
+                       return InternalRipple (start);
+               }
+
+               private bool InternalRipple (ulong start)
+               {
+                       RippleNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("ripple"));
+                               unmanaged = (RippleNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RippleNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, start);
+                       return __result;
+               }
+
+               static RippleEndNativeDelegate RippleEnd_cb_delegate;
+               static RippleEndNativeDelegate RippleEndVMCallback {
+                       get {
+                               if (RippleEnd_cb_delegate == null)
+                                       RippleEnd_cb_delegate = new RippleEndNativeDelegate (RippleEnd_cb);
+                               return RippleEnd_cb_delegate;
+                       }
+               }
+
+               static void OverrideRippleEnd (GLib.GType gtype)
+               {
+                       OverrideRippleEnd (gtype, RippleEndVMCallback);
+               }
+
+               static void OverrideRippleEnd (GLib.GType gtype, RippleEndNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("ripple_end"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool RippleEndNativeDelegate (IntPtr inst, ulong end);
+
+               static bool RippleEnd_cb (IntPtr inst, ulong end)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnRippleEnd (end);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideRippleEnd")]
+               protected virtual bool OnRippleEnd (ulong end)
+               {
+                       return InternalRippleEnd (end);
+               }
+
+               private bool InternalRippleEnd (ulong end)
+               {
+                       RippleEndNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("ripple_end"));
+                               unmanaged = (RippleEndNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RippleEndNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, end);
+                       return __result;
+               }
+
+               static RollStartNativeDelegate RollStart_cb_delegate;
+               static RollStartNativeDelegate RollStartVMCallback {
+                       get {
+                               if (RollStart_cb_delegate == null)
+                                       RollStart_cb_delegate = new RollStartNativeDelegate (RollStart_cb);
+                               return RollStart_cb_delegate;
+                       }
+               }
+
+               static void OverrideRollStart (GLib.GType gtype)
+               {
+                       OverrideRollStart (gtype, RollStartVMCallback);
+               }
+
+               static void OverrideRollStart (GLib.GType gtype, RollStartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("roll_start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool RollStartNativeDelegate (IntPtr inst, ulong start);
+
+               static bool RollStart_cb (IntPtr inst, ulong start)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnRollStart (start);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideRollStart")]
+               protected virtual bool OnRollStart (ulong start)
+               {
+                       return InternalRollStart (start);
+               }
+
+               private bool InternalRollStart (ulong start)
+               {
+                       RollStartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("roll_start"));
+                               unmanaged = (RollStartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RollStartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, start);
+                       return __result;
+               }
+
+               static RollEndNativeDelegate RollEnd_cb_delegate;
+               static RollEndNativeDelegate RollEndVMCallback {
+                       get {
+                               if (RollEnd_cb_delegate == null)
+                                       RollEnd_cb_delegate = new RollEndNativeDelegate (RollEnd_cb);
+                               return RollEnd_cb_delegate;
+                       }
+               }
+
+               static void OverrideRollEnd (GLib.GType gtype)
+               {
+                       OverrideRollEnd (gtype, RollEndVMCallback);
+               }
+
+               static void OverrideRollEnd (GLib.GType gtype, RollEndNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("roll_end"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool RollEndNativeDelegate (IntPtr inst, ulong end);
+
+               static bool RollEnd_cb (IntPtr inst, ulong end)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnRollEnd (end);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideRollEnd")]
+               protected virtual bool OnRollEnd (ulong end)
+               {
+                       return InternalRollEnd (end);
+               }
+
+               private bool InternalRollEnd (ulong end)
+               {
+                       RollEndNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("roll_end"));
+                               unmanaged = (RollEndNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RollEndNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, end);
+                       return __result;
+               }
+
+               static TrimNativeDelegate Trim_cb_delegate;
+               static TrimNativeDelegate TrimVMCallback {
+                       get {
+                               if (Trim_cb_delegate == null)
+                                       Trim_cb_delegate = new TrimNativeDelegate (Trim_cb);
+                               return Trim_cb_delegate;
+                       }
+               }
+
+               static void OverrideTrim (GLib.GType gtype)
+               {
+                       OverrideTrim (gtype, TrimVMCallback);
+               }
+
+               static void OverrideTrim (GLib.GType gtype, TrimNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("trim"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool TrimNativeDelegate (IntPtr inst, ulong start);
+
+               static bool Trim_cb (IntPtr inst, ulong start)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               __result = __obj.OnTrim (start);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideTrim")]
+               protected virtual bool OnTrim (ulong start)
+               {
+                       return InternalTrim (start);
+               }
+
+               private bool InternalTrim (ulong start)
+               {
+                       TrimNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("trim"));
+                               unmanaged = (TrimNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TrimNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, start);
+                       return __result;
+               }
+
+               static DeepCopyNativeDelegate DeepCopy_cb_delegate;
+               static DeepCopyNativeDelegate DeepCopyVMCallback {
+                       get {
+                               if (DeepCopy_cb_delegate == null)
+                                       DeepCopy_cb_delegate = new DeepCopyNativeDelegate (DeepCopy_cb);
+                               return DeepCopy_cb_delegate;
+                       }
+               }
+
+               static void OverrideDeepCopy (GLib.GType gtype)
+               {
+                       OverrideDeepCopy (gtype, DeepCopyVMCallback);
+               }
+
+               static void OverrideDeepCopy (GLib.GType gtype, DeepCopyNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("deep_copy"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void DeepCopyNativeDelegate (IntPtr inst, IntPtr copy);
+
+               static void DeepCopy_cb (IntPtr inst, IntPtr copy)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               __obj.OnDeepCopy (GLib.Object.GetObject(copy) as GES.TimelineElement);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideDeepCopy")]
+               protected virtual void OnDeepCopy (GES.TimelineElement copy)
+               {
+                       InternalDeepCopy (copy);
+               }
+
+               private void InternalDeepCopy (GES.TimelineElement copy)
+               {
+                       DeepCopyNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("deep_copy"));
+                               unmanaged = (DeepCopyNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DeepCopyNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, copy == null ? IntPtr.Zero : copy.Handle);
+               }
+
+               static LookupChildNativeDelegate LookupChild_cb_delegate;
+               static LookupChildNativeDelegate LookupChildVMCallback {
+                       get {
+                               if (LookupChild_cb_delegate == null)
+                                       LookupChild_cb_delegate = new LookupChildNativeDelegate (LookupChild_cb);
+                               return LookupChild_cb_delegate;
+                       }
+               }
+
+               static void OverrideLookupChild (GLib.GType gtype)
+               {
+                       OverrideLookupChild (gtype, LookupChildVMCallback);
+               }
+
+               static void OverrideLookupChild (GLib.GType gtype, LookupChildNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("lookup_child"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool LookupChildNativeDelegate (IntPtr inst, IntPtr prop_name, out IntPtr child, out IntPtr pspec);
+
+               static bool LookupChild_cb (IntPtr inst, IntPtr prop_name, out IntPtr child, out IntPtr pspec)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               bool __result;
+                               GLib.Object mychild;
+                               __result = __obj.OnLookupChild (GLib.Marshaller.Utf8PtrToString (prop_name), out mychild, out pspec);
+                               child = mychild == null ? IntPtr.Zero : mychild.Handle;
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideLookupChild")]
+               protected virtual bool OnLookupChild (string prop_name, out GLib.Object child, out IntPtr pspec)
+               {
+                       return InternalLookupChild (prop_name, out child, out pspec);
+               }
+
+               private bool InternalLookupChild (string prop_name, out GLib.Object child, out IntPtr pspec)
+               {
+                       LookupChildNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("lookup_child"));
+                               unmanaged = (LookupChildNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(LookupChildNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       IntPtr native_prop_name = GLib.Marshaller.StringToPtrGStrdup (prop_name);
+                       IntPtr native_child;
+                       bool __result = unmanaged (this.Handle, native_prop_name, out native_child, out pspec);
+                       GLib.Marshaller.Free (native_prop_name);
+                       child = GLib.Object.GetObject (native_child);
+                       return __result;
+               }
+
+               static GetTrackTypesNativeDelegate GetTrackTypes_cb_delegate;
+               static GetTrackTypesNativeDelegate GetTrackTypesVMCallback {
+                       get {
+                               if (GetTrackTypes_cb_delegate == null)
+                                       GetTrackTypes_cb_delegate = new GetTrackTypesNativeDelegate (GetTrackTypes_cb);
+                               return GetTrackTypes_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetTrackTypes (GLib.GType gtype)
+               {
+                       OverrideGetTrackTypes (gtype, GetTrackTypesVMCallback);
+               }
+
+               static void OverrideGetTrackTypes (GLib.GType gtype, GetTrackTypesNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_track_types"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int GetTrackTypesNativeDelegate (IntPtr inst);
+
+               static int GetTrackTypes_cb (IntPtr inst)
+               {
+                       try {
+                               TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+                               GES.TrackType __result;
+                               __result = __obj.OnGetTrackTypes ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideGetTrackTypes")]
+               protected virtual GES.TrackType OnGetTrackTypes ()
+               {
+                       return InternalGetTrackTypes ();
+               }
+
+               private GES.TrackType InternalGetTrackTypes ()
+               {
+                       GetTrackTypesNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_track_types"));
+                               unmanaged = (GetTrackTypesNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetTrackTypesNativeDelegate));
+                       }
+                       if (unmanaged == null) return (GES.TrackType) 0;
+
+                       int __result = unmanaged (this.Handle);
+                       return (GES.TrackType) __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("set_parent"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_parent
+                                                       , null
+                                                       , "set_start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_start
+                                                       , "set_parent"
+                                                       , "set_inpoint"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_inpoint"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_inpoint
+                                                       , "set_start"
+                                                       , "set_duration"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_duration"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_duration
+                                                       , "set_inpoint"
+                                                       , "set_max_duration"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_max_duration"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_max_duration
+                                                       , "set_duration"
+                                                       , "set_priority"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_priority"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_priority
+                                                       , "set_max_duration"
+                                                       , "ripple"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ripple"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // ripple
+                                                       , "set_priority"
+                                                       , "ripple_end"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ripple_end"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // ripple_end
+                                                       , "ripple"
+                                                       , "roll_start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("roll_start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // roll_start
+                                                       , "ripple_end"
+                                                       , "roll_end"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("roll_end"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // roll_end
+                                                       , "roll_start"
+                                                       , "trim"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("trim"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // trim
+                                                       , "roll_end"
+                                                       , "deep_copy"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("deep_copy"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // deep_copy
+                                                       , "trim"
+                                                       , "paste"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("paste"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // paste
+                                                       , "deep_copy"
+                                                       , "list_children_properties"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("list_children_properties"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // list_children_properties
+                                                       , "paste"
+                                                       , "lookup_child"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("lookup_child"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lookup_child
+                                                       , "list_children_properties"
+                                                       , "get_track_types"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_track_types"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_track_types
+                                                       , "lookup_child"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 18 // _ges_reserved
+                                                       , "get_track_types"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_element_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_timeline_element_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_add_child_property(IntPtr raw, IntPtr pspec, IntPtr child);
+
+               public bool AddChildProperty(IntPtr pspec, GLib.Object child) {
+                       bool raw_ret = ges_timeline_element_add_child_property(Handle, pspec, child == null ? IntPtr.Zero : child.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_element_copy(IntPtr raw, bool deep);
+
+               public GES.TimelineElement Copy(bool deep) {
+                       IntPtr raw_ret = ges_timeline_element_copy(Handle, deep);
+                       GES.TimelineElement ret = GLib.Object.GetObject(raw_ret) as GES.TimelineElement;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_get_child_property(IntPtr raw, IntPtr property_name, IntPtr value);
+
+               public bool GetChildProperty(string property_name, out GLib.Value value) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       IntPtr native_value = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       bool raw_ret = ges_timeline_element_get_child_property(Handle, native_property_name, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_property_name);
+                       value = (GLib.Value) Marshal.PtrToStructure (native_value, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_element_get_child_property_by_pspec(IntPtr raw, IntPtr pspec, IntPtr value);
+
+               public GLib.Value GetChildPropertyByPspec(IntPtr pspec) {
+                       GLib.Value value;
+                       IntPtr native_value = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       ges_timeline_element_get_child_property_by_pspec(Handle, pspec, native_value);
+                       value = (GLib.Value) Marshal.PtrToStructure (native_value, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_value);
+                       return value;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_element_get_toplevel_parent(IntPtr raw);
+
+               public GES.TimelineElement ToplevelParent { 
+                       get {
+                               IntPtr raw_ret = ges_timeline_element_get_toplevel_parent(Handle);
+                               GES.TimelineElement ret = GLib.Object.GetObject(raw_ret, true) as GES.TimelineElement;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_timeline_element_get_track_types(IntPtr raw);
+
+               public GES.TrackType TrackTypes { 
+                       get {
+                               int raw_ret = ges_timeline_element_get_track_types(Handle);
+                               GES.TrackType ret = (GES.TrackType) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_lookup_child(IntPtr raw, IntPtr prop_name, out IntPtr child, out IntPtr pspec);
+
+               public bool LookupChild(string prop_name, out GLib.Object child, out IntPtr pspec) {
+                       IntPtr native_prop_name = GLib.Marshaller.StringToPtrGStrdup (prop_name);
+                       IntPtr native_child;
+                       bool raw_ret = ges_timeline_element_lookup_child(Handle, native_prop_name, out native_child, out pspec);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_prop_name);
+                       child = GLib.Object.GetObject (native_child);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_timeline_element_paste(IntPtr raw, ulong paste_position);
+
+               public GES.TimelineElement Paste(ulong paste_position) {
+                       IntPtr raw_ret = ges_timeline_element_paste(Handle, paste_position);
+                       GES.TimelineElement ret = GLib.Object.GetObject(raw_ret) as GES.TimelineElement;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_remove_child_property(IntPtr raw, IntPtr pspec);
+
+               public bool RemoveChildProperty(IntPtr pspec) {
+                       bool raw_ret = ges_timeline_element_remove_child_property(Handle, pspec);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_ripple(IntPtr raw, ulong start);
+
+               public bool Ripple(ulong start) {
+                       bool raw_ret = ges_timeline_element_ripple(Handle, start);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_ripple_end(IntPtr raw, ulong end);
+
+               public bool RippleEnd(ulong end) {
+                       bool raw_ret = ges_timeline_element_ripple_end(Handle, end);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_roll_end(IntPtr raw, ulong end);
+
+               public bool RollEnd(ulong end) {
+                       bool raw_ret = ges_timeline_element_roll_end(Handle, end);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_roll_start(IntPtr raw, ulong start);
+
+               public bool RollStart(ulong start) {
+                       bool raw_ret = ges_timeline_element_roll_start(Handle, start);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_set_child_property(IntPtr raw, IntPtr property_name, IntPtr value);
+
+               public bool SetChildProperty(string property_name, GLib.Value value) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_timeline_element_set_child_property(Handle, native_property_name, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_property_name);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_timeline_element_set_child_property_by_pspec(IntPtr raw, IntPtr pspec, IntPtr value);
+
+               public void SetChildPropertyByPspec(IntPtr pspec, GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       ges_timeline_element_set_child_property_by_pspec(Handle, pspec, native_value);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_set_name(IntPtr raw, IntPtr name);
+
+               public bool SetName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = ges_timeline_element_set_name(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public bool SetName() {
+                       return SetName (null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_set_parent(IntPtr raw, IntPtr parent);
+
+               public bool SetParent(GES.TimelineElement parent) {
+                       bool raw_ret = ges_timeline_element_set_parent(Handle, parent == null ? IntPtr.Zero : parent.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_set_timeline(IntPtr raw, IntPtr timeline);
+
+               public bool SetTimeline(GES.Timeline timeline) {
+                       bool raw_ret = ges_timeline_element_set_timeline(Handle, timeline == null ? IntPtr.Zero : timeline.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_timeline_element_trim(IntPtr raw, ulong start);
+
+               public bool Trim(ulong start) {
+                       bool raw_ret = ges_timeline_element_trim(Handle, start);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_asset(IntPtr raw);
+
+               public GES.Asset Asset { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_asset(Handle);
+                               GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_extractable_get_id(IntPtr raw);
+
+               public string Id { 
+                       get {
+                               IntPtr raw_ret = ges_extractable_get_id(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_extractable_set_asset(IntPtr raw, IntPtr asset);
+
+               public bool SetAsset(GES.Asset asset) {
+                       bool raw_ret = ges_extractable_set_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_add_metas_from_string(IntPtr raw, IntPtr str);
+
+               public bool AddMetasFromString(string str) {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       bool raw_ret = ges_meta_container_add_metas_from_string(Handle, native_str);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_str);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_check_meta_registered(IntPtr raw, IntPtr meta_item, int flags, IntPtr type);
+
+               public bool CheckMetaRegistered(string meta_item, GES.MetaFlag flags, GLib.GType type) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, (int) flags, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_meta_container_foreach(IntPtr raw, GESSharp.MetaForeachFuncNative func, IntPtr user_data);
+
+               public void Foreach(GES.MetaForeachFunc func) {
+                       GESSharp.MetaForeachFuncWrapper func_wrapper = new GESSharp.MetaForeachFuncWrapper (func);
+                       ges_meta_container_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_boolean(IntPtr raw, IntPtr meta_item, out bool dest);
+
+               public bool GetBoolean(string meta_item, out bool dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_boolean(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_date_time(IntPtr raw, IntPtr meta_item, out IntPtr dest);
+
+               public bool GetDateTime(string meta_item, out Gst.DateTime dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_dest;
+                       bool raw_ret = ges_meta_container_get_date_time(Handle, native_meta_item, out native_dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       dest = native_dest == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_dest, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_double(IntPtr raw, IntPtr meta_item, out double dest);
+
+               public bool GetDouble(string meta_item, out double dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_double(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_float(IntPtr raw, IntPtr meta_item, out float dest);
+
+               public bool GetFloat(string meta_item, out float dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_float(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int(IntPtr raw, IntPtr meta_item, out int dest);
+
+               public bool GetInt(string meta_item, out int dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int64(IntPtr raw, IntPtr meta_item, out long dest);
+
+               public bool GetInt64(string meta_item, out long dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_meta(IntPtr raw, IntPtr key);
+
+               public GLib.Value GetMeta(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = ges_meta_container_get_meta(Handle, native_key);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_string(IntPtr raw, IntPtr meta_item);
+
+               public string GetString(string meta_item) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr raw_ret = ges_meta_container_get_string(Handle, native_meta_item);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint(IntPtr raw, IntPtr meta_item, out uint dest);
+
+               public bool GetUint(string meta_item, out uint dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint64(IntPtr raw, IntPtr meta_item, out ulong dest);
+
+               public bool GetUint64(string meta_item, out ulong dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_metas_to_string(IntPtr raw);
+
+               public string MetasToString() {
+                       IntPtr raw_ret = ges_meta_container_metas_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMeta(GES.MetaFlag flags, string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_register_meta(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_boolean(IntPtr raw, int flags, IntPtr meta_item, bool value);
+
+               public bool RegisterMetaBoolean(GES.MetaFlag flags, string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_boolean(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_date_time(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_date_time(Handle, (int) flags, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaDateTime (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_double(IntPtr raw, int flags, IntPtr meta_item, double value);
+
+               public bool RegisterMetaDouble(GES.MetaFlag flags, string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_double(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_float(IntPtr raw, int flags, IntPtr meta_item, float value);
+
+               public bool RegisterMetaFloat(GES.MetaFlag flags, string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_float(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int(IntPtr raw, int flags, IntPtr meta_item, int value);
+
+               public bool RegisterMetaInt(GES.MetaFlag flags, string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int64(IntPtr raw, int flags, IntPtr meta_item, long value);
+
+               public bool RegisterMetaInt64(GES.MetaFlag flags, string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_string(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_register_meta_string(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaString (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint(IntPtr raw, int flags, IntPtr meta_item, uint value);
+
+               public bool RegisterMetaUint(GES.MetaFlag flags, string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint64(IntPtr raw, int flags, IntPtr meta_item, ulong value);
+
+               public bool RegisterMetaUint64(GES.MetaFlag flags, string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_boolean(IntPtr raw, IntPtr meta_item, bool value);
+
+               public bool SetBoolean(string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_boolean(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_date_time(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetDateTime(string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_date_time(Handle, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_double(IntPtr raw, IntPtr meta_item, double value);
+
+               public bool SetDouble(string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_double(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_float(IntPtr raw, IntPtr meta_item, float value);
+
+               public bool SetFloat(string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_float(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int(IntPtr raw, IntPtr meta_item, int value);
+
+               public bool SetInt(string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int64(IntPtr raw, IntPtr meta_item, long value);
+
+               public bool SetInt64(string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_meta(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetMeta(string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_set_meta(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string meta_item) {
+                       return SetMeta (meta_item, GLib.Value.Empty);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_string(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetString(string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_set_string(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint(IntPtr raw, IntPtr meta_item, uint value);
+
+               public bool SetUint(string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint64(IntPtr raw, IntPtr meta_item, ulong value);
+
+               public bool SetUint64(string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [GLib.Signal("notify-meta")]
+               public event GES.NotifyMetaHandler NotifyMeta {
+                       add {
+                               this.AddSignalHandler ("notify-meta", value, typeof (GES.NotifyMetaArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("notify-meta", value);
+                       }
+               }
+
+               static NotifyMetaNativeDelegate NotifyMeta_cb_delegate;
+               static NotifyMetaNativeDelegate NotifyMetaVMCallback {
+                       get {
+                               if (NotifyMeta_cb_delegate == null)
+                                       NotifyMeta_cb_delegate = new NotifyMetaNativeDelegate (NotifyMeta_cb);
+                               return NotifyMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype)
+               {
+                       OverrideNotifyMeta (gtype, NotifyMetaVMCallback);
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype, NotifyMetaNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "notify-meta", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NotifyMetaNativeDelegate (IntPtr inst, IntPtr _object, IntPtr p0);
+
+               static void NotifyMeta_cb (IntPtr inst, IntPtr _object, IntPtr p0)
+               {
+                       try {
+                               GES.TimelineElement __obj = GLib.Object.GetObject (inst, false) as GES.TimelineElement;
+                               __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (_object), (GLib.Value) Marshal.PtrToStructure (p0, typeof (GLib.Value)));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideNotifyMeta")]
+               protected virtual void OnNotifyMeta (string _object, GLib.Value p0)
+               {
+                       InternalNotifyMeta (_object, p0);
+               }
+
+               private void InternalNotifyMeta (string _object, GLib.Value p0)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+                       GLib.Value[] vals = new GLib.Value [3];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (p0);
+                       inst_and_params.Append (vals [2]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               static TimelineElement ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("parent"
+                                                       , GLib.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // parent
+                                                       , null
+                                                       , "asset"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("asset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // asset
+                                                       , "parent"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // start
+                                                       , "asset"
+                                                       , "inpoint"
+                                                       , (long) Marshal.OffsetOf(typeof(GESTimelineElement_startAlign), "start")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("inpoint"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // inpoint
+                                                       , "start"
+                                                       , "duration"
+                                                       , (long) Marshal.OffsetOf(typeof(GESTimelineElement_inpointAlign), "inpoint")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("duration"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // duration
+                                                       , "inpoint"
+                                                       , "maxduration"
+                                                       , (long) Marshal.OffsetOf(typeof(GESTimelineElement_durationAlign), "duration")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("maxduration"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // maxduration
+                                                       , "duration"
+                                                       , "priority"
+                                                       , (long) Marshal.OffsetOf(typeof(GESTimelineElement_maxdurationAlign), "maxduration")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priority"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // priority
+                                                       , "maxduration"
+                                                       , "timeline"
+                                                       , (long) Marshal.OffsetOf(typeof(GESTimelineElement_priorityAlign), "priority")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("timeline"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // timeline
+                                                       , "priority"
+                                                       , "name"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("name"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // name
+                                                       , "timeline"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "name"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESTimelineElement_startAlign
+               {
+                       sbyte f1;
+                       private ulong start;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESTimelineElement_inpointAlign
+               {
+                       sbyte f1;
+                       private ulong inpoint;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESTimelineElement_durationAlign
+               {
+                       sbyte f1;
+                       private ulong duration;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESTimelineElement_maxdurationAlign
+               {
+                       sbyte f1;
+                       private ulong maxduration;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESTimelineElement_priorityAlign
+               {
+                       sbyte f1;
+                       private uint priority;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TitleClip.cs b/ges/generated/GES_TitleClip.cs
new file mode 100644 (file)
index 0000000..dc301a7
--- /dev/null
@@ -0,0 +1,278 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TitleClip : GES.SourceClip {
+
+               public TitleClip (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_title_clip_new();
+
+               public TitleClip () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TitleClip)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_title_clip_new();
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_clip_set_background(IntPtr raw, uint background);
+
+               [Obsolete]
+               [GLib.Property ("background")]
+               public uint Background {
+                       get {
+                               GLib.Value val = GetProperty ("background");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               ges_title_clip_set_background(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_clip_set_color(IntPtr raw, uint color);
+
+               [Obsolete]
+               [GLib.Property ("color")]
+               public uint Color {
+                       get {
+                               GLib.Value val = GetProperty ("color");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               ges_title_clip_set_color(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_title_clip_get_font_desc(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_clip_set_font_desc(IntPtr raw, IntPtr font_desc);
+
+               [Obsolete]
+               [GLib.Property ("font-desc")]
+               public string FontDesc {
+                       get  {
+                               IntPtr raw_ret = ges_title_clip_get_font_desc(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               ges_title_clip_set_font_desc(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_title_clip_get_halignment(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_clip_set_halignment(IntPtr raw, int halign);
+
+               [Obsolete]
+               [GLib.Property ("halignment")]
+               public GES.TextHAlign Halignment {
+                       get  {
+                               int raw_ret = ges_title_clip_get_halignment(Handle);
+                               GES.TextHAlign ret = (GES.TextHAlign) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_title_clip_set_halignment(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_title_clip_get_text(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_clip_set_text(IntPtr raw, IntPtr text);
+
+               [Obsolete]
+               [GLib.Property ("text")]
+               public string Text {
+                       get  {
+                               IntPtr raw_ret = ges_title_clip_get_text(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               ges_title_clip_set_text(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_title_clip_get_valignment(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_clip_set_valignment(IntPtr raw, int valign);
+
+               [Obsolete]
+               [GLib.Property ("valignment")]
+               public GES.TextVAlign Valignment {
+                       get  {
+                               int raw_ret = ges_title_clip_get_valignment(Handle);
+                               GES.TextVAlign ret = (GES.TextVAlign) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_title_clip_set_valignment(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_title_clip_get_xpos(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_clip_set_xpos(IntPtr raw, double position);
+
+               [Obsolete]
+               [GLib.Property ("xpos")]
+               public double Xpos {
+                       get  {
+                               double raw_ret = ges_title_clip_get_xpos(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_title_clip_set_xpos(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_title_clip_get_ypos(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_clip_set_ypos(IntPtr raw, double position);
+
+               [Obsolete]
+               [GLib.Property ("ypos")]
+               public double Ypos {
+                       get  {
+                               double raw_ret = ges_title_clip_get_ypos(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_title_clip_set_ypos(Handle, value);
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.SourceClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_title_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_title_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_title_clip_get_background_color(IntPtr raw);
+
+               [Obsolete]
+               public uint BackgroundColor { 
+                       get {
+                               uint raw_ret = ges_title_clip_get_background_color(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_title_clip_get_text_color(IntPtr raw);
+
+               [Obsolete]
+               public uint TextColor { 
+                       get {
+                               uint raw_ret = ges_title_clip_get_text_color(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+
+               static TitleClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.SourceClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TitleSource.cs b/ges/generated/GES_TitleSource.cs
new file mode 100644 (file)
index 0000000..6e6da86
--- /dev/null
@@ -0,0 +1,235 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TitleSource : GES.VideoSource {
+
+               public TitleSource (IntPtr raw) : base(raw) {}
+
+               protected TitleSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.VideoSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_title_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_title_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_title_source_get_background_color(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_source_set_background_color(IntPtr raw, uint color);
+
+               public uint BackgroundColor { 
+                       get {
+                               uint raw_ret = ges_title_source_get_background_color(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_title_source_set_background_color(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_title_source_get_font_desc(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_source_set_font_desc(IntPtr raw, IntPtr font_desc);
+
+               public string FontDesc { 
+                       get {
+                               IntPtr raw_ret = ges_title_source_get_font_desc(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               ges_title_source_set_font_desc(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_title_source_get_halignment(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_source_set_halignment(IntPtr raw, int halign);
+
+               public GES.TextHAlign Halignment { 
+                       get {
+                               int raw_ret = ges_title_source_get_halignment(Handle);
+                               GES.TextHAlign ret = (GES.TextHAlign) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_title_source_set_halignment(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_title_source_get_text(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_source_set_text(IntPtr raw, IntPtr text);
+
+               public string Text { 
+                       get {
+                               IntPtr raw_ret = ges_title_source_get_text(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               ges_title_source_set_text(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint ges_title_source_get_text_color(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_source_set_text_color(IntPtr raw, uint color);
+
+               public uint TextColor { 
+                       get {
+                               uint raw_ret = ges_title_source_get_text_color(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_title_source_set_text_color(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_title_source_get_valignment(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_source_set_valignment(IntPtr raw, int valign);
+
+               public GES.TextVAlign Valignment { 
+                       get {
+                               int raw_ret = ges_title_source_get_valignment(Handle);
+                               GES.TextVAlign ret = (GES.TextVAlign) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_title_source_set_valignment(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_title_source_get_xpos(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_source_set_xpos(IntPtr raw, double position);
+
+               public double Xpos { 
+                       get {
+                               double raw_ret = ges_title_source_get_xpos(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_title_source_set_xpos(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern double ges_title_source_get_ypos(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_title_source_set_ypos(IntPtr raw, double position);
+
+               public double Ypos { 
+                       get {
+                               double raw_ret = ges_title_source_get_ypos(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_title_source_set_ypos(Handle, value);
+                       }
+               }
+
+
+               static TitleSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.VideoSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_Track.cs b/ges/generated/GES_Track.cs
new file mode 100644 (file)
index 0000000..b4be30f
--- /dev/null
@@ -0,0 +1,902 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Track : Gst.Bin, GES.IMetaContainer {
+
+               public Track (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_new(int type, IntPtr caps);
+
+               public Track (GES.TrackType type, Gst.Caps caps) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Track)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("caps");
+                               vals.Add (new GLib.Value (caps));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       caps.Owned = false;
+                       Raw = ges_track_new((int) type, caps == null ? IntPtr.Zero : caps.Handle);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_get_caps(IntPtr raw);
+
+               [GLib.Property ("caps")]
+               public Gst.Caps Caps {
+                       get  {
+                               IntPtr raw_ret = ges_track_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), false);
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("duration")]
+               public ulong Duration {
+                       get {
+                               GLib.Value val = GetProperty ("duration");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_get_mixing(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_track_set_mixing(IntPtr raw, bool mixing);
+
+               [GLib.Property ("mixing")]
+               public bool Mixing {
+                       get  {
+                               bool raw_ret = ges_track_get_mixing(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_track_set_mixing(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_track_set_restriction_caps(IntPtr raw, IntPtr caps);
+
+               [GLib.Property ("restriction-caps")]
+               public Gst.Caps RestrictionCaps {
+                       get {
+                               GLib.Value val = GetProperty ("restriction-caps");
+                               Gst.Caps ret = (Gst.Caps) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               ges_track_set_restriction_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [GLib.Property ("track-type")]
+               public GES.TrackType TrackType {
+                       get {
+                               GLib.Value val = GetProperty ("track-type");
+                               GES.TrackType ret = (GES.TrackType) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               public GES.TrackType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (GES.TrackType) (*raw_ptr);
+                               }
+                       }
+               }
+
+               [GLib.Signal("track-element-added")]
+               public event GES.TrackElementAddedHandler TrackElementAdded {
+                       add {
+                               this.AddSignalHandler ("track-element-added", value, typeof (GES.TrackElementAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("track-element-added", value);
+                       }
+               }
+
+               [GLib.Signal("track-element-removed")]
+               public event GES.TrackElementRemovedHandler TrackElementRemoved {
+                       add {
+                               this.AddSignalHandler ("track-element-removed", value, typeof (GES.TrackElementRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("track-element-removed", value);
+                       }
+               }
+
+               [GLib.Signal("commited")]
+               public event System.EventHandler Commited {
+                       add {
+                               this.AddSignalHandler ("commited", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("commited", value);
+                       }
+               }
+
+               static CommitedNativeDelegate Commited_cb_delegate;
+               static CommitedNativeDelegate CommitedVMCallback {
+                       get {
+                               if (Commited_cb_delegate == null)
+                                       Commited_cb_delegate = new CommitedNativeDelegate (Commited_cb);
+                               return Commited_cb_delegate;
+                       }
+               }
+
+               static void OverrideCommited (GLib.GType gtype)
+               {
+                       OverrideCommited (gtype, CommitedVMCallback);
+               }
+
+               static void OverrideCommited (GLib.GType gtype, CommitedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "commited", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void CommitedNativeDelegate (IntPtr inst);
+
+               static void Commited_cb (IntPtr inst)
+               {
+                       try {
+                               Track __obj = GLib.Object.GetObject (inst, false) as Track;
+                               __obj.OnCommited ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Track), ConnectionMethod="OverrideCommited")]
+               protected virtual void OnCommited ()
+               {
+                       InternalCommited ();
+               }
+
+               private void InternalCommited ()
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
+                       GLib.Value[] vals = new GLib.Value [1];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static TrackElementAddedNativeDelegate TrackElementAdded_cb_delegate;
+               static TrackElementAddedNativeDelegate TrackElementAddedVMCallback {
+                       get {
+                               if (TrackElementAdded_cb_delegate == null)
+                                       TrackElementAdded_cb_delegate = new TrackElementAddedNativeDelegate (TrackElementAdded_cb);
+                               return TrackElementAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideTrackElementAdded (GLib.GType gtype)
+               {
+                       OverrideTrackElementAdded (gtype, TrackElementAddedVMCallback);
+               }
+
+               static void OverrideTrackElementAdded (GLib.GType gtype, TrackElementAddedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "track-element-added", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void TrackElementAddedNativeDelegate (IntPtr inst, IntPtr effect);
+
+               static void TrackElementAdded_cb (IntPtr inst, IntPtr effect)
+               {
+                       try {
+                               Track __obj = GLib.Object.GetObject (inst, false) as Track;
+                               __obj.OnTrackElementAdded (GLib.Object.GetObject(effect) as GES.TrackElement);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Track), ConnectionMethod="OverrideTrackElementAdded")]
+               protected virtual void OnTrackElementAdded (GES.TrackElement effect)
+               {
+                       InternalTrackElementAdded (effect);
+               }
+
+               private void InternalTrackElementAdded (GES.TrackElement effect)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (effect);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static TrackElementRemovedNativeDelegate TrackElementRemoved_cb_delegate;
+               static TrackElementRemovedNativeDelegate TrackElementRemovedVMCallback {
+                       get {
+                               if (TrackElementRemoved_cb_delegate == null)
+                                       TrackElementRemoved_cb_delegate = new TrackElementRemovedNativeDelegate (TrackElementRemoved_cb);
+                               return TrackElementRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideTrackElementRemoved (GLib.GType gtype)
+               {
+                       OverrideTrackElementRemoved (gtype, TrackElementRemovedVMCallback);
+               }
+
+               static void OverrideTrackElementRemoved (GLib.GType gtype, TrackElementRemovedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "track-element-removed", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void TrackElementRemovedNativeDelegate (IntPtr inst, IntPtr effect);
+
+               static void TrackElementRemoved_cb (IntPtr inst, IntPtr effect)
+               {
+                       try {
+                               Track __obj = GLib.Object.GetObject (inst, false) as Track;
+                               __obj.OnTrackElementRemoved (GLib.Object.GetObject(effect) as GES.TrackElement);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Track), ConnectionMethod="OverrideTrackElementRemoved")]
+               protected virtual void OnTrackElementRemoved (GES.TrackElement effect)
+               {
+                       InternalTrackElementRemoved (effect);
+               }
+
+               private void InternalTrackElementRemoved (GES.TrackElement effect)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (effect);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("get_mixing_element"
+                                                       , Gst.Bin.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_mixing_element
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "get_mixing_element"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_track_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_add_element(IntPtr raw, IntPtr _object);
+
+               public bool AddElement(GES.TrackElement _object) {
+                       bool raw_ret = ges_track_add_element(Handle, _object == null ? IntPtr.Zero : _object.OwnedHandle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_commit(IntPtr raw);
+
+               public bool Commit() {
+                       bool raw_ret = ges_track_commit(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_get_elements(IntPtr raw);
+
+               public GES.TrackElement[] Elements { 
+                       get {
+                               IntPtr raw_ret = ges_track_get_elements(Handle);
+                               GES.TrackElement[] ret = (GES.TrackElement[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.TrackElement));
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_get_timeline(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_track_set_timeline(IntPtr raw, IntPtr timeline);
+
+               public GES.Timeline Timeline { 
+                       get {
+                               IntPtr raw_ret = ges_track_get_timeline(Handle);
+                               GES.Timeline ret = GLib.Object.GetObject(raw_ret) as GES.Timeline;
+                               return ret;
+                       }
+                       set {
+                               ges_track_set_timeline(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_remove_element(IntPtr raw, IntPtr _object);
+
+               public bool RemoveElement(GES.TrackElement _object) {
+                       bool raw_ret = ges_track_remove_element(Handle, _object == null ? IntPtr.Zero : _object.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_track_update_restriction_caps(IntPtr raw, IntPtr caps);
+
+               public void UpdateRestrictionCaps(Gst.Caps caps) {
+                       ges_track_update_restriction_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_add_metas_from_string(IntPtr raw, IntPtr str);
+
+               public bool AddMetasFromString(string str) {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       bool raw_ret = ges_meta_container_add_metas_from_string(Handle, native_str);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_str);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_check_meta_registered(IntPtr raw, IntPtr meta_item, int flags, IntPtr type);
+
+               public bool CheckMetaRegistered(string meta_item, GES.MetaFlag flags, GLib.GType type) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, (int) flags, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_meta_container_foreach(IntPtr raw, GESSharp.MetaForeachFuncNative func, IntPtr user_data);
+
+               public void Foreach(GES.MetaForeachFunc func) {
+                       GESSharp.MetaForeachFuncWrapper func_wrapper = new GESSharp.MetaForeachFuncWrapper (func);
+                       ges_meta_container_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_boolean(IntPtr raw, IntPtr meta_item, out bool dest);
+
+               public bool GetBoolean(string meta_item, out bool dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_boolean(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_date_time(IntPtr raw, IntPtr meta_item, out IntPtr dest);
+
+               public bool GetDateTime(string meta_item, out Gst.DateTime dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_dest;
+                       bool raw_ret = ges_meta_container_get_date_time(Handle, native_meta_item, out native_dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       dest = native_dest == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_dest, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_double(IntPtr raw, IntPtr meta_item, out double dest);
+
+               public bool GetDouble(string meta_item, out double dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_double(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_float(IntPtr raw, IntPtr meta_item, out float dest);
+
+               public bool GetFloat(string meta_item, out float dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_float(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int(IntPtr raw, IntPtr meta_item, out int dest);
+
+               public bool GetInt(string meta_item, out int dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_int64(IntPtr raw, IntPtr meta_item, out long dest);
+
+               public bool GetInt64(string meta_item, out long dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_int64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_meta(IntPtr raw, IntPtr key);
+
+               public GLib.Value GetMeta(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = ges_meta_container_get_meta(Handle, native_key);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_get_string(IntPtr raw, IntPtr meta_item);
+
+               public string GetString(string meta_item) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr raw_ret = ges_meta_container_get_string(Handle, native_meta_item);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint(IntPtr raw, IntPtr meta_item, out uint dest);
+
+               public bool GetUint(string meta_item, out uint dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_get_uint64(IntPtr raw, IntPtr meta_item, out ulong dest);
+
+               public bool GetUint64(string meta_item, out ulong dest) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_get_uint64(Handle, native_meta_item, out dest);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_meta_container_metas_to_string(IntPtr raw);
+
+               public string MetasToString() {
+                       IntPtr raw_ret = ges_meta_container_metas_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMeta(GES.MetaFlag flags, string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_register_meta(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_boolean(IntPtr raw, int flags, IntPtr meta_item, bool value);
+
+               public bool RegisterMetaBoolean(GES.MetaFlag flags, string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_boolean(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_date_time(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_date_time(Handle, (int) flags, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               public bool RegisterMetaDateTime(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaDateTime (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_double(IntPtr raw, int flags, IntPtr meta_item, double value);
+
+               public bool RegisterMetaDouble(GES.MetaFlag flags, string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_double(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_float(IntPtr raw, int flags, IntPtr meta_item, float value);
+
+               public bool RegisterMetaFloat(GES.MetaFlag flags, string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_float(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int(IntPtr raw, int flags, IntPtr meta_item, int value);
+
+               public bool RegisterMetaInt(GES.MetaFlag flags, string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_int64(IntPtr raw, int flags, IntPtr meta_item, long value);
+
+               public bool RegisterMetaInt64(GES.MetaFlag flags, string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_int64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_string(IntPtr raw, int flags, IntPtr meta_item, IntPtr value);
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_register_meta_string(Handle, (int) flags, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool RegisterMetaString(GES.MetaFlag flags, string meta_item) {
+                       return RegisterMetaString (flags, meta_item, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint(IntPtr raw, int flags, IntPtr meta_item, uint value);
+
+               public bool RegisterMetaUint(GES.MetaFlag flags, string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_register_meta_uint64(IntPtr raw, int flags, IntPtr meta_item, ulong value);
+
+               public bool RegisterMetaUint64(GES.MetaFlag flags, string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_register_meta_uint64(Handle, (int) flags, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_boolean(IntPtr raw, IntPtr meta_item, bool value);
+
+               public bool SetBoolean(string meta_item, bool value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_boolean(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_date_time(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetDateTime(string meta_item, Gst.DateTime value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_date_time(Handle, native_meta_item, value == null ? IntPtr.Zero : value.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_double(IntPtr raw, IntPtr meta_item, double value);
+
+               public bool SetDouble(string meta_item, double value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_double(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_float(IntPtr raw, IntPtr meta_item, float value);
+
+               public bool SetFloat(string meta_item, float value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_float(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int(IntPtr raw, IntPtr meta_item, int value);
+
+               public bool SetInt(string meta_item, int value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_int64(IntPtr raw, IntPtr meta_item, long value);
+
+               public bool SetInt64(string meta_item, long value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_int64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_meta(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetMeta(string meta_item, GLib.Value value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = ges_meta_container_set_meta(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string meta_item) {
+                       return SetMeta (meta_item, GLib.Value.Empty);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_string(IntPtr raw, IntPtr meta_item, IntPtr value);
+
+               public bool SetString(string meta_item, string value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = ges_meta_container_set_string(Handle, native_meta_item, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint(IntPtr raw, IntPtr meta_item, uint value);
+
+               public bool SetUint(string meta_item, uint value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_meta_container_set_uint64(IntPtr raw, IntPtr meta_item, ulong value);
+
+               public bool SetUint64(string meta_item, ulong value) {
+                       IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+                       bool raw_ret = ges_meta_container_set_uint64(Handle, native_meta_item, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_meta_item);
+                       return ret;
+               }
+
+               [GLib.Signal("notify-meta")]
+               public event GES.NotifyMetaHandler NotifyMeta {
+                       add {
+                               this.AddSignalHandler ("notify-meta", value, typeof (GES.NotifyMetaArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("notify-meta", value);
+                       }
+               }
+
+               static NotifyMetaNativeDelegate NotifyMeta_cb_delegate;
+               static NotifyMetaNativeDelegate NotifyMetaVMCallback {
+                       get {
+                               if (NotifyMeta_cb_delegate == null)
+                                       NotifyMeta_cb_delegate = new NotifyMetaNativeDelegate (NotifyMeta_cb);
+                               return NotifyMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype)
+               {
+                       OverrideNotifyMeta (gtype, NotifyMetaVMCallback);
+               }
+
+               static void OverrideNotifyMeta (GLib.GType gtype, NotifyMetaNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "notify-meta", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NotifyMetaNativeDelegate (IntPtr inst, IntPtr _object, IntPtr p0);
+
+               static void NotifyMeta_cb (IntPtr inst, IntPtr _object, IntPtr p0)
+               {
+                       try {
+                               GES.Track __obj = GLib.Object.GetObject (inst, false) as GES.Track;
+                               __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (_object), (GLib.Value) Marshal.PtrToStructure (p0, typeof (GLib.Value)));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.Track), ConnectionMethod="OverrideNotifyMeta")]
+               protected virtual void OnNotifyMeta (string _object, GLib.Value p0)
+               {
+                       InternalNotifyMeta (_object, p0);
+               }
+
+               private void InternalNotifyMeta (string _object, GLib.Value p0)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+                       GLib.Value[] vals = new GLib.Value [3];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (p0);
+                       inst_and_params.Append (vals [2]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               static Track ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("type"
+                                                       , Gst.Bin.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(GES.TrackType))) // type
+                                                       , null
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GESTrack_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "type"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESTrack_typeAlign
+               {
+                       sbyte f1;
+                       private GES.TrackType type;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TrackAddedHandler.cs b/ges/generated/GES_TrackAddedHandler.cs
new file mode 100644 (file)
index 0000000..f8a6c1d
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void TrackAddedHandler(object o, TrackAddedArgs args);
+
+       public class TrackAddedArgs : GLib.SignalArgs {
+               public GES.Track Track{
+                       get {
+                               return (GES.Track) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_TrackElement.cs b/ges/generated/GES_TrackElement.cs
new file mode 100644 (file)
index 0000000..73520fe
--- /dev/null
@@ -0,0 +1,672 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TrackElement : GES.TimelineElement {
+
+               protected TrackElement (IntPtr raw) : base(raw) {}
+
+               protected TrackElement() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("active")]
+               public bool Active {
+                       get {
+                               GLib.Value val = GetProperty ("active");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("active", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_element_get_track(IntPtr raw);
+
+               [GLib.Property ("track")]
+               public GES.Track Track {
+                       get  {
+                               IntPtr raw_ret = ges_track_element_get_track(Handle);
+                               GES.Track ret = GLib.Object.GetObject(raw_ret) as GES.Track;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_track_element_get_track_type(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_track_element_set_track_type(IntPtr raw, int type);
+
+               [GLib.Property ("track-type")]
+               public GES.TrackType TrackType {
+                       get  {
+                               int raw_ret = ges_track_element_get_track_type(Handle);
+                               GES.TrackType ret = (GES.TrackType) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_track_element_set_track_type(Handle, (int) value);
+                       }
+               }
+
+               [GLib.Signal("control-binding-removed")]
+               public event GES.ControlBindingRemovedHandler ControlBindingRemoved {
+                       add {
+                               this.AddSignalHandler ("control-binding-removed", value, typeof (GES.ControlBindingRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("control-binding-removed", value);
+                       }
+               }
+
+               [GLib.Signal("control-binding-added")]
+               public event GES.ControlBindingAddedHandler ControlBindingAdded {
+                       add {
+                               this.AddSignalHandler ("control-binding-added", value, typeof (GES.ControlBindingAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("control-binding-added", value);
+                       }
+               }
+
+               static ControlBindingAddedNativeDelegate ControlBindingAdded_cb_delegate;
+               static ControlBindingAddedNativeDelegate ControlBindingAddedVMCallback {
+                       get {
+                               if (ControlBindingAdded_cb_delegate == null)
+                                       ControlBindingAdded_cb_delegate = new ControlBindingAddedNativeDelegate (ControlBindingAdded_cb);
+                               return ControlBindingAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideControlBindingAdded (GLib.GType gtype)
+               {
+                       OverrideControlBindingAdded (gtype, ControlBindingAddedVMCallback);
+               }
+
+               static void OverrideControlBindingAdded (GLib.GType gtype, ControlBindingAddedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "control-binding-added", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ControlBindingAddedNativeDelegate (IntPtr inst, IntPtr control_binding);
+
+               static void ControlBindingAdded_cb (IntPtr inst, IntPtr control_binding)
+               {
+                       try {
+                               TrackElement __obj = GLib.Object.GetObject (inst, false) as TrackElement;
+                               __obj.OnControlBindingAdded (GLib.Object.GetObject(control_binding) as Gst.ControlBinding);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TrackElement), ConnectionMethod="OverrideControlBindingAdded")]
+               protected virtual void OnControlBindingAdded (Gst.ControlBinding control_binding)
+               {
+                       InternalControlBindingAdded (control_binding);
+               }
+
+               private void InternalControlBindingAdded (Gst.ControlBinding control_binding)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (control_binding);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ControlBindingRemovedNativeDelegate ControlBindingRemoved_cb_delegate;
+               static ControlBindingRemovedNativeDelegate ControlBindingRemovedVMCallback {
+                       get {
+                               if (ControlBindingRemoved_cb_delegate == null)
+                                       ControlBindingRemoved_cb_delegate = new ControlBindingRemovedNativeDelegate (ControlBindingRemoved_cb);
+                               return ControlBindingRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideControlBindingRemoved (GLib.GType gtype)
+               {
+                       OverrideControlBindingRemoved (gtype, ControlBindingRemovedVMCallback);
+               }
+
+               static void OverrideControlBindingRemoved (GLib.GType gtype, ControlBindingRemovedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "control-binding-removed", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ControlBindingRemovedNativeDelegate (IntPtr inst, IntPtr control_binding);
+
+               static void ControlBindingRemoved_cb (IntPtr inst, IntPtr control_binding)
+               {
+                       try {
+                               TrackElement __obj = GLib.Object.GetObject (inst, false) as TrackElement;
+                               __obj.OnControlBindingRemoved (GLib.Object.GetObject(control_binding) as Gst.ControlBinding);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TrackElement), ConnectionMethod="OverrideControlBindingRemoved")]
+               protected virtual void OnControlBindingRemoved (Gst.ControlBinding control_binding)
+               {
+                       InternalControlBindingRemoved (control_binding);
+               }
+
+               private void InternalControlBindingRemoved (Gst.ControlBinding control_binding)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (control_binding);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ActiveChangedNativeDelegate ActiveChanged_cb_delegate;
+               static ActiveChangedNativeDelegate ActiveChangedVMCallback {
+                       get {
+                               if (ActiveChanged_cb_delegate == null)
+                                       ActiveChanged_cb_delegate = new ActiveChangedNativeDelegate (ActiveChanged_cb);
+                               return ActiveChanged_cb_delegate;
+                       }
+               }
+
+               static void OverrideActiveChanged (GLib.GType gtype)
+               {
+                       OverrideActiveChanged (gtype, ActiveChangedVMCallback);
+               }
+
+               static void OverrideActiveChanged (GLib.GType gtype, ActiveChangedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("active_changed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ActiveChangedNativeDelegate (IntPtr inst, bool active);
+
+               static void ActiveChanged_cb (IntPtr inst, bool active)
+               {
+                       try {
+                               TrackElement __obj = GLib.Object.GetObject (inst, false) as TrackElement;
+                               __obj.OnActiveChanged (active);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TrackElement), ConnectionMethod="OverrideActiveChanged")]
+               protected virtual void OnActiveChanged (bool active)
+               {
+                       InternalActiveChanged (active);
+               }
+
+               private void InternalActiveChanged (bool active)
+               {
+                       ActiveChangedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("active_changed"));
+                               unmanaged = (ActiveChangedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ActiveChangedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, active);
+               }
+
+               static ChangedNativeDelegate Changed_cb_delegate;
+               static ChangedNativeDelegate ChangedVMCallback {
+                       get {
+                               if (Changed_cb_delegate == null)
+                                       Changed_cb_delegate = new ChangedNativeDelegate (Changed_cb);
+                               return Changed_cb_delegate;
+                       }
+               }
+
+               static void OverrideChanged (GLib.GType gtype)
+               {
+                       OverrideChanged (gtype, ChangedVMCallback);
+               }
+
+               static void OverrideChanged (GLib.GType gtype, ChangedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("changed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ChangedNativeDelegate (IntPtr inst);
+
+               static void Changed_cb (IntPtr inst)
+               {
+                       try {
+                               TrackElement __obj = GLib.Object.GetObject (inst, false) as TrackElement;
+                               __obj.OnChanged ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TrackElement), ConnectionMethod="OverrideChanged")]
+               protected virtual void OnChanged ()
+               {
+                       InternalChanged ();
+               }
+
+               private void InternalChanged ()
+               {
+                       ChangedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("changed"));
+                               unmanaged = (ChangedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ChangedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static LookupChildNativeDelegate LookupChild_cb_delegate;
+               static LookupChildNativeDelegate LookupChildVMCallback {
+                       get {
+                               if (LookupChild_cb_delegate == null)
+                                       LookupChild_cb_delegate = new LookupChildNativeDelegate (LookupChild_cb);
+                               return LookupChild_cb_delegate;
+                       }
+               }
+
+               static void OverrideLookupChild (GLib.GType gtype)
+               {
+                       OverrideLookupChild (gtype, LookupChildVMCallback);
+               }
+
+               static void OverrideLookupChild (GLib.GType gtype, LookupChildNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("lookup_child"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool LookupChildNativeDelegate (IntPtr inst, IntPtr prop_name, out IntPtr element, out IntPtr pspec);
+
+               static bool LookupChild_cb (IntPtr inst, IntPtr prop_name, out IntPtr element, out IntPtr pspec)
+               {
+                       try {
+                               TrackElement __obj = GLib.Object.GetObject (inst, false) as TrackElement;
+                               bool __result;
+                               Gst.Element myelement;
+                               __result = __obj.OnLookupChild (GLib.Marshaller.Utf8PtrToString (prop_name), out myelement, out pspec);
+                               element = myelement == null ? IntPtr.Zero : myelement.Handle;
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(GES.TrackElement), ConnectionMethod="OverrideLookupChild")]
+               protected virtual bool OnLookupChild (string prop_name, out Gst.Element element, out IntPtr pspec)
+               {
+                       return InternalLookupChild (prop_name, out element, out pspec);
+               }
+
+               private bool InternalLookupChild (string prop_name, out Gst.Element element, out IntPtr pspec)
+               {
+                       LookupChildNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("lookup_child"));
+                               unmanaged = (LookupChildNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(LookupChildNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       IntPtr native_prop_name = GLib.Marshaller.StringToPtrGStrdup (prop_name);
+                       IntPtr native_element;
+                       bool __result = unmanaged (this.Handle, native_prop_name, out native_element, out pspec);
+                       GLib.Marshaller.Free (native_prop_name);
+                       element = GLib.Object.GetObject(native_element, true) as Gst.Element;
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("nleobject_factorytype"
+                                                       , GES.TimelineElement.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // nleobject_factorytype
+                                                       , null
+                                                       , "create_gnl_object"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create_gnl_object"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_gnl_object
+                                                       , "nleobject_factorytype"
+                                                       , "create_element"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create_element"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_element
+                                                       , "create_gnl_object"
+                                                       , "active_changed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("active_changed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // active_changed
+                                                       , "create_element"
+                                                       , "changed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("changed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // changed
+                                                       , "active_changed"
+                                                       , "list_children_properties"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("list_children_properties"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // list_children_properties
+                                                       , "changed"
+                                                       , "lookup_child"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("lookup_child"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lookup_child
+                                                       , "list_children_properties"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _ges_reserved
+                                                       , "lookup_child"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_element_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_track_element_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_track_element_add_children_props(IntPtr raw, IntPtr element, IntPtr[] wanted_categories, IntPtr[] blacklist, IntPtr[] whitelist);
+
+               public void AddChildrenProps(Gst.Element element, string[] wanted_categories, string[] blacklist, string[] whitelist) {
+                       int cnt_wanted_categories = wanted_categories == null ? 0 : wanted_categories.Length;
+                       IntPtr[] native_wanted_categories = new IntPtr [cnt_wanted_categories + 1];
+                       for (int i = 0; i < cnt_wanted_categories; i++)
+                               native_wanted_categories [i] = GLib.Marshaller.StringToPtrGStrdup (wanted_categories[i]);
+                       native_wanted_categories [cnt_wanted_categories] = IntPtr.Zero;
+                       int cnt_blacklist = blacklist == null ? 0 : blacklist.Length;
+                       IntPtr[] native_blacklist = new IntPtr [cnt_blacklist + 1];
+                       for (int i = 0; i < cnt_blacklist; i++)
+                               native_blacklist [i] = GLib.Marshaller.StringToPtrGStrdup (blacklist[i]);
+                       native_blacklist [cnt_blacklist] = IntPtr.Zero;
+                       int cnt_whitelist = whitelist == null ? 0 : whitelist.Length;
+                       IntPtr[] native_whitelist = new IntPtr [cnt_whitelist + 1];
+                       for (int i = 0; i < cnt_whitelist; i++)
+                               native_whitelist [i] = GLib.Marshaller.StringToPtrGStrdup (whitelist[i]);
+                       native_whitelist [cnt_whitelist] = IntPtr.Zero;
+                       ges_track_element_add_children_props(Handle, element == null ? IntPtr.Zero : element.Handle, native_wanted_categories, native_blacklist, native_whitelist);
+                       for (int i = 0; i < native_wanted_categories.Length - 1; i++) {
+                               wanted_categories [i] = GLib.Marshaller.Utf8PtrToString (native_wanted_categories[i]);
+                               GLib.Marshaller.Free (native_wanted_categories[i]);
+                       }
+                       for (int i = 0; i < native_blacklist.Length - 1; i++) {
+                               blacklist [i] = GLib.Marshaller.Utf8PtrToString (native_blacklist[i]);
+                               GLib.Marshaller.Free (native_blacklist[i]);
+                       }
+                       for (int i = 0; i < native_whitelist.Length - 1; i++) {
+                               whitelist [i] = GLib.Marshaller.Utf8PtrToString (native_whitelist[i]);
+                               GLib.Marshaller.Free (native_whitelist[i]);
+                       }
+               }
+
+               public void AddChildrenProps(Gst.Element element) {
+                       AddChildrenProps (element, null, null, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_element_edit(IntPtr raw, IntPtr layers, int mode, int edge, ulong position);
+
+               public bool Edit(GLib.List layers, GES.EditMode mode, GES.Edge edge, ulong position) {
+                       bool raw_ret = ges_track_element_edit(Handle, layers == null ? IntPtr.Zero : layers.Handle, (int) mode, (int) edge, position);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern System.IntPtr ges_track_element_get_all_control_bindings(IntPtr raw);
+
+               public string[] AllControlBindings { 
+                       get {
+                               System.IntPtr raw_ret = ges_track_element_get_all_control_bindings(Handle);
+                               string[] ret = (string[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(System.IntPtr), false, false, typeof(string));
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_element_get_control_binding(IntPtr raw, IntPtr property_name);
+
+               public Gst.ControlBinding GetControlBinding(string property_name) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       IntPtr raw_ret = ges_track_element_get_control_binding(Handle, native_property_name);
+                       Gst.ControlBinding ret = GLib.Object.GetObject(raw_ret) as Gst.ControlBinding;
+                       GLib.Marshaller.Free (native_property_name);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_element_get_element(IntPtr raw);
+
+               public Gst.Element Element { 
+                       get {
+                               IntPtr raw_ret = ges_track_element_get_element(Handle);
+                               Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_element_get_gnlobject(IntPtr raw);
+
+               [Obsolete]
+               public Gst.Element Gnlobject { 
+                       get {
+                               IntPtr raw_ret = ges_track_element_get_gnlobject(Handle);
+                               Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_element_get_nleobject(IntPtr raw);
+
+               public Gst.Element Nleobject { 
+                       get {
+                               IntPtr raw_ret = ges_track_element_get_nleobject(Handle);
+                               Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_element_is_active(IntPtr raw);
+
+               public bool IsActive { 
+                       get {
+                               bool raw_ret = ges_track_element_is_active(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_element_lookup_child(IntPtr raw, IntPtr prop_name, out IntPtr element, out IntPtr pspec);
+
+               [Obsolete]
+               public bool LookupChild(string prop_name, out Gst.Element element, out IntPtr pspec) {
+                       IntPtr native_prop_name = GLib.Marshaller.StringToPtrGStrdup (prop_name);
+                       IntPtr native_element;
+                       bool raw_ret = ges_track_element_lookup_child(Handle, native_prop_name, out native_element, out pspec);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_prop_name);
+                       element = GLib.Object.GetObject(native_element, true) as Gst.Element;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_element_remove_control_binding(IntPtr raw, IntPtr property_name);
+
+               public bool RemoveControlBinding(string property_name) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       bool raw_ret = ges_track_element_remove_control_binding(Handle, native_property_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_property_name);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_element_set_active(IntPtr raw, bool active);
+
+               public bool SetActive(bool active) {
+                       bool raw_ret = ges_track_element_set_active(Handle, active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_track_element_set_control_source(IntPtr raw, IntPtr source, IntPtr property_name, IntPtr binding_type);
+
+               public bool SetControlSource(Gst.ControlSource source, string property_name, string binding_type) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       IntPtr native_binding_type = GLib.Marshaller.StringToPtrGStrdup (binding_type);
+                       bool raw_ret = ges_track_element_set_control_source(Handle, source == null ? IntPtr.Zero : source.Handle, native_property_name, native_binding_type);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_property_name);
+                       GLib.Marshaller.Free (native_binding_type);
+                       return ret;
+               }
+
+
+               static TrackElement ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("active"
+                                                       , GES.TimelineElement.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // active
+                                                       , null
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GESTrackElement_activeAlign), "active")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "active"
+                                                       , "asset"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("asset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // asset
+                                                       , "priv"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _ges_reserved
+                                                       , "asset"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESTrackElement_activeAlign
+               {
+                       sbyte f1;
+                       private bool active;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TrackElementAddedHandler.cs b/ges/generated/GES_TrackElementAddedHandler.cs
new file mode 100644 (file)
index 0000000..92246c6
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void TrackElementAddedHandler(object o, TrackElementAddedArgs args);
+
+       public class TrackElementAddedArgs : GLib.SignalArgs {
+               public GES.TrackElement Effect{
+                       get {
+                               return (GES.TrackElement) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_TrackElementAsset.cs b/ges/generated/GES_TrackElementAsset.cs
new file mode 100644 (file)
index 0000000..03547a7
--- /dev/null
@@ -0,0 +1,113 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TrackElementAsset : GES.Asset {
+
+               public TrackElementAsset (IntPtr raw) : base(raw) {}
+
+               protected TrackElementAsset() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_track_element_asset_get_track_type(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_track_element_asset_set_track_type(IntPtr raw, int type);
+
+               [GLib.Property ("track-type")]
+               public GES.TrackType TrackType {
+                       get  {
+                               int raw_ret = ges_track_element_asset_get_track_type(Handle);
+                               GES.TrackType ret = (GES.TrackType) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               ges_track_element_asset_set_track_type(Handle, (int) value);
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Asset.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_element_asset_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_track_element_asset_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static TrackElementAsset ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Asset.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "__ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("__ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // __ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TrackElementRemovedHandler.cs b/ges/generated/GES_TrackElementRemovedHandler.cs
new file mode 100644 (file)
index 0000000..224d61b
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void TrackElementRemovedHandler(object o, TrackElementRemovedArgs args);
+
+       public class TrackElementRemovedArgs : GLib.SignalArgs {
+               public GES.TrackElement Effect{
+                       get {
+                               return (GES.TrackElement) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_TrackRemovedHandler.cs b/ges/generated/GES_TrackRemovedHandler.cs
new file mode 100644 (file)
index 0000000..e796d94
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+
+       public delegate void TrackRemovedHandler(object o, TrackRemovedArgs args);
+
+       public class TrackRemovedArgs : GLib.SignalArgs {
+               public GES.Track Track{
+                       get {
+                               return (GES.Track) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/ges/generated/GES_TrackType.cs b/ges/generated/GES_TrackType.cs
new file mode 100644 (file)
index 0000000..b8ae049
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (GES.TrackTypeGType))]
+       public enum TrackType {
+
+               Unknown = 1,
+               Audio = 2,
+               Video = 4,
+               Text = 8,
+               Custom = 16,
+       }
+
+       internal class TrackTypeGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_track_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_track_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_Transition.cs b/ges/generated/GES_Transition.cs
new file mode 100644 (file)
index 0000000..8f92f50
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Transition : GES.Operation {
+
+               protected Transition (IntPtr raw) : base(raw) {}
+
+               protected Transition() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Operation.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_transition_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_transition_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static Transition ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Operation.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_TransitionClip.cs b/ges/generated/GES_TransitionClip.cs
new file mode 100644 (file)
index 0000000..0b7c583
--- /dev/null
@@ -0,0 +1,161 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TransitionClip : GES.BaseTransitionClip {
+
+               public TransitionClip (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_transition_clip_new(int vtype);
+
+               public TransitionClip (GES.VideoStandardTransitionType vtype) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TransitionClip)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("vtype");
+                               vals.Add (new GLib.Value (vtype));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       Raw = ges_transition_clip_new((int) vtype);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_transition_clip_new_for_nick(IntPtr nick);
+
+               public TransitionClip (string nick) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TransitionClip)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_nick = GLib.Marshaller.StringToPtrGStrdup (nick);
+                       Raw = ges_transition_clip_new_for_nick(native_nick);
+                       GLib.Marshaller.Free (native_nick);
+               }
+
+               [GLib.Property ("vtype")]
+               public GES.VideoStandardTransitionType Vtype {
+                       get {
+                               GLib.Value val = GetProperty ("vtype");
+                               GES.VideoStandardTransitionType ret = (GES.VideoStandardTransitionType) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("vtype", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public GES.VideoStandardTransitionType VtypeField {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("vtype"));
+                                       return (GES.VideoStandardTransitionType) (*raw_ptr);
+                               }
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.BaseTransitionClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_transition_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_transition_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static TransitionClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("vtype"
+                                                       , GES.BaseTransitionClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(GES.VideoStandardTransitionType))) // vtype
+                                                       , null
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GESTransitionClip_vtypeAlign), "vtype")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "vtype"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESTransitionClip_vtypeAlign
+               {
+                       sbyte f1;
+                       private GES.VideoStandardTransitionType vtype;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_UriClip.cs b/ges/generated/GES_UriClip.cs
new file mode 100644 (file)
index 0000000..39052a9
--- /dev/null
@@ -0,0 +1,178 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class UriClip : GES.SourceClip {
+
+               public UriClip (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_clip_new(IntPtr uri);
+
+               public UriClip (string uri) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (UriClip)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("uri");
+                               vals.Add (new GLib.Value (uri));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       Raw = ges_uri_clip_new(native_uri);
+                       GLib.Marshaller.Free (native_uri);
+               }
+
+               [GLib.Property ("is-image")]
+               public bool IsImageProp
+       {
+                       get {
+                               GLib.Value val = GetProperty ("is-image");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("is-image", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_uri_clip_set_mute(IntPtr raw, bool mute);
+
+               [GLib.Property ("mute")]
+               public bool Mute {
+                       get {
+                               GLib.Value val = GetProperty ("mute");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               ges_uri_clip_set_mute(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("supported-formats")]
+               public new GES.TrackType SupportedFormats {
+                       get {
+                               GLib.Value val = GetProperty ("supported-formats");
+                               GES.TrackType ret = (GES.TrackType) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("supported-formats", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_clip_get_uri(IntPtr raw);
+
+               [GLib.Property ("uri")]
+               public string Uri {
+                       get  {
+                               IntPtr raw_ret = ges_uri_clip_get_uri(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.SourceClip.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_clip_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_uri_clip_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_uri_clip_is_muted(IntPtr raw);
+
+               public bool IsMuted { 
+                       get {
+                               bool raw_ret = ges_uri_clip_is_muted(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+
+               static UriClip ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.SourceClip.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_UriClipAsset.cs b/ges/generated/GES_UriClipAsset.cs
new file mode 100644 (file)
index 0000000..14e608b
--- /dev/null
@@ -0,0 +1,187 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class UriClipAsset : GES.ClipAsset {
+
+               public UriClipAsset (IntPtr raw) : base(raw) {}
+
+               protected UriClipAsset() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong ges_uri_clip_asset_get_duration(IntPtr raw);
+
+               [GLib.Property ("duration")]
+               public ulong Duration {
+                       get  {
+                               ulong raw_ret = ges_uri_clip_asset_get_duration(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("duration", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("discoverer"
+                                                       , GES.ClipAsset.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // discoverer
+                                                       , null
+                                                       , "sync_discoverer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sync_discoverer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sync_discoverer
+                                                       , "discoverer"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "sync_discoverer"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_uri_clip_asset_class_set_timeout(ulong timeout);
+
+               public static ulong Timeout { 
+                       set {
+                               ges_uri_clip_asset_class_set_timeout(value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_clip_asset_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_uri_clip_asset_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_uri_clip_asset_new(IntPtr uri, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+               public static void New(string uri, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+                       cb_wrapper.PersistUntilCalled ();
+                       ges_uri_clip_asset_new(native_uri, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+                       GLib.Marshaller.Free (native_uri);
+               }
+
+               public static void New(string uri) {
+                       New (uri, null, null);
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr ges_uri_clip_asset_request_sync(IntPtr uri, out IntPtr error);
+
+               public static unsafe GES.UriClipAsset RequestSync(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = ges_uri_clip_asset_request_sync(native_uri, out error);
+                       GES.UriClipAsset ret = GLib.Object.GetObject(raw_ret) as GES.UriClipAsset;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_clip_asset_get_info(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererInfo Info { 
+                       get {
+                               IntPtr raw_ret = ges_uri_clip_asset_get_info(Handle);
+                               Gst.PbUtils.DiscovererInfo ret = GLib.Object.GetObject(raw_ret) as Gst.PbUtils.DiscovererInfo;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_uri_clip_asset_is_image(IntPtr raw);
+
+               public bool IsImage { 
+                       get {
+                               bool raw_ret = ges_uri_clip_asset_is_image(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+
+               static UriClipAsset ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.ClipAsset.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "__ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("__ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // __ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_UriSourceAsset.cs b/ges/generated/GES_UriSourceAsset.cs
new file mode 100644 (file)
index 0000000..33e03e7
--- /dev/null
@@ -0,0 +1,128 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class UriSourceAsset : GES.TrackElementAsset {
+
+               public UriSourceAsset (IntPtr raw) : base(raw) {}
+
+               protected UriSourceAsset() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.TrackElementAsset.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_source_asset_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_uri_source_asset_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_source_asset_get_filesource_asset(IntPtr raw);
+
+               public GES.UriClipAsset FilesourceAsset { 
+                       get {
+                               IntPtr raw_ret = ges_uri_source_asset_get_filesource_asset(Handle);
+                               GES.UriClipAsset ret = GLib.Object.GetObject(raw_ret) as GES.UriClipAsset;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_source_asset_get_stream_info(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo StreamInfo { 
+                       get {
+                               IntPtr raw_ret = ges_uri_source_asset_get_stream_info(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo ret = GLib.Object.GetObject(raw_ret) as Gst.PbUtils.DiscovererStreamInfo;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_uri_source_asset_get_stream_uri(IntPtr raw);
+
+               public string StreamUri { 
+                       get {
+                               IntPtr raw_ret = ges_uri_source_asset_get_stream_uri(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static UriSourceAsset ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.TrackElementAsset.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "__ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("__ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // __ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_VideoSource.cs b/ges/generated/GES_VideoSource.cs
new file mode 100644 (file)
index 0000000..21ddaca
--- /dev/null
@@ -0,0 +1,134 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoSource : GES.Source {
+
+               protected VideoSource (IntPtr raw) : base(raw) {}
+
+               protected VideoSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("create_source"
+                                                       , GES.Source.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_source
+                                                       , null
+                                                       , "ABI"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               // union struct ABI.abi
+                                                       new GLib.AbiField("ABI.abi.disable_scale_in_compositor"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(long)) // ABI.abi.disable_scale_in_compositor
+                                                               , "create_source"
+                                                               , null
+                                                               , (long) Marshal.OffsetOf(typeof(GESVideoSource_ABI_abi_disable_scale_in_compositorAlign), "ABI_abi_disable_scale_in_compositor")
+                                                               , 0
+                                                               ),
+                                               // End ABI.abi
+
+                                               // union struct ABI
+                                                       new GLib.AbiField("ABI._gst_reserved"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // ABI._gst_reserved
+                                                               , "create_source"
+                                                               , null
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                               , 0
+                                                               ),
+                                               // End ABI
+
+                                               new GLib.AbiField("ABI"
+                                                       , -1
+                                                       , new List<List<string>>() {  // union ABI
+                                               new List<string>() {"ABI.abi.disable_scale_in_compositor"},
+                                               new List<string>() {"ABI._gst_reserved"}
+                                         }
+                                                       , "create_source"
+                                                       , null
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GESVideoSource_ABI_abi_disable_scale_in_compositorAlign
+               {
+                       sbyte f1;
+                       private long ABI_abi_disable_scale_in_compositor;
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_video_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static VideoSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Source.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_VideoStandardTransitionType.cs b/ges/generated/GES_VideoStandardTransitionType.cs
new file mode 100644 (file)
index 0000000..8311998
--- /dev/null
@@ -0,0 +1,98 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (GES.VideoStandardTransitionTypeGType))]
+       public enum VideoStandardTransitionType {
+
+               None = 0,
+               BarWipeLr = 1,
+               BarWipeTb = 2,
+               BoxWipeTl = 3,
+               BoxWipeTr = 4,
+               BoxWipeBr = 5,
+               BoxWipeBl = 6,
+               FourBoxWipeCi = 7,
+               FourBoxWipeCo = 8,
+               BarndoorV = 21,
+               BarndoorH = 22,
+               BoxWipeTc = 23,
+               BoxWipeRc = 24,
+               BoxWipeBc = 25,
+               BoxWipeLc = 26,
+               DiagonalTl = 41,
+               DiagonalTr = 42,
+               BowtieV = 43,
+               BowtieH = 44,
+               BarndoorDbl = 45,
+               BarndoorDtl = 46,
+               MiscDiagonalDbd = 47,
+               MiscDiagonalDd = 48,
+               VeeD = 61,
+               VeeL = 62,
+               VeeU = 63,
+               VeeR = 64,
+               BarnveeD = 65,
+               BarnveeL = 66,
+               BarnveeU = 67,
+               BarnveeR = 68,
+               IrisRect = 101,
+               ClockCw12 = 201,
+               ClockCw3 = 202,
+               ClockCw6 = 203,
+               ClockCw9 = 204,
+               PinwheelTbv = 205,
+               PinwheelTbh = 206,
+               PinwheelFb = 207,
+               FanCt = 211,
+               FanCr = 212,
+               DoublefanFov = 213,
+               DoublefanFoh = 214,
+               SinglesweepCwt = 221,
+               SinglesweepCwr = 222,
+               SinglesweepCwb = 223,
+               SinglesweepCwl = 224,
+               DoublesweepPv = 225,
+               DoublesweepPd = 226,
+               DoublesweepOv = 227,
+               DoublesweepOh = 228,
+               FanT = 231,
+               FanR = 232,
+               FanB = 233,
+               FanL = 234,
+               DoublefanFiv = 235,
+               DoublefanFih = 236,
+               SinglesweepCwtl = 241,
+               SinglesweepCwbl = 242,
+               SinglesweepCwbr = 243,
+               SinglesweepCwtr = 244,
+               DoublesweepPdtl = 245,
+               DoublesweepPdbl = 246,
+               SaloondoorT = 251,
+               SaloondoorL = 252,
+               SaloondoorB = 253,
+               SaloondoorR = 254,
+               WindshieldR = 261,
+               WindshieldU = 262,
+               WindshieldV = 263,
+               WindshieldH = 264,
+               Crossfade = 512,
+       }
+
+       internal class VideoStandardTransitionTypeGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_standard_transition_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_video_standard_transition_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_VideoTestPattern.cs b/ges/generated/GES_VideoTestPattern.cs
new file mode 100644 (file)
index 0000000..323c9b0
--- /dev/null
@@ -0,0 +1,44 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (GES.VideoTestPatternGType))]
+       public enum VideoTestPattern {
+
+               Smpte = 0,
+               Snow = 1,
+               Black = 2,
+               White = 3,
+               Red = 4,
+               Green = 5,
+               Blue = 6,
+               Checkers1 = 7,
+               Checkers2 = 8,
+               Checkers4 = 9,
+               Checkers8 = 10,
+               Circular = 11,
+               Blink = 12,
+               Smpte75 = 13,
+               ZonePlate = 14,
+               Gamut = 15,
+               ChromaZonePlate = 16,
+               SolidColor = 17,
+       }
+
+       internal class VideoTestPatternGType {
+               [DllImport ("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_test_pattern_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (ges_video_test_pattern_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GES_VideoTestSource.cs b/ges/generated/GES_VideoTestSource.cs
new file mode 100644 (file)
index 0000000..b0e7ccc
--- /dev/null
@@ -0,0 +1,112 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoTestSource : GES.VideoSource {
+
+               public VideoTestSource (IntPtr raw) : base(raw) {}
+
+               protected VideoTestSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.VideoSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_test_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_video_test_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_video_test_source_get_pattern(IntPtr raw);
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_video_test_source_set_pattern(IntPtr raw, int pattern);
+
+               public GES.VideoTestPattern Pattern { 
+                       get {
+                               int raw_ret = ges_video_test_source_get_pattern(Handle);
+                               GES.VideoTestPattern ret = (GES.VideoTestPattern) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               ges_video_test_source_set_pattern(Handle, (int) value);
+                       }
+               }
+
+
+               static VideoTestSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.VideoSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_VideoTrack.cs b/ges/generated/GES_VideoTrack.cs
new file mode 100644 (file)
index 0000000..b7e2b2c
--- /dev/null
@@ -0,0 +1,102 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoTrack : GES.Track {
+
+               public VideoTrack (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_track_new();
+
+               public VideoTrack () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (VideoTrack)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_video_track_new();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Track.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_track_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_video_track_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static VideoTrack ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Track.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_VideoTransition.cs b/ges/generated/GES_VideoTransition.cs
new file mode 100644 (file)
index 0000000..3cc289c
--- /dev/null
@@ -0,0 +1,180 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoTransition : GES.Transition {
+
+               public VideoTransition (IntPtr raw) : base(raw) {}
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_transition_new();
+
+               public VideoTransition () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (VideoTransition)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = ges_video_transition_new();
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_video_transition_get_border(IntPtr raw);
+
+               [GLib.Property ("border")]
+               public int Border {
+                       get  {
+                               int raw_ret = ges_video_transition_get_border(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("border", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("invert")]
+               public bool Invert {
+                       get {
+                               GLib.Value val = GetProperty ("invert");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("invert", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern int ges_video_transition_get_transition_type(IntPtr raw);
+
+               [GLib.Property ("transition-type")]
+               public GES.VideoStandardTransitionType TransitionType {
+                       get  {
+                               int raw_ret = ges_video_transition_get_transition_type(Handle);
+                               GES.VideoStandardTransitionType ret = (GES.VideoStandardTransitionType) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("transition-type", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.Transition.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_transition_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_video_transition_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_video_transition_is_inverted(IntPtr raw);
+
+               public bool IsInverted { 
+                       get {
+                               bool raw_ret = ges_video_transition_is_inverted(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern void ges_video_transition_set_inverted(IntPtr raw, bool inverted);
+
+               public bool Inverted { 
+                       set {
+                               ges_video_transition_set_inverted(Handle, value);
+                       }
+               }
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool ges_video_transition_set_transition_type(IntPtr raw, int type);
+
+               public bool SetTransitionType(GES.VideoStandardTransitionType type) {
+                       bool raw_ret = ges_video_transition_set_transition_type(Handle, (int) type);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               static VideoTransition ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.Transition.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_VideoUriSource.cs b/ges/generated/GES_VideoUriSource.cs
new file mode 100644 (file)
index 0000000..55607cd
--- /dev/null
@@ -0,0 +1,113 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoUriSource : GES.VideoSource {
+
+               public VideoUriSource (IntPtr raw) : base(raw) {}
+
+               protected VideoUriSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("uri")]
+               public string Uri {
+                       get {
+                               GLib.Value val = GetProperty ("uri");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.VideoSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_video_uri_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_video_uri_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static VideoUriSource ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("uri"
+                                                       , GES.VideoSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // uri
+                                                       , null
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "uri"
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GES_XmlFormatter.cs b/ges/generated/GES_XmlFormatter.cs
new file mode 100644 (file)
index 0000000..6676167
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GES {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class XmlFormatter : GES.BaseXmlFormatter {
+
+               public XmlFormatter (IntPtr raw) : base(raw) {}
+
+               protected XmlFormatter() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , GES.BaseXmlFormatter.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr ges_xml_formatter_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = ges_xml_formatter_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static XmlFormatter ()
+               {
+                       GtkSharp.GstEditingServices.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GES.BaseXmlFormatter.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_ges_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_ges_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _ges_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/ges/generated/GLib_GLibSharp.AsyncReadyCallbackNative.cs b/ges/generated/GLib_GLibSharp.AsyncReadyCallbackNative.cs
new file mode 100644 (file)
index 0000000..b0e77b7
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void AsyncReadyCallbackNative(IntPtr source_object, IntPtr res, IntPtr user_data);
+
+       internal class AsyncReadyCallbackInvoker {
+
+               AsyncReadyCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~AsyncReadyCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal AsyncReadyCallbackInvoker (AsyncReadyCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal AsyncReadyCallbackInvoker (AsyncReadyCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal AsyncReadyCallbackInvoker (AsyncReadyCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal GLib.AsyncReadyCallback Handler {
+                       get {
+                               return new GLib.AsyncReadyCallback(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (GLib.Object source_object, GLib.IAsyncResult res)
+               {
+                       native_cb (source_object == null ? IntPtr.Zero : source_object.Handle, res == null ? IntPtr.Zero : ((res is GLib.Object) ? (res as GLib.Object).Handle : (res as GLib.AsyncResultAdapter).Handle), __data);
+               }
+       }
+
+       internal class AsyncReadyCallbackWrapper {
+
+               public void NativeCallback (IntPtr source_object, IntPtr res, IntPtr user_data)
+               {
+                       try {
+                               managed (GLib.Object.GetObject (source_object), GLib.AsyncResultAdapter.GetObject (res, false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal AsyncReadyCallbackNative NativeDelegate;
+               GLib.AsyncReadyCallback managed;
+
+               public AsyncReadyCallbackWrapper (GLib.AsyncReadyCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new AsyncReadyCallbackNative (NativeCallback);
+               }
+
+               public static GLib.AsyncReadyCallback GetManagedDelegate (AsyncReadyCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       AsyncReadyCallbackWrapper wrapper = (AsyncReadyCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/ges/generated/GtkSharp_ObjectManager.cs b/ges/generated/GtkSharp_ObjectManager.cs
new file mode 100644 (file)
index 0000000..05d7d95
--- /dev/null
@@ -0,0 +1,69 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GtkSharp.GstEditingServices {
+
+       public class ObjectManager {
+
+               static bool initialized = false;
+               // Call this method from the appropriate module init function.
+               public static void Initialize ()
+               {
+                       if (initialized)
+                               return;
+
+                       initialized = true;
+                       GLib.GType.Register (GES.Asset.GType, typeof (GES.Asset));
+                       GLib.GType.Register (GES.AudioSource.GType, typeof (GES.AudioSource));
+                       GLib.GType.Register (GES.AudioTestSource.GType, typeof (GES.AudioTestSource));
+                       GLib.GType.Register (GES.AudioTrack.GType, typeof (GES.AudioTrack));
+                       GLib.GType.Register (GES.AudioTransition.GType, typeof (GES.AudioTransition));
+                       GLib.GType.Register (GES.AudioUriSource.GType, typeof (GES.AudioUriSource));
+                       GLib.GType.Register (GES.BaseEffect.GType, typeof (GES.BaseEffect));
+                       GLib.GType.Register (GES.BaseEffectClip.GType, typeof (GES.BaseEffectClip));
+                       GLib.GType.Register (GES.BaseTransitionClip.GType, typeof (GES.BaseTransitionClip));
+                       GLib.GType.Register (GES.BaseXmlFormatter.GType, typeof (GES.BaseXmlFormatter));
+                       GLib.GType.Register (GES.Clip.GType, typeof (GES.Clip));
+                       GLib.GType.Register (GES.ClipAsset.GType, typeof (GES.ClipAsset));
+                       GLib.GType.Register (GES.CommandLineFormatter.GType, typeof (GES.CommandLineFormatter));
+                       GLib.GType.Register (GES.Container.GType, typeof (GES.Container));
+                       GLib.GType.Register (GES.Effect.GType, typeof (GES.Effect));
+                       GLib.GType.Register (GES.EffectAsset.GType, typeof (GES.EffectAsset));
+                       GLib.GType.Register (GES.EffectClip.GType, typeof (GES.EffectClip));
+                       GLib.GType.Register (GES.Formatter.GType, typeof (GES.Formatter));
+                       GLib.GType.Register (GES.Group.GType, typeof (GES.Group));
+                       GLib.GType.Register (GES.ImageSource.GType, typeof (GES.ImageSource));
+                       GLib.GType.Register (GES.Layer.GType, typeof (GES.Layer));
+                       GLib.GType.Register (GES.MultiFileSource.GType, typeof (GES.MultiFileSource));
+                       GLib.GType.Register (GES.Operation.GType, typeof (GES.Operation));
+                       GLib.GType.Register (GES.OperationClip.GType, typeof (GES.OperationClip));
+                       GLib.GType.Register (GES.OverlayClip.GType, typeof (GES.OverlayClip));
+                       GLib.GType.Register (GES.Pipeline.GType, typeof (GES.Pipeline));
+                       GLib.GType.Register (GES.PitiviFormatter.GType, typeof (GES.PitiviFormatter));
+                       GLib.GType.Register (GES.Project.GType, typeof (GES.Project));
+                       GLib.GType.Register (GES.Source.GType, typeof (GES.Source));
+                       GLib.GType.Register (GES.SourceClip.GType, typeof (GES.SourceClip));
+                       GLib.GType.Register (GES.TestClip.GType, typeof (GES.TestClip));
+                       GLib.GType.Register (GES.TextOverlay.GType, typeof (GES.TextOverlay));
+                       GLib.GType.Register (GES.TextOverlayClip.GType, typeof (GES.TextOverlayClip));
+                       GLib.GType.Register (GES.Timeline.GType, typeof (GES.Timeline));
+                       GLib.GType.Register (GES.TimelineElement.GType, typeof (GES.TimelineElement));
+                       GLib.GType.Register (GES.TitleClip.GType, typeof (GES.TitleClip));
+                       GLib.GType.Register (GES.TitleSource.GType, typeof (GES.TitleSource));
+                       GLib.GType.Register (GES.Track.GType, typeof (GES.Track));
+                       GLib.GType.Register (GES.TrackElement.GType, typeof (GES.TrackElement));
+                       GLib.GType.Register (GES.TrackElementAsset.GType, typeof (GES.TrackElementAsset));
+                       GLib.GType.Register (GES.Transition.GType, typeof (GES.Transition));
+                       GLib.GType.Register (GES.TransitionClip.GType, typeof (GES.TransitionClip));
+                       GLib.GType.Register (GES.UriClip.GType, typeof (GES.UriClip));
+                       GLib.GType.Register (GES.UriClipAsset.GType, typeof (GES.UriClipAsset));
+                       GLib.GType.Register (GES.UriSourceAsset.GType, typeof (GES.UriSourceAsset));
+                       GLib.GType.Register (GES.VideoSource.GType, typeof (GES.VideoSource));
+                       GLib.GType.Register (GES.VideoTestSource.GType, typeof (GES.VideoTestSource));
+                       GLib.GType.Register (GES.VideoTrack.GType, typeof (GES.VideoTrack));
+                       GLib.GType.Register (GES.VideoTransition.GType, typeof (GES.VideoTransition));
+                       GLib.GType.Register (GES.VideoUriSource.GType, typeof (GES.VideoUriSource));
+                       GLib.GType.Register (GES.XmlFormatter.GType, typeof (GES.XmlFormatter));
+               }
+       }
+}
diff --git a/ges/generated/gst-editing-services-abi.c b/ges/generated/gst-editing-services-abi.c
new file mode 100644 (file)
index 0000000..05ee604
--- /dev/null
@@ -0,0 +1,352 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+#include <ges/ges.h>
+
+int main (int argc, char *argv[]) {
+       g_print("\"sizeof(GESAssetClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAssetClass));
+       g_print("\"GESAssetClass.start_loading\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAssetClass, start_loading));
+       g_print("\"GESAssetClass.extract\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAssetClass, extract));
+       g_print("\"GESAssetClass.inform_proxy\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAssetClass, inform_proxy));
+       g_print("\"GESAssetClass.proxied\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAssetClass, proxied));
+       g_print("\"GESAssetClass.request_id_update\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAssetClass, request_id_update));
+       g_print("\"GESAssetClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAssetClass, _ges_reserved));
+       g_print("\"sizeof(GESAsset)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAsset));
+       g_print("\"GESAsset.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAsset, priv));
+       g_print("\"GESAsset._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAsset, _ges_reserved));
+       g_print("\"sizeof(GESAudioSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioSourceClass));
+       g_print("\"GESAudioSourceClass.create_source\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioSourceClass, create_source));
+       g_print("\"GESAudioSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESAudioSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioSource));
+       g_print("\"GESAudioSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioSource, priv));
+       g_print("\"GESAudioSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioSource, _ges_reserved));
+       g_print("\"sizeof(GESAudioTestSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTestSourceClass));
+       g_print("\"GESAudioTestSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTestSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESAudioTestSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTestSource));
+       g_print("\"GESAudioTestSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTestSource, priv));
+       g_print("\"GESAudioTestSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTestSource, _ges_reserved));
+       g_print("\"sizeof(GESAudioTrackClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTrackClass));
+       g_print("\"GESAudioTrackClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTrackClass, _ges_reserved));
+       g_print("\"sizeof(GESAudioTrack)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTrack));
+       g_print("\"GESAudioTrack.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTrack, priv));
+       g_print("\"GESAudioTrack._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTrack, _ges_reserved));
+       g_print("\"sizeof(GESAudioTransitionClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTransitionClass));
+       g_print("\"GESAudioTransitionClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTransitionClass, _ges_reserved));
+       g_print("\"sizeof(GESAudioTransition)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTransition));
+       g_print("\"GESAudioTransition.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTransition, priv));
+       g_print("\"GESAudioTransition._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioTransition, _ges_reserved));
+       g_print("\"sizeof(GESAudioUriSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioUriSourceClass));
+       g_print("\"GESAudioUriSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioUriSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESAudioUriSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioUriSource));
+       g_print("\"GESAudioUriSource.uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioUriSource, uri));
+       g_print("\"GESAudioUriSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioUriSource, priv));
+       g_print("\"GESAudioUriSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESAudioUriSource, _ges_reserved));
+       g_print("\"sizeof(GESBaseEffectClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseEffectClass));
+       g_print("\"GESBaseEffectClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseEffectClass, _ges_reserved));
+       g_print("\"sizeof(GESBaseEffect)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseEffect));
+       g_print("\"GESBaseEffect.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseEffect, priv));
+       g_print("\"GESBaseEffect._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseEffect, _ges_reserved));
+       g_print("\"sizeof(GESBaseEffectClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseEffectClipClass));
+       g_print("\"GESBaseEffectClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseEffectClipClass, _ges_reserved));
+       g_print("\"sizeof(GESBaseEffectClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseEffectClip));
+       g_print("\"GESBaseEffectClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseEffectClip, priv));
+       g_print("\"GESBaseEffectClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseEffectClip, _ges_reserved));
+       g_print("\"sizeof(GESBaseTransitionClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseTransitionClipClass));
+       g_print("\"GESBaseTransitionClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseTransitionClipClass, _ges_reserved));
+       g_print("\"sizeof(GESBaseTransitionClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseTransitionClip));
+       g_print("\"GESBaseTransitionClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseTransitionClip, priv));
+       g_print("\"GESBaseTransitionClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseTransitionClip, _ges_reserved));
+       g_print("\"sizeof(GESBaseXmlFormatterClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseXmlFormatterClass));
+       g_print("\"GESBaseXmlFormatterClass.content_parser\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseXmlFormatterClass, content_parser));
+       g_print("\"GESBaseXmlFormatterClass.save\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseXmlFormatterClass, save));
+       g_print("\"GESBaseXmlFormatterClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseXmlFormatterClass, _ges_reserved));
+       g_print("\"sizeof(GESBaseXmlFormatter)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseXmlFormatter));
+       g_print("\"GESBaseXmlFormatter.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseXmlFormatter, priv));
+       g_print("\"GESBaseXmlFormatter._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseXmlFormatter, _ges_reserved));
+       g_print("\"sizeof(GESClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESClipClass));
+       g_print("\"GESClipClass.create_track_element\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClipClass, create_track_element));
+       g_print("\"GESClipClass.create_track_elements\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClipClass, create_track_elements));
+       g_print("\"GESClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClipClass, _ges_reserved));
+       g_print("\"sizeof(GESClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESClip));
+       g_print("\"GESClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClip, priv));
+       g_print("\"GESClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClip, _ges_reserved));
+       g_print("\"sizeof(GESClipAssetClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESClipAssetClass));
+       g_print("\"GESClipAssetClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClipAssetClass, _ges_reserved));
+       g_print("\"sizeof(GESClipAsset)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESClipAsset));
+       g_print("\"GESClipAsset.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClipAsset, priv));
+       g_print("\"GESClipAsset._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClipAsset, _ges_reserved));
+       g_print("\"sizeof(GESCommandLineFormatter)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESCommandLineFormatter));
+       g_print("\"GESCommandLineFormatter.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESCommandLineFormatter, priv));
+       g_print("\"sizeof(GESContainerClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESContainerClass));
+       g_print("\"GESContainerClass.child_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, child_added));
+       g_print("\"GESContainerClass.child_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, child_removed));
+       g_print("\"GESContainerClass.add_child\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, add_child));
+       g_print("\"GESContainerClass.remove_child\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, remove_child));
+       g_print("\"GESContainerClass.ungroup\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, ungroup));
+       g_print("\"GESContainerClass.group\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, group));
+       g_print("\"GESContainerClass.edit\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, edit));
+       g_print("\"GESContainerClass.grouping_priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, grouping_priority));
+       g_print("\"GESContainerClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainerClass, _ges_reserved));
+       g_print("\"sizeof(GESContainer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESContainer));
+       g_print("\"GESContainer.children\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainer, children));
+       g_print("\"GESContainer.height\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainer, height));
+       g_print("\"GESContainer.children_control_mode\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainer, children_control_mode));
+       g_print("\"GESContainer.initiated_move\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainer, initiated_move));
+       g_print("\"GESContainer.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainer, priv));
+       g_print("\"GESContainer._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESContainer, _ges_reserved));
+       g_print("\"sizeof(GESEffectClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESEffectClass));
+       g_print("\"GESEffectClass.rate_properties\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESEffectClass, rate_properties));
+       g_print("\"GESEffectClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESEffectClass, _ges_reserved));
+       g_print("\"sizeof(GESEffect)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESEffect));
+       g_print("\"GESEffect.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESEffect, priv));
+       g_print("\"GESEffect._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESEffect, _ges_reserved));
+       g_print("\"sizeof(GESEffectClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESEffectClipClass));
+       g_print("\"GESEffectClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESEffectClipClass, _ges_reserved));
+       g_print("\"sizeof(GESEffectClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESEffectClip));
+       g_print("\"GESEffectClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESEffectClip, priv));
+       g_print("\"GESEffectClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESEffectClip, _ges_reserved));
+       g_print("\"sizeof(GESFormatterClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESFormatterClass));
+       g_print("\"GESFormatterClass.can_load_uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, can_load_uri));
+       g_print("\"GESFormatterClass.load_from_uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, load_from_uri));
+       g_print("\"GESFormatterClass.save_to_uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, save_to_uri));
+       g_print("\"GESFormatterClass.name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, name));
+       g_print("\"GESFormatterClass.description\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, description));
+       g_print("\"GESFormatterClass.extension\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, extension));
+       g_print("\"GESFormatterClass.mimetype\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, mimetype));
+       g_print("\"GESFormatterClass.version\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, version));
+       g_print("\"GESFormatterClass.rank\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, rank));
+       g_print("\"GESFormatterClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatterClass, _ges_reserved));
+       g_print("\"sizeof(GESFormatter)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESFormatter));
+       g_print("\"GESFormatter.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatter, priv));
+       g_print("\"GESFormatter.project\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatter, project));
+       g_print("\"GESFormatter.timeline\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatter, timeline));
+       g_print("\"GESFormatter._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESFormatter, _ges_reserved));
+       g_print("\"sizeof(GESGroupClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESGroupClass));
+       g_print("\"GESGroupClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESGroupClass, _ges_reserved));
+       g_print("\"sizeof(GESGroup)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESGroup));
+       g_print("\"GESGroup.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESGroup, priv));
+       g_print("\"GESGroup._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESGroup, _ges_reserved));
+       g_print("\"sizeof(GESImageSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESImageSourceClass));
+       g_print("\"GESImageSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESImageSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESImageSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESImageSource));
+       g_print("\"GESImageSource.uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESImageSource, uri));
+       g_print("\"GESImageSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESImageSource, priv));
+       g_print("\"GESImageSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESImageSource, _ges_reserved));
+       g_print("\"sizeof(GESLayerClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESLayerClass));
+       g_print("\"GESLayerClass.get_objects\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayerClass, get_objects));
+       g_print("\"GESLayerClass.object_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayerClass, object_added));
+       g_print("\"GESLayerClass.object_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayerClass, object_removed));
+       g_print("\"GESLayerClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayerClass, _ges_reserved));
+       g_print("\"sizeof(GESLayer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESLayer));
+       g_print("\"GESLayer.timeline\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayer, timeline));
+       g_print("\"GESLayer.min_nle_priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayer, min_nle_priority));
+       g_print("\"GESLayer.max_nle_priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayer, max_nle_priority));
+       g_print("\"GESLayer.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayer, priv));
+       g_print("\"GESLayer._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESLayer, _ges_reserved));
+       g_print("\"sizeof(GESMultiFileSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESMultiFileSourceClass));
+       g_print("\"GESMultiFileSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESMultiFileSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESMultiFileSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESMultiFileSource));
+       g_print("\"GESMultiFileSource.uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESMultiFileSource, uri));
+       g_print("\"GESMultiFileSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESMultiFileSource, priv));
+       g_print("\"GESMultiFileSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESMultiFileSource, _ges_reserved));
+       g_print("\"sizeof(GESOperationClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOperationClass));
+       g_print("\"GESOperationClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOperationClass, _ges_reserved));
+       g_print("\"sizeof(GESOperation)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOperation));
+       g_print("\"GESOperation.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOperation, priv));
+       g_print("\"GESOperation._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOperation, _ges_reserved));
+       g_print("\"sizeof(GESOperationClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOperationClipClass));
+       g_print("\"GESOperationClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOperationClipClass, _ges_reserved));
+       g_print("\"sizeof(GESOperationClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOperationClip));
+       g_print("\"GESOperationClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOperationClip, priv));
+       g_print("\"GESOperationClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOperationClip, _ges_reserved));
+       g_print("\"sizeof(GESOverlayClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOverlayClipClass));
+       g_print("\"GESOverlayClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOverlayClipClass, _ges_reserved));
+       g_print("\"sizeof(GESOverlayClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOverlayClip));
+       g_print("\"GESOverlayClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOverlayClip, priv));
+       g_print("\"GESOverlayClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESOverlayClip, _ges_reserved));
+       g_print("\"sizeof(GESPipelineClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESPipelineClass));
+       g_print("\"GESPipelineClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESPipelineClass, _ges_reserved));
+       g_print("\"sizeof(GESPipeline)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESPipeline));
+       g_print("\"GESPipeline.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESPipeline, priv));
+       g_print("\"GESPipeline._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESPipeline, _ges_reserved));
+       g_print("\"sizeof(GESPitiviFormatterClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESPitiviFormatterClass));
+       g_print("\"GESPitiviFormatterClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESPitiviFormatterClass, _ges_reserved));
+       g_print("\"sizeof(GESPitiviFormatter)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESPitiviFormatter));
+       g_print("\"GESPitiviFormatter.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESPitiviFormatter, priv));
+       g_print("\"GESPitiviFormatter._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESPitiviFormatter, _ges_reserved));
+       g_print("\"sizeof(GESProjectClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESProjectClass));
+       g_print("\"GESProjectClass.asset_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProjectClass, asset_added));
+       g_print("\"GESProjectClass.asset_loading\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProjectClass, asset_loading));
+       g_print("\"GESProjectClass.asset_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProjectClass, asset_removed));
+       g_print("\"GESProjectClass.missing_uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProjectClass, missing_uri));
+       g_print("\"GESProjectClass.loading_error\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProjectClass, loading_error));
+       g_print("\"GESProjectClass.loaded\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProjectClass, loaded));
+       g_print("\"GESProjectClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProjectClass, _ges_reserved));
+       g_print("\"sizeof(GESProject)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESProject));
+       g_print("\"GESProject.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProject, priv));
+       g_print("\"GESProject.__ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProject, __ges_reserved));
+       g_print("\"sizeof(GESSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESSourceClass));
+       g_print("\"GESSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESSource));
+       g_print("\"GESSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESSource, priv));
+       g_print("\"GESSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESSource, _ges_reserved));
+       g_print("\"sizeof(GESSourceClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESSourceClipClass));
+       g_print("\"GESSourceClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESSourceClipClass, _ges_reserved));
+       g_print("\"sizeof(GESSourceClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESSourceClip));
+       g_print("\"GESSourceClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESSourceClip, priv));
+       g_print("\"GESSourceClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESSourceClip, _ges_reserved));
+       g_print("\"sizeof(GESTestClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTestClipClass));
+       g_print("\"GESTestClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTestClipClass, _ges_reserved));
+       g_print("\"sizeof(GESTestClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTestClip));
+       g_print("\"GESTestClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTestClip, priv));
+       g_print("\"GESTestClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTestClip, _ges_reserved));
+       g_print("\"sizeof(GESTextOverlayClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTextOverlayClass));
+       g_print("\"GESTextOverlayClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTextOverlayClass, _ges_reserved));
+       g_print("\"sizeof(GESTextOverlay)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTextOverlay));
+       g_print("\"GESTextOverlay.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTextOverlay, priv));
+       g_print("\"GESTextOverlay._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTextOverlay, _ges_reserved));
+       g_print("\"sizeof(GESTextOverlayClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTextOverlayClipClass));
+       g_print("\"GESTextOverlayClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTextOverlayClipClass, _ges_reserved));
+       g_print("\"sizeof(GESTextOverlayClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTextOverlayClip));
+       g_print("\"GESTextOverlayClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTextOverlayClip, priv));
+       g_print("\"GESTextOverlayClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTextOverlayClip, _ges_reserved));
+       g_print("\"sizeof(GESTimelineClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTimelineClass));
+       g_print("\"GESTimelineClass.track_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineClass, track_added));
+       g_print("\"GESTimelineClass.track_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineClass, track_removed));
+       g_print("\"GESTimelineClass.layer_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineClass, layer_added));
+       g_print("\"GESTimelineClass.layer_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineClass, layer_removed));
+       g_print("\"GESTimelineClass.group_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineClass, group_added));
+       g_print("\"GESTimelineClass.group_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineClass, group_removed));
+       g_print("\"GESTimelineClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineClass, _ges_reserved));
+       g_print("\"sizeof(GESTimeline)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTimeline));
+       g_print("\"GESTimeline.layers\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimeline, layers));
+       g_print("\"GESTimeline.tracks\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimeline, tracks));
+       g_print("\"GESTimeline.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimeline, priv));
+       g_print("\"GESTimeline._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimeline, _ges_reserved));
+       g_print("\"sizeof(GESTimelineElementClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTimelineElementClass));
+       g_print("\"GESTimelineElementClass.set_parent\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, set_parent));
+       g_print("\"GESTimelineElementClass.set_start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, set_start));
+       g_print("\"GESTimelineElementClass.set_inpoint\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, set_inpoint));
+       g_print("\"GESTimelineElementClass.set_duration\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, set_duration));
+       g_print("\"GESTimelineElementClass.set_max_duration\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, set_max_duration));
+       g_print("\"GESTimelineElementClass.set_priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, set_priority));
+       g_print("\"GESTimelineElementClass.ripple\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, ripple));
+       g_print("\"GESTimelineElementClass.ripple_end\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, ripple_end));
+       g_print("\"GESTimelineElementClass.roll_start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, roll_start));
+       g_print("\"GESTimelineElementClass.roll_end\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, roll_end));
+       g_print("\"GESTimelineElementClass.trim\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, trim));
+       g_print("\"GESTimelineElementClass.deep_copy\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, deep_copy));
+       g_print("\"GESTimelineElementClass.paste\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, paste));
+       g_print("\"GESTimelineElementClass.list_children_properties\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, list_children_properties));
+       g_print("\"GESTimelineElementClass.lookup_child\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, lookup_child));
+       g_print("\"GESTimelineElementClass.get_track_types\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, get_track_types));
+       g_print("\"GESTimelineElementClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, _ges_reserved));
+       g_print("\"sizeof(GESTimelineElement)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTimelineElement));
+       g_print("\"GESTimelineElement.parent\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, parent));
+       g_print("\"GESTimelineElement.asset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, asset));
+       g_print("\"GESTimelineElement.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, start));
+       g_print("\"GESTimelineElement.inpoint\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, inpoint));
+       g_print("\"GESTimelineElement.duration\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, duration));
+       g_print("\"GESTimelineElement.maxduration\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, maxduration));
+       g_print("\"GESTimelineElement.priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, priority));
+       g_print("\"GESTimelineElement.timeline\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, timeline));
+       g_print("\"GESTimelineElement.name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, name));
+       g_print("\"GESTimelineElement.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, priv));
+       g_print("\"GESTimelineElement._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElement, _ges_reserved));
+       g_print("\"sizeof(GESTitleClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTitleClipClass));
+       g_print("\"GESTitleClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTitleClipClass, _ges_reserved));
+       g_print("\"sizeof(GESTitleClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTitleClip));
+       g_print("\"GESTitleClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTitleClip, priv));
+       g_print("\"GESTitleClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTitleClip, _ges_reserved));
+       g_print("\"sizeof(GESTitleSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTitleSourceClass));
+       g_print("\"GESTitleSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTitleSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESTitleSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTitleSource));
+       g_print("\"GESTitleSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTitleSource, priv));
+       g_print("\"GESTitleSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTitleSource, _ges_reserved));
+       g_print("\"sizeof(GESTrackClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTrackClass));
+       g_print("\"GESTrackClass.get_mixing_element\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackClass, get_mixing_element));
+       g_print("\"GESTrackClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackClass, _ges_reserved));
+       g_print("\"sizeof(GESTrack)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTrack));
+       g_print("\"GESTrack.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrack, type));
+       g_print("\"GESTrack.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrack, priv));
+       g_print("\"GESTrack._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrack, _ges_reserved));
+       g_print("\"sizeof(GESTrackElementClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTrackElementClass));
+       g_print("\"GESTrackElementClass.nleobject_factorytype\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementClass, nleobject_factorytype));
+       g_print("\"GESTrackElementClass.create_gnl_object\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementClass, create_gnl_object));
+       g_print("\"GESTrackElementClass.create_element\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementClass, create_element));
+       g_print("\"GESTrackElementClass.active_changed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementClass, active_changed));
+       g_print("\"GESTrackElementClass.changed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementClass, changed));
+       g_print("\"GESTrackElementClass.list_children_properties\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementClass, list_children_properties));
+       g_print("\"GESTrackElementClass.lookup_child\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementClass, lookup_child));
+       g_print("\"GESTrackElementClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementClass, _ges_reserved));
+       g_print("\"sizeof(GESTrackElement)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTrackElement));
+       g_print("\"GESTrackElement.active\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElement, active));
+       g_print("\"GESTrackElement.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElement, priv));
+       g_print("\"GESTrackElement.asset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElement, asset));
+       g_print("\"GESTrackElement._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElement, _ges_reserved));
+       g_print("\"sizeof(GESTrackElementAssetClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTrackElementAssetClass));
+       g_print("\"GESTrackElementAssetClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementAssetClass, _ges_reserved));
+       g_print("\"sizeof(GESTrackElementAsset)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTrackElementAsset));
+       g_print("\"GESTrackElementAsset.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementAsset, priv));
+       g_print("\"GESTrackElementAsset.__ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementAsset, __ges_reserved));
+       g_print("\"sizeof(GESTransitionClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTransitionClass));
+       g_print("\"GESTransitionClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTransitionClass, _ges_reserved));
+       g_print("\"sizeof(GESTransition)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTransition));
+       g_print("\"GESTransition.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTransition, priv));
+       g_print("\"GESTransition._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTransition, _ges_reserved));
+       g_print("\"sizeof(GESTransitionClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTransitionClipClass));
+       g_print("\"GESTransitionClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTransitionClipClass, _ges_reserved));
+       g_print("\"sizeof(GESTransitionClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTransitionClip));
+       g_print("\"GESTransitionClip.vtype\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTransitionClip, vtype));
+       g_print("\"GESTransitionClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTransitionClip, priv));
+       g_print("\"GESTransitionClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTransitionClip, _ges_reserved));
+       g_print("\"sizeof(GESUriClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESUriClipClass));
+       g_print("\"GESUriClipClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClipClass, _ges_reserved));
+       g_print("\"sizeof(GESUriClip)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESUriClip));
+       g_print("\"GESUriClip.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClip, priv));
+       g_print("\"GESUriClip._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClip, _ges_reserved));
+       g_print("\"sizeof(GESUriClipAssetClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESUriClipAssetClass));
+       g_print("\"GESUriClipAssetClass.discoverer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClipAssetClass, discoverer));
+       g_print("\"GESUriClipAssetClass.sync_discoverer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClipAssetClass, sync_discoverer));
+       g_print("\"GESUriClipAssetClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClipAssetClass, _ges_reserved));
+       g_print("\"sizeof(GESUriClipAsset)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESUriClipAsset));
+       g_print("\"GESUriClipAsset.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClipAsset, priv));
+       g_print("\"GESUriClipAsset.__ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClipAsset, __ges_reserved));
+       g_print("\"sizeof(GESUriSourceAssetClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESUriSourceAssetClass));
+       g_print("\"GESUriSourceAssetClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriSourceAssetClass, _ges_reserved));
+       g_print("\"sizeof(GESUriSourceAsset)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESUriSourceAsset));
+       g_print("\"GESUriSourceAsset.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriSourceAsset, priv));
+       g_print("\"GESUriSourceAsset.__ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriSourceAsset, __ges_reserved));
+       g_print("\"sizeof(GESVideoSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoSourceClass));
+       g_print("\"GESVideoSourceClass.create_source\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoSourceClass, create_source));
+       g_print("\"sizeof(GESVideoSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoSource));
+       g_print("\"GESVideoSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoSource, priv));
+       g_print("\"GESVideoSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoSource, _ges_reserved));
+       g_print("\"sizeof(GESVideoTestSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTestSourceClass));
+       g_print("\"GESVideoTestSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTestSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESVideoTestSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTestSource));
+       g_print("\"GESVideoTestSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTestSource, priv));
+       g_print("\"GESVideoTestSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTestSource, _ges_reserved));
+       g_print("\"sizeof(GESVideoTrackClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTrackClass));
+       g_print("\"GESVideoTrackClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTrackClass, _ges_reserved));
+       g_print("\"sizeof(GESVideoTrack)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTrack));
+       g_print("\"GESVideoTrack.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTrack, priv));
+       g_print("\"GESVideoTrack._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTrack, _ges_reserved));
+       g_print("\"sizeof(GESVideoTransitionClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTransitionClass));
+       g_print("\"GESVideoTransitionClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTransitionClass, _ges_reserved));
+       g_print("\"sizeof(GESVideoTransition)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTransition));
+       g_print("\"GESVideoTransition.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTransition, priv));
+       g_print("\"GESVideoTransition._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoTransition, _ges_reserved));
+       g_print("\"sizeof(GESVideoUriSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoUriSourceClass));
+       g_print("\"GESVideoUriSourceClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoUriSourceClass, _ges_reserved));
+       g_print("\"sizeof(GESVideoUriSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoUriSource));
+       g_print("\"GESVideoUriSource.uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoUriSource, uri));
+       g_print("\"GESVideoUriSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoUriSource, priv));
+       g_print("\"GESVideoUriSource._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESVideoUriSource, _ges_reserved));
+       g_print("\"sizeof(GESXmlFormatterClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESXmlFormatterClass));
+       g_print("\"GESXmlFormatterClass._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESXmlFormatterClass, _ges_reserved));
+       g_print("\"sizeof(GESXmlFormatter)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESXmlFormatter));
+       g_print("\"GESXmlFormatter.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESXmlFormatter, priv));
+       g_print("\"GESXmlFormatter._ges_reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESXmlFormatter, _ges_reserved));
+       return 0;
+}
diff --git a/ges/generated/gst-editing-services-abi.cs b/ges/generated/gst-editing-services-abi.cs
new file mode 100644 (file)
index 0000000..64373f7
--- /dev/null
@@ -0,0 +1,368 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+using Gst;
+using Gst.Video;
+using Gst.Sdp;
+using Gst.Tags;
+using Gst.Rtsp;
+using Gst.PbUtils;
+using Gst.Net;
+using Gst.FFT;
+using Gst.Controller;
+using Gst.Base;
+using Gst.Audio;
+using Gst.App;
+using GES;
+using System;
+
+namespace AbiTester {
+       class ___Gst {
+               public static void Main (string[] args) {
+                       Console.WriteLine("\"sizeof(GESAssetClass)\": \"" + GES.Asset.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESAssetClass.start_loading\": \"" + GES.Asset.class_abi.GetFieldOffset("start_loading") + "\"");
+                       Console.WriteLine("\"GESAssetClass.extract\": \"" + GES.Asset.class_abi.GetFieldOffset("extract") + "\"");
+                       Console.WriteLine("\"GESAssetClass.inform_proxy\": \"" + GES.Asset.class_abi.GetFieldOffset("inform_proxy") + "\"");
+                       Console.WriteLine("\"GESAssetClass.proxied\": \"" + GES.Asset.class_abi.GetFieldOffset("proxied") + "\"");
+                       Console.WriteLine("\"GESAssetClass.request_id_update\": \"" + GES.Asset.class_abi.GetFieldOffset("request_id_update") + "\"");
+                       Console.WriteLine("\"GESAssetClass._ges_reserved\": \"" + GES.Asset.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAsset)\": \"" + GES.Asset.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESAsset.priv\": \"" + GES.Asset.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESAsset._ges_reserved\": \"" + GES.Asset.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioSourceClass)\": \"" + GES.AudioSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESAudioSourceClass.create_source\": \"" + GES.AudioSource.class_abi.GetFieldOffset("create_source") + "\"");
+                       Console.WriteLine("\"GESAudioSourceClass._ges_reserved\": \"" + GES.AudioSource.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioSource)\": \"" + GES.AudioSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESAudioSource.priv\": \"" + GES.AudioSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESAudioSource._ges_reserved\": \"" + GES.AudioSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioTestSourceClass)\": \"" + GES.AudioTestSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESAudioTestSourceClass._ges_reserved\": \"" + GES.AudioTestSource.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioTestSource)\": \"" + GES.AudioTestSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESAudioTestSource.priv\": \"" + GES.AudioTestSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESAudioTestSource._ges_reserved\": \"" + GES.AudioTestSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioTrackClass)\": \"" + GES.AudioTrack.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESAudioTrackClass._ges_reserved\": \"" + GES.AudioTrack.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioTrack)\": \"" + GES.AudioTrack.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESAudioTrack.priv\": \"" + GES.AudioTrack.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESAudioTrack._ges_reserved\": \"" + GES.AudioTrack.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioTransitionClass)\": \"" + GES.AudioTransition.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESAudioTransitionClass._ges_reserved\": \"" + GES.AudioTransition.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioTransition)\": \"" + GES.AudioTransition.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESAudioTransition.priv\": \"" + GES.AudioTransition.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESAudioTransition._ges_reserved\": \"" + GES.AudioTransition.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioUriSourceClass)\": \"" + GES.AudioUriSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESAudioUriSourceClass._ges_reserved\": \"" + GES.AudioUriSource.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESAudioUriSource)\": \"" + GES.AudioUriSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESAudioUriSource.uri\": \"" + GES.AudioUriSource.abi_info.GetFieldOffset("uri") + "\"");
+                       Console.WriteLine("\"GESAudioUriSource.priv\": \"" + GES.AudioUriSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESAudioUriSource._ges_reserved\": \"" + GES.AudioUriSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESBaseEffectClass)\": \"" + GES.BaseEffect.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESBaseEffectClass._ges_reserved\": \"" + GES.BaseEffect.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESBaseEffect)\": \"" + GES.BaseEffect.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESBaseEffect.priv\": \"" + GES.BaseEffect.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESBaseEffect._ges_reserved\": \"" + GES.BaseEffect.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESBaseEffectClipClass)\": \"" + GES.BaseEffectClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESBaseEffectClipClass._ges_reserved\": \"" + GES.BaseEffectClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESBaseEffectClip)\": \"" + GES.BaseEffectClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESBaseEffectClip.priv\": \"" + GES.BaseEffectClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESBaseEffectClip._ges_reserved\": \"" + GES.BaseEffectClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESBaseTransitionClipClass)\": \"" + GES.BaseTransitionClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESBaseTransitionClipClass._ges_reserved\": \"" + GES.BaseTransitionClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESBaseTransitionClip)\": \"" + GES.BaseTransitionClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESBaseTransitionClip.priv\": \"" + GES.BaseTransitionClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESBaseTransitionClip._ges_reserved\": \"" + GES.BaseTransitionClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESBaseXmlFormatterClass)\": \"" + GES.BaseXmlFormatter.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESBaseXmlFormatterClass.content_parser\": \"" + GES.BaseXmlFormatter.class_abi.GetFieldOffset("content_parser") + "\"");
+                       Console.WriteLine("\"GESBaseXmlFormatterClass.save\": \"" + GES.BaseXmlFormatter.class_abi.GetFieldOffset("save") + "\"");
+                       Console.WriteLine("\"GESBaseXmlFormatterClass._ges_reserved\": \"" + GES.BaseXmlFormatter.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESBaseXmlFormatter)\": \"" + GES.BaseXmlFormatter.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESBaseXmlFormatter.priv\": \"" + GES.BaseXmlFormatter.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESBaseXmlFormatter._ges_reserved\": \"" + GES.BaseXmlFormatter.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESClipClass)\": \"" + GES.Clip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESClipClass.create_track_element\": \"" + GES.Clip.class_abi.GetFieldOffset("create_track_element") + "\"");
+                       Console.WriteLine("\"GESClipClass.create_track_elements\": \"" + GES.Clip.class_abi.GetFieldOffset("create_track_elements") + "\"");
+                       Console.WriteLine("\"GESClipClass._ges_reserved\": \"" + GES.Clip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESClip)\": \"" + GES.Clip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESClip.priv\": \"" + GES.Clip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESClip._ges_reserved\": \"" + GES.Clip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESClipAssetClass)\": \"" + GES.ClipAsset.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESClipAssetClass._ges_reserved\": \"" + GES.ClipAsset.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESClipAsset)\": \"" + GES.ClipAsset.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESClipAsset.priv\": \"" + GES.ClipAsset.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESClipAsset._ges_reserved\": \"" + GES.ClipAsset.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESCommandLineFormatter)\": \"" + GES.CommandLineFormatter.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESCommandLineFormatter.priv\": \"" + GES.CommandLineFormatter.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GESContainerClass)\": \"" + GES.Container.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESContainerClass.child_added\": \"" + GES.Container.class_abi.GetFieldOffset("child_added") + "\"");
+                       Console.WriteLine("\"GESContainerClass.child_removed\": \"" + GES.Container.class_abi.GetFieldOffset("child_removed") + "\"");
+                       Console.WriteLine("\"GESContainerClass.add_child\": \"" + GES.Container.class_abi.GetFieldOffset("add_child") + "\"");
+                       Console.WriteLine("\"GESContainerClass.remove_child\": \"" + GES.Container.class_abi.GetFieldOffset("remove_child") + "\"");
+                       Console.WriteLine("\"GESContainerClass.ungroup\": \"" + GES.Container.class_abi.GetFieldOffset("ungroup") + "\"");
+                       Console.WriteLine("\"GESContainerClass.group\": \"" + GES.Container.class_abi.GetFieldOffset("group") + "\"");
+                       Console.WriteLine("\"GESContainerClass.edit\": \"" + GES.Container.class_abi.GetFieldOffset("edit") + "\"");
+                       Console.WriteLine("\"GESContainerClass.grouping_priority\": \"" + GES.Container.class_abi.GetFieldOffset("grouping_priority") + "\"");
+                       Console.WriteLine("\"GESContainerClass._ges_reserved\": \"" + GES.Container.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESContainer)\": \"" + GES.Container.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESContainer.children\": \"" + GES.Container.abi_info.GetFieldOffset("children") + "\"");
+                       Console.WriteLine("\"GESContainer.height\": \"" + GES.Container.abi_info.GetFieldOffset("height") + "\"");
+                       Console.WriteLine("\"GESContainer.children_control_mode\": \"" + GES.Container.abi_info.GetFieldOffset("children_control_mode") + "\"");
+                       Console.WriteLine("\"GESContainer.initiated_move\": \"" + GES.Container.abi_info.GetFieldOffset("initiated_move") + "\"");
+                       Console.WriteLine("\"GESContainer.priv\": \"" + GES.Container.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESContainer._ges_reserved\": \"" + GES.Container.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESEffectClass)\": \"" + GES.Effect.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESEffectClass.rate_properties\": \"" + GES.Effect.class_abi.GetFieldOffset("rate_properties") + "\"");
+                       Console.WriteLine("\"GESEffectClass._ges_reserved\": \"" + GES.Effect.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESEffect)\": \"" + GES.Effect.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESEffect.priv\": \"" + GES.Effect.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESEffect._ges_reserved\": \"" + GES.Effect.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESEffectClipClass)\": \"" + GES.EffectClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESEffectClipClass._ges_reserved\": \"" + GES.EffectClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESEffectClip)\": \"" + GES.EffectClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESEffectClip.priv\": \"" + GES.EffectClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESEffectClip._ges_reserved\": \"" + GES.EffectClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESFormatterClass)\": \"" + GES.Formatter.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESFormatterClass.can_load_uri\": \"" + GES.Formatter.class_abi.GetFieldOffset("can_load_uri") + "\"");
+                       Console.WriteLine("\"GESFormatterClass.load_from_uri\": \"" + GES.Formatter.class_abi.GetFieldOffset("load_from_uri") + "\"");
+                       Console.WriteLine("\"GESFormatterClass.save_to_uri\": \"" + GES.Formatter.class_abi.GetFieldOffset("save_to_uri") + "\"");
+                       Console.WriteLine("\"GESFormatterClass.name\": \"" + GES.Formatter.class_abi.GetFieldOffset("name") + "\"");
+                       Console.WriteLine("\"GESFormatterClass.description\": \"" + GES.Formatter.class_abi.GetFieldOffset("description") + "\"");
+                       Console.WriteLine("\"GESFormatterClass.extension\": \"" + GES.Formatter.class_abi.GetFieldOffset("extension") + "\"");
+                       Console.WriteLine("\"GESFormatterClass.mimetype\": \"" + GES.Formatter.class_abi.GetFieldOffset("mimetype") + "\"");
+                       Console.WriteLine("\"GESFormatterClass.version\": \"" + GES.Formatter.class_abi.GetFieldOffset("version") + "\"");
+                       Console.WriteLine("\"GESFormatterClass.rank\": \"" + GES.Formatter.class_abi.GetFieldOffset("rank") + "\"");
+                       Console.WriteLine("\"GESFormatterClass._ges_reserved\": \"" + GES.Formatter.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESFormatter)\": \"" + GES.Formatter.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESFormatter.priv\": \"" + GES.Formatter.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESFormatter.project\": \"" + GES.Formatter.abi_info.GetFieldOffset("project") + "\"");
+                       Console.WriteLine("\"GESFormatter.timeline\": \"" + GES.Formatter.abi_info.GetFieldOffset("timeline") + "\"");
+                       Console.WriteLine("\"GESFormatter._ges_reserved\": \"" + GES.Formatter.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESGroupClass)\": \"" + GES.Group.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESGroupClass._ges_reserved\": \"" + GES.Group.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESGroup)\": \"" + GES.Group.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESGroup.priv\": \"" + GES.Group.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESGroup._ges_reserved\": \"" + GES.Group.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESImageSourceClass)\": \"" + GES.ImageSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESImageSourceClass._ges_reserved\": \"" + GES.ImageSource.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESImageSource)\": \"" + GES.ImageSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESImageSource.uri\": \"" + GES.ImageSource.abi_info.GetFieldOffset("uri") + "\"");
+                       Console.WriteLine("\"GESImageSource.priv\": \"" + GES.ImageSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESImageSource._ges_reserved\": \"" + GES.ImageSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESLayerClass)\": \"" + GES.Layer.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESLayerClass.get_objects\": \"" + GES.Layer.class_abi.GetFieldOffset("get_objects") + "\"");
+                       Console.WriteLine("\"GESLayerClass.object_added\": \"" + GES.Layer.class_abi.GetFieldOffset("object_added") + "\"");
+                       Console.WriteLine("\"GESLayerClass.object_removed\": \"" + GES.Layer.class_abi.GetFieldOffset("object_removed") + "\"");
+                       Console.WriteLine("\"GESLayerClass._ges_reserved\": \"" + GES.Layer.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESLayer)\": \"" + GES.Layer.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESLayer.timeline\": \"" + GES.Layer.abi_info.GetFieldOffset("timeline") + "\"");
+                       Console.WriteLine("\"GESLayer.min_nle_priority\": \"" + GES.Layer.abi_info.GetFieldOffset("min_nle_priority") + "\"");
+                       Console.WriteLine("\"GESLayer.max_nle_priority\": \"" + GES.Layer.abi_info.GetFieldOffset("max_nle_priority") + "\"");
+                       Console.WriteLine("\"GESLayer.priv\": \"" + GES.Layer.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESLayer._ges_reserved\": \"" + GES.Layer.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESMultiFileSourceClass)\": \"" + GES.MultiFileSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESMultiFileSourceClass._ges_reserved\": \"" + GES.MultiFileSource.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESMultiFileSource)\": \"" + GES.MultiFileSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESMultiFileSource.uri\": \"" + GES.MultiFileSource.abi_info.GetFieldOffset("uri") + "\"");
+                       Console.WriteLine("\"GESMultiFileSource.priv\": \"" + GES.MultiFileSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESMultiFileSource._ges_reserved\": \"" + GES.MultiFileSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESOperationClass)\": \"" + GES.Operation.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESOperationClass._ges_reserved\": \"" + GES.Operation.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESOperation)\": \"" + GES.Operation.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESOperation.priv\": \"" + GES.Operation.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESOperation._ges_reserved\": \"" + GES.Operation.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESOperationClipClass)\": \"" + GES.OperationClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESOperationClipClass._ges_reserved\": \"" + GES.OperationClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESOperationClip)\": \"" + GES.OperationClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESOperationClip.priv\": \"" + GES.OperationClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESOperationClip._ges_reserved\": \"" + GES.OperationClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESOverlayClipClass)\": \"" + GES.OverlayClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESOverlayClipClass._ges_reserved\": \"" + GES.OverlayClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESOverlayClip)\": \"" + GES.OverlayClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESOverlayClip.priv\": \"" + GES.OverlayClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESOverlayClip._ges_reserved\": \"" + GES.OverlayClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESPipelineClass)\": \"" + GES.Pipeline.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESPipelineClass._ges_reserved\": \"" + GES.Pipeline.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESPipeline)\": \"" + GES.Pipeline.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESPipeline.priv\": \"" + GES.Pipeline.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESPipeline._ges_reserved\": \"" + GES.Pipeline.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESPitiviFormatterClass)\": \"" + GES.PitiviFormatter.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESPitiviFormatterClass._ges_reserved\": \"" + GES.PitiviFormatter.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESPitiviFormatter)\": \"" + GES.PitiviFormatter.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESPitiviFormatter.priv\": \"" + GES.PitiviFormatter.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESPitiviFormatter._ges_reserved\": \"" + GES.PitiviFormatter.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESProjectClass)\": \"" + GES.Project.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESProjectClass.asset_added\": \"" + GES.Project.class_abi.GetFieldOffset("asset_added") + "\"");
+                       Console.WriteLine("\"GESProjectClass.asset_loading\": \"" + GES.Project.class_abi.GetFieldOffset("asset_loading") + "\"");
+                       Console.WriteLine("\"GESProjectClass.asset_removed\": \"" + GES.Project.class_abi.GetFieldOffset("asset_removed") + "\"");
+                       Console.WriteLine("\"GESProjectClass.missing_uri\": \"" + GES.Project.class_abi.GetFieldOffset("missing_uri") + "\"");
+                       Console.WriteLine("\"GESProjectClass.loading_error\": \"" + GES.Project.class_abi.GetFieldOffset("loading_error") + "\"");
+                       Console.WriteLine("\"GESProjectClass.loaded\": \"" + GES.Project.class_abi.GetFieldOffset("loaded") + "\"");
+                       Console.WriteLine("\"GESProjectClass._ges_reserved\": \"" + GES.Project.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESProject)\": \"" + GES.Project.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESProject.priv\": \"" + GES.Project.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESProject.__ges_reserved\": \"" + GES.Project.abi_info.GetFieldOffset("__ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESSourceClass)\": \"" + GES.Source.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESSourceClass._ges_reserved\": \"" + GES.Source.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESSource)\": \"" + GES.Source.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESSource.priv\": \"" + GES.Source.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESSource._ges_reserved\": \"" + GES.Source.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESSourceClipClass)\": \"" + GES.SourceClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESSourceClipClass._ges_reserved\": \"" + GES.SourceClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESSourceClip)\": \"" + GES.SourceClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESSourceClip.priv\": \"" + GES.SourceClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESSourceClip._ges_reserved\": \"" + GES.SourceClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTestClipClass)\": \"" + GES.TestClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTestClipClass._ges_reserved\": \"" + GES.TestClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTestClip)\": \"" + GES.TestClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTestClip.priv\": \"" + GES.TestClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTestClip._ges_reserved\": \"" + GES.TestClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTextOverlayClass)\": \"" + GES.TextOverlay.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTextOverlayClass._ges_reserved\": \"" + GES.TextOverlay.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTextOverlay)\": \"" + GES.TextOverlay.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTextOverlay.priv\": \"" + GES.TextOverlay.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTextOverlay._ges_reserved\": \"" + GES.TextOverlay.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTextOverlayClipClass)\": \"" + GES.TextOverlayClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTextOverlayClipClass._ges_reserved\": \"" + GES.TextOverlayClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTextOverlayClip)\": \"" + GES.TextOverlayClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTextOverlayClip.priv\": \"" + GES.TextOverlayClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTextOverlayClip._ges_reserved\": \"" + GES.TextOverlayClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTimelineClass)\": \"" + GES.Timeline.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTimelineClass.track_added\": \"" + GES.Timeline.class_abi.GetFieldOffset("track_added") + "\"");
+                       Console.WriteLine("\"GESTimelineClass.track_removed\": \"" + GES.Timeline.class_abi.GetFieldOffset("track_removed") + "\"");
+                       Console.WriteLine("\"GESTimelineClass.layer_added\": \"" + GES.Timeline.class_abi.GetFieldOffset("layer_added") + "\"");
+                       Console.WriteLine("\"GESTimelineClass.layer_removed\": \"" + GES.Timeline.class_abi.GetFieldOffset("layer_removed") + "\"");
+                       Console.WriteLine("\"GESTimelineClass.group_added\": \"" + GES.Timeline.class_abi.GetFieldOffset("group_added") + "\"");
+                       Console.WriteLine("\"GESTimelineClass.group_removed\": \"" + GES.Timeline.class_abi.GetFieldOffset("group_removed") + "\"");
+                       Console.WriteLine("\"GESTimelineClass._ges_reserved\": \"" + GES.Timeline.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTimeline)\": \"" + GES.Timeline.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTimeline.layers\": \"" + GES.Timeline.abi_info.GetFieldOffset("layers") + "\"");
+                       Console.WriteLine("\"GESTimeline.tracks\": \"" + GES.Timeline.abi_info.GetFieldOffset("tracks") + "\"");
+                       Console.WriteLine("\"GESTimeline.priv\": \"" + GES.Timeline.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTimeline._ges_reserved\": \"" + GES.Timeline.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTimelineElementClass)\": \"" + GES.TimelineElement.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.set_parent\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("set_parent") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.set_start\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("set_start") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.set_inpoint\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("set_inpoint") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.set_duration\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("set_duration") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.set_max_duration\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("set_max_duration") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.set_priority\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("set_priority") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.ripple\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("ripple") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.ripple_end\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("ripple_end") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.roll_start\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("roll_start") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.roll_end\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("roll_end") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.trim\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("trim") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.deep_copy\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("deep_copy") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.paste\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("paste") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.list_children_properties\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("list_children_properties") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.lookup_child\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("lookup_child") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass.get_track_types\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("get_track_types") + "\"");
+                       Console.WriteLine("\"GESTimelineElementClass._ges_reserved\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTimelineElement)\": \"" + GES.TimelineElement.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTimelineElement.parent\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("parent") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.asset\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("asset") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.start\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.inpoint\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("inpoint") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.duration\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("duration") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.maxduration\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("maxduration") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.priority\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("priority") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.timeline\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("timeline") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.name\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("name") + "\"");
+                       Console.WriteLine("\"GESTimelineElement.priv\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTimelineElement._ges_reserved\": \"" + GES.TimelineElement.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTitleClipClass)\": \"" + GES.TitleClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTitleClipClass._ges_reserved\": \"" + GES.TitleClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTitleClip)\": \"" + GES.TitleClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTitleClip.priv\": \"" + GES.TitleClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTitleClip._ges_reserved\": \"" + GES.TitleClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTitleSourceClass)\": \"" + GES.TitleSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTitleSourceClass._ges_reserved\": \"" + GES.TitleSource.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTitleSource)\": \"" + GES.TitleSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTitleSource.priv\": \"" + GES.TitleSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTitleSource._ges_reserved\": \"" + GES.TitleSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTrackClass)\": \"" + GES.Track.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTrackClass.get_mixing_element\": \"" + GES.Track.class_abi.GetFieldOffset("get_mixing_element") + "\"");
+                       Console.WriteLine("\"GESTrackClass._ges_reserved\": \"" + GES.Track.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTrack)\": \"" + GES.Track.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTrack.type\": \"" + GES.Track.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GESTrack.priv\": \"" + GES.Track.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTrack._ges_reserved\": \"" + GES.Track.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTrackElementClass)\": \"" + GES.TrackElement.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTrackElementClass.nleobject_factorytype\": \"" + GES.TrackElement.class_abi.GetFieldOffset("nleobject_factorytype") + "\"");
+                       Console.WriteLine("\"GESTrackElementClass.create_gnl_object\": \"" + GES.TrackElement.class_abi.GetFieldOffset("create_gnl_object") + "\"");
+                       Console.WriteLine("\"GESTrackElementClass.create_element\": \"" + GES.TrackElement.class_abi.GetFieldOffset("create_element") + "\"");
+                       Console.WriteLine("\"GESTrackElementClass.active_changed\": \"" + GES.TrackElement.class_abi.GetFieldOffset("active_changed") + "\"");
+                       Console.WriteLine("\"GESTrackElementClass.changed\": \"" + GES.TrackElement.class_abi.GetFieldOffset("changed") + "\"");
+                       Console.WriteLine("\"GESTrackElementClass.list_children_properties\": \"" + GES.TrackElement.class_abi.GetFieldOffset("list_children_properties") + "\"");
+                       Console.WriteLine("\"GESTrackElementClass.lookup_child\": \"" + GES.TrackElement.class_abi.GetFieldOffset("lookup_child") + "\"");
+                       Console.WriteLine("\"GESTrackElementClass._ges_reserved\": \"" + GES.TrackElement.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTrackElement)\": \"" + GES.TrackElement.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTrackElement.active\": \"" + GES.TrackElement.abi_info.GetFieldOffset("active") + "\"");
+                       Console.WriteLine("\"GESTrackElement.priv\": \"" + GES.TrackElement.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTrackElement.asset\": \"" + GES.TrackElement.abi_info.GetFieldOffset("asset") + "\"");
+                       Console.WriteLine("\"GESTrackElement._ges_reserved\": \"" + GES.TrackElement.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTrackElementAssetClass)\": \"" + GES.TrackElementAsset.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTrackElementAssetClass._ges_reserved\": \"" + GES.TrackElementAsset.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTrackElementAsset)\": \"" + GES.TrackElementAsset.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTrackElementAsset.priv\": \"" + GES.TrackElementAsset.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTrackElementAsset.__ges_reserved\": \"" + GES.TrackElementAsset.abi_info.GetFieldOffset("__ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTransitionClass)\": \"" + GES.Transition.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTransitionClass._ges_reserved\": \"" + GES.Transition.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTransition)\": \"" + GES.Transition.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTransition.priv\": \"" + GES.Transition.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTransition._ges_reserved\": \"" + GES.Transition.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTransitionClipClass)\": \"" + GES.TransitionClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESTransitionClipClass._ges_reserved\": \"" + GES.TransitionClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESTransitionClip)\": \"" + GES.TransitionClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESTransitionClip.vtype\": \"" + GES.TransitionClip.abi_info.GetFieldOffset("vtype") + "\"");
+                       Console.WriteLine("\"GESTransitionClip.priv\": \"" + GES.TransitionClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESTransitionClip._ges_reserved\": \"" + GES.TransitionClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESUriClipClass)\": \"" + GES.UriClip.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESUriClipClass._ges_reserved\": \"" + GES.UriClip.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESUriClip)\": \"" + GES.UriClip.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESUriClip.priv\": \"" + GES.UriClip.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESUriClip._ges_reserved\": \"" + GES.UriClip.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESUriClipAssetClass)\": \"" + GES.UriClipAsset.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESUriClipAssetClass.discoverer\": \"" + GES.UriClipAsset.class_abi.GetFieldOffset("discoverer") + "\"");
+                       Console.WriteLine("\"GESUriClipAssetClass.sync_discoverer\": \"" + GES.UriClipAsset.class_abi.GetFieldOffset("sync_discoverer") + "\"");
+                       Console.WriteLine("\"GESUriClipAssetClass._ges_reserved\": \"" + GES.UriClipAsset.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESUriClipAsset)\": \"" + GES.UriClipAsset.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESUriClipAsset.priv\": \"" + GES.UriClipAsset.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESUriClipAsset.__ges_reserved\": \"" + GES.UriClipAsset.abi_info.GetFieldOffset("__ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESUriSourceAssetClass)\": \"" + GES.UriSourceAsset.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESUriSourceAssetClass._ges_reserved\": \"" + GES.UriSourceAsset.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESUriSourceAsset)\": \"" + GES.UriSourceAsset.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESUriSourceAsset.priv\": \"" + GES.UriSourceAsset.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESUriSourceAsset.__ges_reserved\": \"" + GES.UriSourceAsset.abi_info.GetFieldOffset("__ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoSourceClass)\": \"" + GES.VideoSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESVideoSourceClass.create_source\": \"" + GES.VideoSource.class_abi.GetFieldOffset("create_source") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoSource)\": \"" + GES.VideoSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESVideoSource.priv\": \"" + GES.VideoSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESVideoSource._ges_reserved\": \"" + GES.VideoSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoTestSourceClass)\": \"" + GES.VideoTestSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESVideoTestSourceClass._ges_reserved\": \"" + GES.VideoTestSource.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoTestSource)\": \"" + GES.VideoTestSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESVideoTestSource.priv\": \"" + GES.VideoTestSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESVideoTestSource._ges_reserved\": \"" + GES.VideoTestSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoTrackClass)\": \"" + GES.VideoTrack.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESVideoTrackClass._ges_reserved\": \"" + GES.VideoTrack.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoTrack)\": \"" + GES.VideoTrack.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESVideoTrack.priv\": \"" + GES.VideoTrack.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESVideoTrack._ges_reserved\": \"" + GES.VideoTrack.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoTransitionClass)\": \"" + GES.VideoTransition.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESVideoTransitionClass._ges_reserved\": \"" + GES.VideoTransition.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoTransition)\": \"" + GES.VideoTransition.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESVideoTransition.priv\": \"" + GES.VideoTransition.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESVideoTransition._ges_reserved\": \"" + GES.VideoTransition.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoUriSourceClass)\": \"" + GES.VideoUriSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESVideoUriSourceClass._ges_reserved\": \"" + GES.VideoUriSource.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESVideoUriSource)\": \"" + GES.VideoUriSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESVideoUriSource.uri\": \"" + GES.VideoUriSource.abi_info.GetFieldOffset("uri") + "\"");
+                       Console.WriteLine("\"GESVideoUriSource.priv\": \"" + GES.VideoUriSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESVideoUriSource._ges_reserved\": \"" + GES.VideoUriSource.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESXmlFormatterClass)\": \"" + GES.XmlFormatter.class_abi.Size + "\"");
+                       Console.WriteLine("\"GESXmlFormatterClass._ges_reserved\": \"" + GES.XmlFormatter.class_abi.GetFieldOffset("_ges_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GESXmlFormatter)\": \"" + GES.XmlFormatter.abi_info.Size + "\"");
+                       Console.WriteLine("\"GESXmlFormatter.priv\": \"" + GES.XmlFormatter.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GESXmlFormatter._ges_reserved\": \"" + GES.XmlFormatter.abi_info.GetFieldOffset("_ges_reserved") + "\"");
+               }
+       }
+}
diff --git a/ges/generated/gst-editing-services-api.xml b/ges/generated/gst-editing-services-api.xml
new file mode 100644 (file)
index 0000000..06613b2
--- /dev/null
@@ -0,0 +1,3872 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api parser_version="3">
+  <namespace name="GES" library="ges-1.0">
+    <enum name="AssetLoadingReturn" cname="GESAssetLoadingReturn" type="enum">
+      <member cname="GES_ASSET_LOADING_ERROR" name="Error" value="0" />
+      <member cname="GES_ASSET_LOADING_ASYNC" name="Async" value="1" />
+      <member cname="GES_ASSET_LOADING_OK" name="Ok" value="2" />
+    </enum>
+    <enum name="ChildrenControlMode" cname="GESChildrenControlMode" type="enum">
+      <member cname="GES_CHILDREN_UPDATE" name="Update" value="0" />
+      <member cname="GES_CHILDREN_IGNORE_NOTIFIES" name="IgnoreNotifies" value="1" />
+      <member cname="GES_CHILDREN_UPDATE_OFFSETS" name="UpdateOffsets" value="2" />
+      <member cname="GES_CHILDREN_UPDATE_ALL_VALUES" name="UpdateAllValues" value="3" />
+      <member cname="GES_CHILDREN_LAST" name="Last" value="4" />
+    </enum>
+    <enum name="Edge" cname="GESEdge" type="enum" gtype="ges_edge_get_type">
+      <member cname="GES_EDGE_START" name="EdgeStart" value="0" />
+      <member cname="GES_EDGE_END" name="EdgeEnd" value="1" />
+      <member cname="GES_EDGE_NONE" name="EdgeNone" value="2" />
+    </enum>
+    <enum name="EditMode" cname="GESEditMode" type="enum" gtype="ges_edit_mode_get_type">
+      <member cname="GES_EDIT_MODE_NORMAL" name="EditNormal" value="0" />
+      <member cname="GES_EDIT_MODE_RIPPLE" name="EditRipple" value="1" />
+      <member cname="GES_EDIT_MODE_ROLL" name="EditRoll" value="2" />
+      <member cname="GES_EDIT_MODE_TRIM" name="EditTrim" value="3" />
+      <member cname="GES_EDIT_MODE_SLIDE" name="EditSlide" value="4" />
+    </enum>
+    <enum name="Error" cname="GESError" type="enum">
+      <member cname="GES_ERROR_ASSET_WRONG_ID" name="AssetWrongId" value="0" />
+      <member cname="GES_ERROR_ASSET_LOADING" name="AssetLoading" value="1" />
+      <member cname="GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE" name="FormatterMalformedInputFile" value="2" />
+    </enum>
+    <enum name="TextHAlign" cname="GESTextHAlign" type="enum" gtype="ges_text_halign_get_type">
+      <member cname="GES_TEXT_HALIGN_LEFT" name="Left" value="0" />
+      <member cname="GES_TEXT_HALIGN_CENTER" name="Center" value="1" />
+      <member cname="GES_TEXT_HALIGN_RIGHT" name="Right" value="2" />
+      <member cname="GES_TEXT_HALIGN_POSITION" name="Position" value="4" />
+      <member cname="GES_TEXT_HALIGN_ABSOLUTE" name="Absolute" value="5" />
+    </enum>
+    <enum name="TextVAlign" cname="GESTextVAlign" type="enum" gtype="ges_text_valign_get_type">
+      <member cname="GES_TEXT_VALIGN_BASELINE" name="Baseline" value="0" />
+      <member cname="GES_TEXT_VALIGN_BOTTOM" name="Bottom" value="1" />
+      <member cname="GES_TEXT_VALIGN_TOP" name="Top" value="2" />
+      <member cname="GES_TEXT_VALIGN_POSITION" name="Position" value="3" />
+      <member cname="GES_TEXT_VALIGN_CENTER" name="Center" value="4" />
+      <member cname="GES_TEXT_VALIGN_ABSOLUTE" name="Absolute" value="5" />
+    </enum>
+    <enum name="VideoStandardTransitionType" cname="GESVideoStandardTransitionType" type="enum" gtype="ges_video_standard_transition_type_get_type">
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE" name="None" value="0" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR" name="BarWipeLr" value="1" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB" name="BarWipeTb" value="2" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL" name="BoxWipeTl" value="3" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR" name="BoxWipeTr" value="4" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR" name="BoxWipeBr" value="5" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL" name="BoxWipeBl" value="6" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI" name="FourBoxWipeCi" value="7" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO" name="FourBoxWipeCo" value="8" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V" name="BarndoorV" value="21" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H" name="BarndoorH" value="22" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC" name="BoxWipeTc" value="23" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC" name="BoxWipeRc" value="24" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC" name="BoxWipeBc" value="25" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC" name="BoxWipeLc" value="26" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL" name="DiagonalTl" value="41" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR" name="DiagonalTr" value="42" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V" name="BowtieV" value="43" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H" name="BowtieH" value="44" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL" name="BarndoorDbl" value="45" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL" name="BarndoorDtl" value="46" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD" name="MiscDiagonalDbd" value="47" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD" name="MiscDiagonalDd" value="48" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D" name="VeeD" value="61" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L" name="VeeL" value="62" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U" name="VeeU" value="63" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R" name="VeeR" value="64" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D" name="BarnveeD" value="65" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L" name="BarnveeL" value="66" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U" name="BarnveeU" value="67" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R" name="BarnveeR" value="68" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT" name="IrisRect" value="101" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12" name="ClockCw12" value="201" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3" name="ClockCw3" value="202" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6" name="ClockCw6" value="203" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9" name="ClockCw9" value="204" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV" name="PinwheelTbv" value="205" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH" name="PinwheelTbh" value="206" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB" name="PinwheelFb" value="207" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT" name="FanCt" value="211" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR" name="FanCr" value="212" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV" name="DoublefanFov" value="213" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH" name="DoublefanFoh" value="214" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT" name="SinglesweepCwt" value="221" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR" name="SinglesweepCwr" value="222" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB" name="SinglesweepCwb" value="223" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL" name="SinglesweepCwl" value="224" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV" name="DoublesweepPv" value="225" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD" name="DoublesweepPd" value="226" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV" name="DoublesweepOv" value="227" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH" name="DoublesweepOh" value="228" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T" name="FanT" value="231" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R" name="FanR" value="232" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B" name="FanB" value="233" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L" name="FanL" value="234" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV" name="DoublefanFiv" value="235" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH" name="DoublefanFih" value="236" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL" name="SinglesweepCwtl" value="241" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL" name="SinglesweepCwbl" value="242" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR" name="SinglesweepCwbr" value="243" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR" name="SinglesweepCwtr" value="244" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL" name="DoublesweepPdtl" value="245" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL" name="DoublesweepPdbl" value="246" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T" name="SaloondoorT" value="251" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L" name="SaloondoorL" value="252" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B" name="SaloondoorB" value="253" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R" name="SaloondoorR" value="254" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R" name="WindshieldR" value="261" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U" name="WindshieldU" value="262" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V" name="WindshieldV" value="263" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H" name="WindshieldH" value="264" />
+      <member cname="GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE" name="Crossfade" value="512" />
+    </enum>
+    <enum name="VideoTestPattern" cname="GESVideoTestPattern" type="enum" gtype="ges_video_test_pattern_get_type">
+      <member cname="GES_VIDEO_TEST_PATTERN_SMPTE" name="Smpte" value="0" />
+      <member cname="GES_VIDEO_TEST_PATTERN_SNOW" name="Snow" value="1" />
+      <member cname="GES_VIDEO_TEST_PATTERN_BLACK" name="Black" value="2" />
+      <member cname="GES_VIDEO_TEST_PATTERN_WHITE" name="White" value="3" />
+      <member cname="GES_VIDEO_TEST_PATTERN_RED" name="Red" value="4" />
+      <member cname="GES_VIDEO_TEST_PATTERN_GREEN" name="Green" value="5" />
+      <member cname="GES_VIDEO_TEST_PATTERN_BLUE" name="Blue" value="6" />
+      <member cname="GES_VIDEO_TEST_PATTERN_CHECKERS1" name="Checkers1" value="7" />
+      <member cname="GES_VIDEO_TEST_PATTERN_CHECKERS2" name="Checkers2" value="8" />
+      <member cname="GES_VIDEO_TEST_PATTERN_CHECKERS4" name="Checkers4" value="9" />
+      <member cname="GES_VIDEO_TEST_PATTERN_CHECKERS8" name="Checkers8" value="10" />
+      <member cname="GES_VIDEO_TEST_PATTERN_CIRCULAR" name="Circular" value="11" />
+      <member cname="GES_VIDEO_TEST_PATTERN_BLINK" name="Blink" value="12" />
+      <member cname="GES_VIDEO_TEST_PATTERN_SMPTE75" name="Smpte75" value="13" />
+      <member cname="GES_VIDEO_TEST_ZONE_PLATE" name="ZonePlate" value="14" />
+      <member cname="GES_VIDEO_TEST_GAMUT" name="Gamut" value="15" />
+      <member cname="GES_VIDEO_TEST_CHROMA_ZONE_PLATE" name="ChromaZonePlate" value="16" />
+      <member cname="GES_VIDEO_TEST_PATTERN_SOLID" name="SolidColor" value="17" />
+    </enum>
+    <enum name="MetaFlag" cname="GESMetaFlag" type="flags" gtype="ges_meta_flag_get_type">
+      <member cname="GES_META_READABLE" name="Readable" value="1" />
+      <member cname="GES_META_WRITABLE" name="Writable" value="2" />
+      <member cname="GES_META_READ_WRITE" name="Readwrite" value="3" />
+    </enum>
+    <enum name="PipelineFlags" cname="GESPipelineFlags" type="flags" gtype="ges_pipeline_flags_get_type">
+      <member cname="GES_PIPELINE_MODE_PREVIEW_AUDIO" name="AudioPreview" value="1" />
+      <member cname="GES_PIPELINE_MODE_PREVIEW_VIDEO" name="VideoPreview" value="2" />
+      <member cname="GES_PIPELINE_MODE_PREVIEW" name="FullPreview" value="3" />
+      <member cname="GES_PIPELINE_MODE_RENDER" name="Render" value="4" />
+      <member cname="GES_PIPELINE_MODE_SMART_RENDER" name="SmartRender" value="8" />
+    </enum>
+    <enum name="TrackType" cname="GESTrackType" type="flags" gtype="ges_track_type_get_type">
+      <member cname="GES_TRACK_TYPE_UNKNOWN" name="Unknown" value="1" />
+      <member cname="GES_TRACK_TYPE_AUDIO" name="Audio" value="2" />
+      <member cname="GES_TRACK_TYPE_VIDEO" name="Video" value="4" />
+      <member cname="GES_TRACK_TYPE_TEXT" name="Text" value="8" />
+      <member cname="GES_TRACK_TYPE_CUSTOM" name="Custom" value="16" />
+    </enum>
+    <callback hidden="0" name="CreateElementForGapFunc" cname="GESCreateElementForGapFunc">
+      <return-type type="GstElement*" />
+      <parameters>
+        <parameter name="track" type="GESTrack*" />
+      </parameters>
+    </callback>
+    <callback hidden="0" name="CreateTrackElementFunc" cname="GESCreateTrackElementFunc">
+      <return-type type="GESTrackElement*" />
+      <parameters>
+        <parameter name="clip" type="GESClip*" />
+        <parameter name="type" type="GESTrackType" />
+      </parameters>
+    </callback>
+    <callback hidden="0" name="CreateTrackElementsFunc" cname="GESCreateTrackElementsFunc">
+      <return-type type="GList*" element_type="gpointer" />
+      <parameters>
+        <parameter name="clip" type="GESClip*" />
+        <parameter name="type" type="GESTrackType" />
+      </parameters>
+    </callback>
+    <callback name="ExtractableCheckId" cname="GESExtractableCheckId">
+      <return-type type="gchar*" owned="true" />
+      <parameters throws="1">
+        <parameter name="type" type="GType" />
+        <parameter name="id" type="const-gchar*" />
+        <parameter name="error" type="GError**" />
+      </parameters>
+    </callback>
+    <callback name="FillTrackElementFunc" cname="GESFillTrackElementFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="clip" type="GESClip*" />
+        <parameter name="track_element" type="GESTrackElement*" />
+        <parameter name="nleobj" type="GstElement*" />
+      </parameters>
+    </callback>
+    <callback name="FormatterCanLoadURIMethod" cname="GESFormatterCanLoadURIMethod">
+      <return-type type="gboolean" />
+      <parameters throws="1">
+        <parameter name="dummy_instance" type="GESFormatter*" />
+        <parameter name="uri" type="const-gchar*" />
+        <parameter name="error" type="GError**" />
+      </parameters>
+    </callback>
+    <callback name="FormatterLoadFromURIMethod" cname="GESFormatterLoadFromURIMethod">
+      <return-type type="gboolean" />
+      <parameters throws="1">
+        <parameter name="formatter" type="GESFormatter*" />
+        <parameter name="timeline" type="GESTimeline*" />
+        <parameter name="uri" type="const-gchar*" />
+        <parameter name="error" type="GError**" />
+      </parameters>
+    </callback>
+    <callback name="FormatterSaveToURIMethod" cname="GESFormatterSaveToURIMethod">
+      <return-type type="gboolean" />
+      <parameters throws="1">
+        <parameter name="formatter" type="GESFormatter*" />
+        <parameter name="timeline" type="GESTimeline*" />
+        <parameter name="uri" type="const-gchar*" />
+        <parameter name="overwrite" type="gboolean" />
+        <parameter name="error" type="GError**" />
+      </parameters>
+    </callback>
+    <callback name="MetaForeachFunc" cname="GESMetaForeachFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="container" type="GESMetaContainer*" />
+        <parameter name="key" type="const-gchar*" />
+        <parameter name="value" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <interface name="Extractable" cname="GESExtractable" opaque="false" hidden="false">
+      <class_struct cname="GESExtractableInterface">
+        <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="asset_type" access="public" writeable="false" readable="true" name="AssetType" type="GType" />
+        <field cname="check_id" access="public" writeable="false" readable="true" name="CheckId" type="GESExtractableCheckId" />
+        <field cname="can_update_asset" access="public" writeable="false" readable="true" name="CanUpdateAsset" type="gboolean" />
+        <method vm="set_asset" />
+        <method vm="set_asset_full" />
+        <method vm="get_parameters_from_id" />
+        <method vm="get_id" />
+        <method vm="get_real_extractable_type" />
+        <method vm="register_metas" />
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <virtual_method name="GetParametersFromId" cname="get_parameters_from_id" shared="true" hidden="true">
+        <return-type type="GParameter*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="id" type="const-gchar*" />
+          <parameter name="n_params" type="guint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetRealExtractableType" cname="get_real_extractable_type" shared="true">
+        <return-type type="GType" />
+        <parameters>
+          <parameter name="wanted_type" type="GType" />
+          <parameter name="id" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RegisterMetas" cname="register_metas" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="self" type="GESExtractableInterface*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="klass" type="GObjectClass*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </virtual_method>
+      <method name="GetType" cname="ges_extractable_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="GetId" cname="get_id">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="SetAsset" cname="set_asset">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetAssetFull" cname="set_asset_full">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </virtual_method>
+      <method name="GetAsset" cname="ges_extractable_get_asset">
+        <return-type type="GESAsset*" />
+        <parameters />
+      </method>
+      <method name="GetId" cname="ges_extractable_get_id">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="SetAsset" cname="ges_extractable_set_asset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </method>
+    </interface>
+    <interface name="MetaContainer" cname="GESMetaContainer" opaque="false" hidden="false">
+      <class_struct cname="GESMetaContainerInterface">
+        <field cname="parent_iface" access="public" writeable="false" readable="true" name="ParentIface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_meta_container_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="AddMetasFromString" cname="ges_meta_container_add_metas_from_string">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="str" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="CheckMetaRegistered" cname="ges_meta_container_check_meta_registered">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="Foreach" cname="ges_meta_container_foreach">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GESMetaForeachFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="GetBoolean" cname="ges_meta_container_get_boolean">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetDate" cname="ges_meta_container_get_date">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="GLib.Date*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetDateTime" cname="ges_meta_container_get_date_time">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="GstDateTime**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDouble" cname="ges_meta_container_get_double">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetFloat" cname="ges_meta_container_get_float">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="gfloat*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetInt" cname="ges_meta_container_get_int">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetInt64" cname="ges_meta_container_get_int64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetMeta" cname="ges_meta_container_get_meta">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetString" cname="ges_meta_container_get_string">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetUint" cname="ges_meta_container_get_uint">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetUint64" cname="ges_meta_container_get_uint64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="dest" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="MetasToString" cname="ges_meta_container_metas_to_string">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="RegisterMeta" cname="ges_meta_container_register_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RegisterMetaBoolean" cname="ges_meta_container_register_meta_boolean">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="RegisterMetaDate" cname="ges_meta_container_register_meta_date">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="GLib.Date" />
+        </parameters>
+      </method>
+      <method name="RegisterMetaDateTime" cname="ges_meta_container_register_meta_date_time">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="GstDateTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RegisterMetaDouble" cname="ges_meta_container_register_meta_double">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="RegisterMetaFloat" cname="ges_meta_container_register_meta_float">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="RegisterMetaInt" cname="ges_meta_container_register_meta_int">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gint" />
+        </parameters>
+      </method>
+      <method name="RegisterMetaInt64" cname="ges_meta_container_register_meta_int64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gint64" />
+        </parameters>
+      </method>
+      <method name="RegisterMetaString" cname="ges_meta_container_register_meta_string">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RegisterMetaUint" cname="ges_meta_container_register_meta_uint">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="guint" />
+        </parameters>
+      </method>
+      <method name="RegisterMetaUint64" cname="ges_meta_container_register_meta_uint64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GESMetaFlag" />
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetBoolean" cname="ges_meta_container_set_boolean">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetDate" cname="ges_meta_container_set_date">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="GLib.Date" />
+        </parameters>
+      </method>
+      <method name="SetDateTime" cname="ges_meta_container_set_date_time">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="GstDateTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetDouble" cname="ges_meta_container_set_double">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetFloat" cname="ges_meta_container_set_float">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="SetInt" cname="ges_meta_container_set_int">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetInt64" cname="ges_meta_container_set_int64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetMeta" cname="ges_meta_container_set_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetString" cname="ges_meta_container_set_string">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetUint" cname="ges_meta_container_set_uint">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetUint64" cname="ges_meta_container_set_uint64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta_item" type="const-gchar*" />
+          <parameter name="value" type="guint64" />
+        </parameters>
+      </method>
+      <signal name="NotifyMeta" cname="notify-meta" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="const-gchar*" />
+          <parameter name="p0" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+    </interface>
+    <object name="Asset" cname="GESAsset" opaque="false" hidden="false" parent="GObject">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GAsyncInitable" />
+        <interface cname="GInitable" />
+      </implements>
+      <class_struct cname="GESAssetClass">
+        <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="start_loading" />
+        <method vm="extract" />
+        <method vm="inform_proxy" />
+        <method vm="proxied" />
+        <method vm="request_id_update" />
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_asset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="NeedsReload" cname="ges_asset_needs_reload" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="extractable_type" type="GType" />
+          <parameter name="id" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Request" cname="ges_asset_request" shared="true">
+        <return-type type="GESAsset*" owned="true" />
+        <parameters throws="1">
+          <parameter name="extractable_type" type="GType" />
+          <parameter allow-none="1" name="id" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="RequestAsync" cname="ges_asset_request_async" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="extractable_type" type="GType" />
+          <parameter name="id" type="const-gchar*" />
+          <parameter allow-none="1" name="cancellable" type="GCancellable*" />
+          <parameter closure="4" scope="async" allow-none="1" name="callback" type="GAsyncReadyCallback" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="RequestFinish" cname="ges_asset_request_finish" shared="true">
+        <return-type type="GESAsset*" owned="true" />
+        <parameters throws="1">
+          <parameter name="res" type="GAsyncResult*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <virtual_method name="Extract" cname="extract">
+        <return-type type="GESExtractable*" />
+        <parameters throws="1">
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="InformProxy" cname="inform_proxy">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="proxy_id" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Proxied" cname="proxied">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="proxy" type="GESAsset*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RequestIdUpdate" cname="request_id_update">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="proposed_new_id" type="const-gchar*" />
+          <parameter name="error" type="GLib.Error" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="StartLoading" cname="start_loading">
+        <return-type type="GESAssetLoadingReturn" />
+        <parameters throws="1">
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <method name="Extract" cname="ges_asset_extract">
+        <return-type type="GESExtractable*" />
+        <parameters throws="1">
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="GetError" cname="ges_asset_get_error" version="1.8">
+        <return-type type="GLib.Error" />
+        <parameters />
+      </method>
+      <method name="GetExtractableType" cname="ges_asset_get_extractable_type">
+        <return-type type="GType" />
+        <parameters />
+      </method>
+      <method name="GetId" cname="ges_asset_get_id">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetProxy" cname="ges_asset_get_proxy">
+        <return-type type="GESAsset*" />
+        <parameters />
+      </method>
+      <method name="GetProxyTarget" cname="ges_asset_get_proxy_target">
+        <return-type type="GESAsset*" />
+        <parameters />
+      </method>
+      <method name="ListProxies" cname="ges_asset_list_proxies">
+        <return-type type="GList*" element_type="GESAsset*" />
+        <parameters />
+      </method>
+      <method name="SetProxy" cname="ges_asset_set_proxy">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="proxy" type="GESAsset*" />
+        </parameters>
+      </method>
+      <method name="Unproxy" cname="ges_asset_unproxy">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="proxy" type="GESAsset*" />
+        </parameters>
+      </method>
+      <property name="ExtractableType" cname="extractable-type" type="GType" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Id" cname="id" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Proxy" cname="proxy" type="GESAsset*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="ProxyTarget" cname="proxy-target" type="GESAsset*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GObject*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESAssetPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="AudioSource" cname="GESAudioSource" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESAudioSourceClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_source" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <virtual_method name="CreateSource" cname="create_source" shared="true" hidden="true">
+        <return-type type="GstElement*" />
+        <parameters>
+          <parameter name="_object" type="GESTrackElement*" />
+        </parameters>
+      </virtual_method>
+      <method name="GetType" cname="ges_audio_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESSource*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESAudioSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="AudioTestSource" cname="GESAudioTestSource" opaque="false" hidden="false" parent="GESAudioSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESAudioTestSourceClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESAudioSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_audio_test_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetFreq" cname="ges_audio_test_source_get_freq">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="GetVolume" cname="ges_audio_test_source_get_volume">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="SetFreq" cname="ges_audio_test_source_set_freq">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="freq" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetVolume" cname="ges_audio_test_source_set_volume">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="volume" type="gdouble" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESAudioSource*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESAudioTestSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="AudioTrack" cname="GESAudioTrack" opaque="false" hidden="false" parent="GESTrack">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GstChildProxy" />
+      </implements>
+      <class_struct cname="GESAudioTrackClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESTrackClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_audio_track_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_audio_track_new" disable_void_ctor="" />
+      <field cname="parent_instance" access="public" writeable="false" readable="true" name="ParentInstance" type="GESTrack*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESAudioTrackPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="AudioTransition" cname="GESAudioTransition" opaque="false" hidden="false" parent="GESTransition">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESAudioTransitionClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESTransitionClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_audio_transition_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_audio_transition_new" disable_void_ctor="" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESTransition*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESAudioTransitionPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="AudioUriSource" cname="GESAudioUriSource" opaque="false" hidden="false" parent="GESAudioSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESAudioUriSourceClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESAudioSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_audio_uri_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESAudioSource*" />
+      <field cname="uri" access="private" writeable="false" readable="false" name="UriField" type="gchar*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESAudioUriSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="BaseEffect" cname="GESBaseEffect" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESOperation">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESBaseEffectClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESOperationClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_base_effect_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESOperation*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESBaseEffectPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="BaseEffectClip" cname="GESBaseEffectClip" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESOperationClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESBaseEffectClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESOperationClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_base_effect_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESOperationClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESBaseEffectClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="BaseTransitionClip" cname="GESBaseTransitionClip" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESOperationClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESBaseTransitionClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESOperationClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_base_transition_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESOperationClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESBaseTransitionClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="BaseXmlFormatter" cname="GESBaseXmlFormatter" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESFormatter">
+      <implements>
+        <interface cname="GESExtractable" />
+      </implements>
+      <class_struct cname="GESBaseXmlFormatterClass">
+        <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESFormatterClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="content_parser" access="public" writeable="false" readable="true" name="ContentParser" type="GMarkupParser" />
+        <method vm="save" />
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <virtual_method name="Save" cname="save" shared="true">
+        <return-type type="GLib.String*" owned="true" />
+        <parameters throws="1">
+          <parameter name="formatter" type="GESFormatter*" />
+          <parameter name="timeline" type="GESTimeline*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <method name="GetType" cname="ges_base_xml_formatter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESFormatter*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESBaseXmlFormatterPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Clip" cname="GESClip" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESContainer">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESContainerClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="create_track_element" access="public" writeable="false" readable="true" name="CreateTrackElement" type="GESCreateTrackElementFunc" />
+        <field cname="create_track_elements" access="public" writeable="false" readable="true" name="CreateTrackElements" type="GESCreateTrackElementsFunc" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" />
+      </class_struct>
+      <method name="GetType" cname="ges_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="CreateTrackElement" cname="create_track_element" hidden="true">
+        <return-type type="GESTrackElement*" />
+        <parameters>
+          <parameter name="type" type="GESTrackType" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateTrackElements" cname="create_track_elements" hidden="true">
+        <return-type type="GList*" element_type="gpointer" />
+        <parameters>
+          <parameter name="type" type="GESTrackType" />
+        </parameters>
+      </virtual_method>
+      <method name="AddAsset" cname="ges_clip_add_asset">
+        <return-type type="GESTrackElement*" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </method>
+      <method name="FindTrackElement" cname="ges_clip_find_track_element">
+        <return-type type="GESTrackElement*" owned="true" />
+        <parameters>
+          <parameter allow-none="1" name="track" type="GESTrack*" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="FindTrackElements" cname="ges_clip_find_track_elements">
+        <return-type type="GList*" element_type="GESTrackElement*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter allow-none="1" name="track" type="GESTrack*" />
+          <parameter name="track_type" type="GESTrackType" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="GetLayer" cname="ges_clip_get_layer">
+        <return-type type="GESLayer*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetSupportedFormats" cname="ges_clip_get_supported_formats">
+        <return-type type="GESTrackType" />
+        <parameters />
+      </method>
+      <method name="GetTopEffectIndex" cname="ges_clip_get_top_effect_index">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="effect" type="GESBaseEffect*" />
+        </parameters>
+      </method>
+      <method name="GetTopEffectPosition" cname="ges_clip_get_top_effect_position">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="effect" type="GESBaseEffect*" />
+        </parameters>
+      </method>
+      <method name="GetTopEffects" cname="ges_clip_get_top_effects">
+        <return-type type="GList*" element_type="GESTrackElement*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="MoveToLayer" cname="ges_clip_move_to_layer">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="layer" type="GESLayer*" />
+        </parameters>
+      </method>
+      <method name="SetSupportedFormats" cname="ges_clip_set_supported_formats">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="supportedformats" type="GESTrackType" />
+        </parameters>
+      </method>
+      <method name="SetTopEffectIndex" cname="ges_clip_set_top_effect_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="effect" type="GESBaseEffect*" />
+          <parameter name="newindex" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetTopEffectPriority" cname="ges_clip_set_top_effect_priority">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="effect" type="GESBaseEffect*" />
+          <parameter name="newpriority" type="guint" />
+        </parameters>
+      </method>
+      <method name="Split" cname="ges_clip_split">
+        <return-type type="GESClip*" />
+        <parameters>
+          <parameter name="position" type="guint64" />
+        </parameters>
+      </method>
+      <property name="Layer" cname="layer" type="GESLayer*" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="SupportedFormats" cname="supported-formats" type="GESTrackType" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESContainer*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" />
+    </object>
+    <object name="ClipAsset" cname="GESClipAsset" opaque="false" hidden="false" parent="GESAsset">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GAsyncInitable" />
+        <interface cname="GInitable" />
+      </implements>
+      <class_struct cname="GESClipAssetClass">
+        <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESAssetClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_clip_asset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetSupportedFormats" cname="ges_clip_asset_get_supported_formats">
+        <return-type type="GESTrackType" />
+        <parameters />
+      </method>
+      <method name="SetSupportedFormats" cname="ges_clip_asset_set_supported_formats">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="supportedformats" type="GESTrackType" />
+        </parameters>
+      </method>
+      <property name="SupportedFormats" cname="supported-formats" type="GESTrackType" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESAsset*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESClipAssetPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="CommandLineFormatter" cname="GESCommandLineFormatter" opaque="false" hidden="false" parent="GESFormatter">
+      <implements>
+        <interface cname="GESExtractable" />
+      </implements>
+      <class_struct cname="GESCommandLineFormatterClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESFormatterClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+      </class_struct>
+      <method name="GetType" cname="ges_command_line_formatter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetHelp" cname="ges_command_line_formatter_get_help" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="nargs" type="gint" />
+          <parameter name="commands" type="const-gchar*" />
+        </parameters>
+      </method>
+      <field cname="parent_instance" access="public" writeable="false" readable="true" name="ParentInstance" type="GESFormatter*" />
+      <field cname="priv" access="public" writeable="false" readable="true" name="Priv" type="GESCommandLineFormatterPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </object>
+    <object name="Container" cname="GESContainer" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESTimelineElement">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESContainerClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESTimelineElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="child_added" />
+        <method signal_vm="child_removed" />
+        <method vm="add_child" />
+        <method vm="remove_child" />
+        <method vm="ungroup" />
+        <method vm="group" />
+        <method vm="edit" />
+        <field cname="grouping_priority" access="private" writeable="false" readable="false" name="GroupingPriority" type="guint" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" />
+      </class_struct>
+      <virtual_method name="Group" cname="group" shared="true" hidden="true">
+        <return-type type="GESContainer*" />
+        <parameters>
+          <parameter name="containers" type="GList*" element_type="gpointer" />
+        </parameters>
+      </virtual_method>
+      <method name="GetType" cname="ges_container_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Group" cname="ges_container_group" shared="true">
+        <return-type type="GESContainer*" />
+        <parameters>
+          <parameter allow-none="1" name="containers" type="GList*" element_type="GESContainer*" />
+        </parameters>
+      </method>
+      <virtual_method name="AddChild" cname="add_child">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element" type="GESTimelineElement*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Edit" cname="edit">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="layers" type="GList*" element_type="GESLayer*" />
+          <parameter name="new_layer_priority" type="gint" />
+          <parameter name="mode" type="GESEditMode" />
+          <parameter name="edge" type="GESEdge" />
+          <parameter name="position" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RemoveChild" cname="remove_child">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element" type="GESTimelineElement*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Ungroup" cname="ungroup">
+        <return-type type="GList*" element_type="GESContainer*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="recursive" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <method name="Add" cname="ges_container_add">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="child" type="GESTimelineElement*" />
+        </parameters>
+      </method>
+      <method name="Edit" cname="ges_container_edit">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="layers" type="GList*" element_type="GESLayer*" />
+          <parameter name="new_layer_priority" type="gint" />
+          <parameter name="mode" type="GESEditMode" />
+          <parameter name="edge" type="GESEdge" />
+          <parameter name="position" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetChildren" cname="ges_container_get_children">
+        <return-type type="GList*" element_type="GESTimelineElement*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="recursive" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Remove" cname="ges_container_remove">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="child" type="GESTimelineElement*" />
+        </parameters>
+      </method>
+      <method name="Ungroup" cname="ges_container_ungroup">
+        <return-type type="GList*" element_type="GESContainer*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="recursive" type="gboolean" />
+        </parameters>
+      </method>
+      <property name="Height" cname="height" type="guint" readable="true" writeable="false" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESTimelineElement*" />
+      <field cname="children" access="public" writeable="false" readable="true" name="Children" type="GList*" element_type="GESTimelineElement*" />
+      <field cname="height" access="public" writeable="false" readable="true" name="HeightField" type="guint32" />
+      <field cname="children_control_mode" access="public" writeable="false" readable="true" name="ChildrenControlMode" type="GESChildrenControlMode" />
+      <field cname="initiated_move" access="public" writeable="false" readable="true" name="InitiatedMove" type="GESTimelineElement*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESContainerPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" />
+      <signal name="ChildAdded" cname="child-added" when="first" field_name="child_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="element" type="GESTimelineElement*" />
+        </parameters>
+      </signal>
+      <signal name="ChildRemoved" cname="child-removed" when="first" field_name="child_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="element" type="GESTimelineElement*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="Effect" cname="GESEffect" opaque="false" hidden="false" parent="GESBaseEffect">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESEffectClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESBaseEffectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="rate_properties" access="private" writeable="false" readable="false" name="RateProperties" type="GList*" element_type="gpointer" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="RegisterRateProperty" cname="ges_effect_class_register_rate_property" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element_name" type="const-gchar*" />
+          <parameter name="property_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetType" cname="ges_effect_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_effect_new">
+        <parameters>
+          <parameter name="bin_description" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <property name="BinDescription" cname="bin-description" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESBaseEffect*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESEffectPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="EffectAsset" cname="GESEffectAsset" opaque="false" hidden="false" parent="GESTrackElementAsset">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GAsyncInitable" />
+        <interface cname="GInitable" />
+      </implements>
+      <class_struct cname="GESEffectAssetClass" private="true">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESTrackElementAssetClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_effect_asset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent_instance" access="public" writeable="false" readable="true" name="ParentInstance" type="GESTrackElementAsset*" />
+      <field cname="priv" access="public" writeable="false" readable="true" name="Priv" type="GESEffectAssetPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="EffectClip" cname="GESEffectClip" opaque="false" hidden="false" parent="GESBaseEffectClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESEffectClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESBaseEffectClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_effect_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_effect_clip_new">
+        <parameters>
+          <parameter name="video_bin_description" type="const-gchar*" />
+          <parameter name="audio_bin_description" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <property name="AudioBinDescription" cname="audio-bin-description" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="VideoBinDescription" cname="video-bin-description" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESBaseEffectClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESEffectClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Formatter" cname="GESFormatter" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GInitiallyUnowned">
+      <implements>
+        <interface cname="GESExtractable" />
+      </implements>
+      <class_struct cname="GESFormatterClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GInitiallyUnownedClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="can_load_uri" access="public" writeable="false" readable="true" name="CanLoadUri" type="GESFormatterCanLoadURIMethod" />
+        <field cname="load_from_uri" access="public" writeable="false" readable="true" name="LoadFromUri" type="GESFormatterLoadFromURIMethod" />
+        <field cname="save_to_uri" access="public" writeable="false" readable="true" name="SaveToUri" type="GESFormatterSaveToURIMethod" />
+        <field cname="name" access="private" writeable="false" readable="false" name="Name" type="gchar*" />
+        <field cname="description" access="private" writeable="false" readable="false" name="Description" type="gchar*" />
+        <field cname="extension" access="private" writeable="false" readable="false" name="Extension" type="gchar*" />
+        <field cname="mimetype" access="private" writeable="false" readable="false" name="Mimetype" type="gchar*" />
+        <field cname="version" access="private" writeable="false" readable="false" name="Version" type="gdouble" />
+        <field cname="rank" access="private" writeable="false" readable="false" name="Rank" type="GstRank" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="RegisterMetas" cname="ges_formatter_class_register_metas" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+          <parameter name="extension" type="const-gchar*" />
+          <parameter name="mimetype" type="const-gchar*" />
+          <parameter name="version" type="gdouble" />
+          <parameter name="rank" type="GstRank" />
+        </parameters>
+      </method>
+      <method name="GetType" cname="ges_formatter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="CanLoadUri" cname="ges_formatter_can_load_uri" shared="true">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="CanSaveUri" cname="ges_formatter_can_save_uri" shared="true">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="GetDefault" cname="ges_formatter_get_default" shared="true">
+        <return-type type="GESAsset*" />
+      </method>
+      <virtual_method name="CanLoadUri" cname="can_load_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="LoadFromUri" cname="load_from_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="timeline" type="GESTimeline*" />
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SaveToUri" cname="save_to_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="timeline" type="GESTimeline*" />
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="overwrite" type="gboolean" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <method name="LoadFromUri" cname="ges_formatter_load_from_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="timeline" type="GESTimeline*" />
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="SaveToUri" cname="ges_formatter_save_to_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="timeline" type="GESTimeline*" />
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="overwrite" type="gboolean" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="true" name="Parent" type="GInitiallyUnowned*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESFormatterPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="project" access="private" writeable="false" readable="false" name="Project" type="GESProject*" />
+      <field cname="timeline" access="private" writeable="false" readable="false" name="Timeline" type="GESTimeline*" />
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Group" cname="GESGroup" opaque="false" hidden="false" parent="GESContainer">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESGroupClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESContainerClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_group_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_group_new" disable_void_ctor="" />
+      <property name="Duration" cname="duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="InPoint" cname="in-point" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MaxDuration" cname="max-duration" type="guint64" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Priority" cname="priority" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Start" cname="start" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESContainer*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESGroupPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="ImageSource" cname="GESImageSource" opaque="false" hidden="false" parent="GESVideoSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESImageSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESVideoSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_image_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESVideoSource*" />
+      <field cname="uri" access="private" writeable="false" readable="false" name="UriField" type="gchar*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESImageSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Layer" cname="GESLayer" opaque="false" hidden="false" parent="GInitiallyUnowned">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESLayerClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GInitiallyUnownedClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_objects" />
+        <method vm="object_added" />
+        <method vm="object_removed" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_layer_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_layer_new" disable_void_ctor="" />
+      <virtual_method name="GetObjects" cname="get_objects" hidden="true">
+        <return-type type="GList*" element_type="gpointer" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="ObjectAdded" cname="object_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GESClip*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ObjectRemoved" cname="object_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GESClip*" />
+        </parameters>
+      </virtual_method>
+      <method name="AddAsset" cname="ges_layer_add_asset">
+        <return-type type="GESClip*" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+          <parameter name="start" type="guint64" />
+          <parameter name="inpoint" type="guint64" />
+          <parameter name="duration" type="guint64" />
+          <parameter name="track_types" type="GESTrackType" />
+        </parameters>
+      </method>
+      <method name="AddClip" cname="ges_layer_add_clip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="clip" type="GESClip*" owned="true" />
+        </parameters>
+      </method>
+      <method name="GetAutoTransition" cname="ges_layer_get_auto_transition">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetClips" cname="ges_layer_get_clips">
+        <return-type type="GList*" element_type="GESClip*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetClipsInInterval" cname="ges_layer_get_clips_in_interval">
+        <return-type type="GList*" element_type="GESClip*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+          <parameter name="end" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetDuration" cname="ges_layer_get_duration">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetPriority" cname="ges_layer_get_priority">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetTimeline" cname="ges_layer_get_timeline">
+        <return-type type="GESTimeline*" />
+        <parameters />
+      </method>
+      <method name="IsEmpty" cname="ges_layer_is_empty">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="RemoveClip" cname="ges_layer_remove_clip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="clip" type="GESClip*" />
+        </parameters>
+      </method>
+      <method name="SetAutoTransition" cname="ges_layer_set_auto_transition">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="auto_transition" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetPriority" cname="ges_layer_set_priority">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="priority" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetTimeline" cname="ges_layer_set_timeline">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timeline" type="GESTimeline*" />
+        </parameters>
+      </method>
+      <property name="AutoTransition" cname="auto-transition" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Priority" cname="priority" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="private" writeable="false" readable="true" name="Parent" type="GInitiallyUnowned*" />
+      <field cname="timeline" access="public" writeable="false" readable="true" name="Timeline" type="GESTimeline*" />
+      <field cname="min_nle_priority" access="public" writeable="false" readable="true" name="MinNlePriority" type="guint32" />
+      <field cname="max_nle_priority" access="public" writeable="false" readable="true" name="MaxNlePriority" type="guint32" />
+      <field cname="priv" access="public" writeable="false" readable="true" name="Priv" type="GESLayerPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      <signal name="ClipAdded" cname="clip-added" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="clip" type="GESClip*" />
+        </parameters>
+      </signal>
+      <signal name="ClipRemoved" cname="clip-removed" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="clip" type="GESClip*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="MultiFileSource" cname="GESMultiFileSource" opaque="false" hidden="false" parent="GESVideoSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESMultiFileSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESVideoSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_multi_file_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_multi_file_source_new">
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESVideoSource*" />
+      <field cname="uri" access="private" writeable="false" readable="false" name="UriField" type="gchar*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESMultiFileSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Operation" cname="GESOperation" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESTrackElement">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESOperationClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESTrackElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_operation_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESTrackElement*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESOperationPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="OperationClip" cname="GESOperationClip" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESOperationClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_operation_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESOperationClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="OverlayClip" cname="GESOverlayClip" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESOperationClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESOverlayClipClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESOperationClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_overlay_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESOperationClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESOverlayClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Pipeline" cname="GESPipeline" opaque="false" hidden="false" parent="GstPipeline">
+      <implements>
+        <interface cname="GstChildProxy" />
+        <interface cname="GstVideoOverlay" />
+      </implements>
+      <class_struct cname="GESPipelineClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GstPipelineClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_pipeline_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_pipeline_new" disable_void_ctor="" />
+      <method name="GetMode" cname="ges_pipeline_get_mode">
+        <return-type type="GESPipelineFlags" />
+        <parameters />
+      </method>
+      <method name="GetThumbnail" cname="ges_pipeline_get_thumbnail">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetThumbnailRgb24" cname="ges_pipeline_get_thumbnail_rgb24">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="width" type="gint" />
+          <parameter name="height" type="gint" />
+        </parameters>
+      </method>
+      <method name="PreviewGetAudioSink" cname="ges_pipeline_preview_get_audio_sink">
+        <return-type type="GstElement*" owned="true" />
+        <parameters />
+      </method>
+      <method name="PreviewGetVideoSink" cname="ges_pipeline_preview_get_video_sink">
+        <return-type type="GstElement*" owned="true" />
+        <parameters />
+      </method>
+      <method name="PreviewSetAudioSink" cname="ges_pipeline_preview_set_audio_sink">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sink" type="GstElement*" />
+        </parameters>
+      </method>
+      <method name="PreviewSetVideoSink" cname="ges_pipeline_preview_set_video_sink">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sink" type="GstElement*" />
+        </parameters>
+      </method>
+      <method name="SaveThumbnail" cname="ges_pipeline_save_thumbnail">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="width" type="gint" />
+          <parameter name="height" type="gint" />
+          <parameter name="format" type="const-gchar*" />
+          <parameter name="location" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="SetMode" cname="ges_pipeline_set_mode">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="mode" type="GESPipelineFlags" />
+        </parameters>
+      </method>
+      <method name="SetRenderSettings" cname="ges_pipeline_set_render_settings">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="output_uri" type="const-gchar*" />
+          <parameter name="profile" type="GstEncodingProfile*" />
+        </parameters>
+      </method>
+      <method name="SetTimeline" cname="ges_pipeline_set_timeline">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timeline" type="GESTimeline*" owned="true" />
+        </parameters>
+      </method>
+      <property name="AudioFilter" cname="audio-filter" type="GstElement*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="AudioSink" cname="audio-sink" type="GstElement*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Mode" cname="mode" type="GESPipelineFlags" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Timeline" cname="timeline" type="GESTimeline*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="VideoFilter" cname="video-filter" type="GstElement*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="VideoSink" cname="video-sink" type="GstElement*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GstPipeline*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESPipelinePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="PitiviFormatter" cname="GESPitiviFormatter" opaque="false" hidden="false" parent="GESFormatter">
+      <implements>
+        <interface cname="GESExtractable" />
+      </implements>
+      <class_struct cname="GESPitiviFormatterClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESFormatterClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_pitivi_formatter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_pitivi_formatter_new" disable_void_ctor="" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESFormatter*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESPitiviFormatterPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Project" cname="GESProject" opaque="false" hidden="false" parent="GESAsset">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GAsyncInitable" />
+        <interface cname="GInitable" />
+      </implements>
+      <class_struct cname="GESProjectClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESAssetClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="asset_added" />
+        <method signal_vm="asset_loading" />
+        <method signal_vm="asset_removed" />
+        <method signal_vm="missing_uri" />
+        <method vm="loading_error" />
+        <method signal_vm="loaded" />
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_project_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_project_new">
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <virtual_method name="LoadingError" cname="loading_error">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="error" type="GLib.Error" />
+          <parameter name="id" type="const-gchar*" />
+          <parameter name="extractable_type" type="GType" />
+        </parameters>
+      </virtual_method>
+      <method name="AddAsset" cname="ges_project_add_asset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </method>
+      <method name="AddEncodingProfile" cname="ges_project_add_encoding_profile">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="profile" type="GstEncodingProfile*" />
+        </parameters>
+      </method>
+      <method name="CreateAsset" cname="ges_project_create_asset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="id" type="const-gchar*" />
+          <parameter name="extractable_type" type="GType" />
+        </parameters>
+      </method>
+      <method name="CreateAssetSync" cname="ges_project_create_asset_sync">
+        <return-type type="GESAsset*" owned="true" />
+        <parameters throws="1">
+          <parameter allow-none="1" name="id" type="const-gchar*" />
+          <parameter name="extractable_type" type="GType" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="GetAsset" cname="ges_project_get_asset">
+        <return-type type="GESAsset*" owned="true" />
+        <parameters>
+          <parameter name="id" type="const-gchar*" />
+          <parameter name="extractable_type" type="GType" />
+        </parameters>
+      </method>
+      <method name="GetLoadingAssets" cname="ges_project_get_loading_assets">
+        <return-type type="GList*" element_type="GESAsset*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetUri" cname="ges_project_get_uri">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="ListAssets" cname="ges_project_list_assets">
+        <return-type type="GList*" element_type="GESAsset*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="filter" type="GType" />
+        </parameters>
+      </method>
+      <method name="ListEncodingProfiles" cname="ges_project_list_encoding_profiles">
+        <return-type type="const GList*" element_type="GstEncodingProfile*" />
+        <parameters />
+      </method>
+      <method name="Load" cname="ges_project_load">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="timeline" type="GESTimeline*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="RemoveAsset" cname="ges_project_remove_asset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </method>
+      <method name="Save" cname="ges_project_save">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="timeline" type="GESTimeline*" />
+          <parameter name="uri" type="const-gchar*" />
+          <parameter allow-none="1" name="formatter_asset" type="GESAsset*" />
+          <parameter name="overwrite" type="gboolean" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESAsset*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESProjectPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="__ges_reserved" access="private" writeable="false" readable="false" name="__gesGesReserved" type="gpointer" array="true" array_len="20" />
+      <signal name="AssetAdded" cname="asset-added" when="last" field_name="asset_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </signal>
+      <signal name="AssetLoading" cname="asset-loading" when="last" field_name="asset_loading" version="1.8">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </signal>
+      <signal name="AssetRemoved" cname="asset-removed" when="last" field_name="asset_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="asset" type="GESAsset*" />
+        </parameters>
+      </signal>
+      <signal name="ErrorLoadingAsset" cname="error-loading-asset" when="last">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="error" type="GLib.Error" />
+          <parameter name="id" type="const-gchar*" />
+          <parameter name="extractable_type" type="GType" />
+        </parameters>
+      </signal>
+      <signal name="Loaded" cname="loaded" when="first" field_name="loaded">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timeline" type="GESTimeline*" />
+        </parameters>
+      </signal>
+      <signal name="MissingUri" cname="missing-uri" when="last" field_name="missing_uri">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="error" type="GLib.Error" />
+          <parameter name="wrong_asset" type="GESAsset*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="Source" cname="GESSource" opaque="false" hidden="false" parent="GESTrackElement">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESSourceClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESTrackElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESTrackElement*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="SourceClip" cname="GESSourceClip" opaque="false" hidden="false" parent="GESClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESSourceClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_source_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESSourceClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="TestClip" cname="GESTestClip" opaque="false" hidden="false" parent="GESSourceClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTestClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESSourceClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_test_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_test_clip_new" disable_void_ctor="" />
+      <constructor cname="ges_test_clip_new_for_nick">
+        <parameters>
+          <parameter name="nick" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="GetFrequency" cname="ges_test_clip_get_frequency">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="GetVolume" cname="ges_test_clip_get_volume">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="GetVpattern" cname="ges_test_clip_get_vpattern">
+        <return-type type="GESVideoTestPattern" />
+        <parameters />
+      </method>
+      <method name="IsMuted" cname="ges_test_clip_is_muted">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetFrequency" cname="ges_test_clip_set_frequency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="freq" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetMute" cname="ges_test_clip_set_mute">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mute" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetVolume" cname="ges_test_clip_set_volume">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="volume" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetVpattern" cname="ges_test_clip_set_vpattern">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="vpattern" type="GESVideoTestPattern" />
+        </parameters>
+      </method>
+      <property name="Freq" cname="freq" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Mute" cname="mute" type="gboolean" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Volume" cname="volume" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Vpattern" cname="vpattern" type="GESVideoTestPattern" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESSourceClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTestClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="TextOverlay" cname="GESTextOverlay" opaque="false" hidden="false" parent="GESOperation">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTextOverlayClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESOperationClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_text_overlay_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_text_overlay_new" disable_void_ctor="" />
+      <method name="GetColor" cname="ges_text_overlay_get_color">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetFontDesc" cname="ges_text_overlay_get_font_desc">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetHalignment" cname="ges_text_overlay_get_halignment">
+        <return-type type="GESTextHAlign" />
+        <parameters />
+      </method>
+      <method name="GetText" cname="ges_text_overlay_get_text">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetValignment" cname="ges_text_overlay_get_valignment">
+        <return-type type="GESTextVAlign" />
+        <parameters />
+      </method>
+      <method name="GetXpos" cname="ges_text_overlay_get_xpos">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="GetYpos" cname="ges_text_overlay_get_ypos">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="SetColor" cname="ges_text_overlay_set_color">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="color" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetFontDesc" cname="ges_text_overlay_set_font_desc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="font_desc" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetHalignment" cname="ges_text_overlay_set_halignment">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="halign" type="GESTextHAlign" />
+        </parameters>
+      </method>
+      <method name="SetText" cname="ges_text_overlay_set_text">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="text" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetValignment" cname="ges_text_overlay_set_valignment">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="valign" type="GESTextVAlign" />
+        </parameters>
+      </method>
+      <method name="SetXpos" cname="ges_text_overlay_set_xpos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetYpos" cname="ges_text_overlay_set_ypos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="gdouble" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESOperation*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTextOverlayPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="TextOverlayClip" cname="GESTextOverlayClip" opaque="false" hidden="false" parent="GESOverlayClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTextOverlayClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESOverlayClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_text_overlay_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_text_overlay_clip_new" disable_void_ctor="" />
+      <method name="GetColor" cname="ges_text_overlay_clip_get_color">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetFontDesc" cname="ges_text_overlay_clip_get_font_desc">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetHalignment" cname="ges_text_overlay_clip_get_halignment">
+        <return-type type="GESTextHAlign" />
+        <parameters />
+      </method>
+      <method name="GetText" cname="ges_text_overlay_clip_get_text">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetValignment" cname="ges_text_overlay_clip_get_valignment">
+        <return-type type="GESTextVAlign" />
+        <parameters />
+      </method>
+      <method name="GetXpos" cname="ges_text_overlay_clip_get_xpos">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="GetYpos" cname="ges_text_overlay_clip_get_ypos">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="SetColor" cname="ges_text_overlay_clip_set_color">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="color" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetFontDesc" cname="ges_text_overlay_clip_set_font_desc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="font_desc" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetHalign" cname="ges_text_overlay_clip_set_halign">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="halign" type="GESTextHAlign" />
+        </parameters>
+      </method>
+      <method name="SetText" cname="ges_text_overlay_clip_set_text">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="text" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetValign" cname="ges_text_overlay_clip_set_valign">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="valign" type="GESTextVAlign" />
+        </parameters>
+      </method>
+      <method name="SetXpos" cname="ges_text_overlay_clip_set_xpos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetYpos" cname="ges_text_overlay_clip_set_ypos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="gdouble" />
+        </parameters>
+      </method>
+      <property name="Color" cname="color" type="guint" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="FontDesc" cname="font-desc" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Halignment" cname="halignment" type="GESTextHAlign" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Text" cname="text" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Valignment" cname="valignment" type="GESTextVAlign" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Xpos" cname="xpos" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Ypos" cname="ypos" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESOverlayClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTextOverlayClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Timeline" cname="GESTimeline" opaque="false" hidden="false" parent="GstBin">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+        <interface cname="GstChildProxy" />
+      </implements>
+      <class_struct cname="GESTimelineClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GstBinClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="track_added" />
+        <method signal_vm="track_removed" />
+        <method signal_vm="layer_added" />
+        <method signal_vm="layer_removed" />
+        <method signal_vm="group_added" />
+        <method signal_vm="group_removed" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_timeline_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_timeline_new" disable_void_ctor="" />
+      <constructor cname="ges_timeline_new_audio_video" disable_void_ctor="" />
+      <constructor cname="ges_timeline_new_from_uri">
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AddLayer" cname="ges_timeline_add_layer">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="layer" type="GESLayer*" owned="true" />
+        </parameters>
+      </method>
+      <method name="AddTrack" cname="ges_timeline_add_track">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="track" type="GESTrack*" owned="true" />
+        </parameters>
+      </method>
+      <method name="AppendLayer" cname="ges_timeline_append_layer">
+        <return-type type="GESLayer*" />
+        <parameters />
+      </method>
+      <method name="Commit" cname="ges_timeline_commit">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="CommitSync" cname="ges_timeline_commit_sync">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetAutoTransition" cname="ges_timeline_get_auto_transition">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetDuration" cname="ges_timeline_get_duration">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetElement" cname="ges_timeline_get_element">
+        <return-type type="GESTimelineElement*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetGroups" cname="ges_timeline_get_groups">
+        <return-type type="GList*" element_type="GESGroup*" />
+        <parameters />
+      </method>
+      <method name="GetLayer" cname="ges_timeline_get_layer">
+        <return-type type="GESLayer*" owned="true" />
+        <parameters>
+          <parameter name="priority" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetLayers" cname="ges_timeline_get_layers">
+        <return-type type="GList*" element_type="GESLayer*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPadForTrack" cname="ges_timeline_get_pad_for_track">
+        <return-type type="GstPad*" />
+        <parameters>
+          <parameter name="track" type="GESTrack*" />
+        </parameters>
+      </method>
+      <method name="GetSnappingDistance" cname="ges_timeline_get_snapping_distance">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetTrackForPad" cname="ges_timeline_get_track_for_pad">
+        <return-type type="GESTrack*" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="GetTracks" cname="ges_timeline_get_tracks">
+        <return-type type="GList*" element_type="GESTrack*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="IsEmpty" cname="ges_timeline_is_empty">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="LoadFromUri" cname="ges_timeline_load_from_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="RemoveLayer" cname="ges_timeline_remove_layer">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="layer" type="GESLayer*" />
+        </parameters>
+      </method>
+      <method name="RemoveTrack" cname="ges_timeline_remove_track">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="track" type="GESTrack*" />
+        </parameters>
+      </method>
+      <method name="SaveToUri" cname="ges_timeline_save_to_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter allow-none="1" name="formatter_asset" type="GESAsset*" />
+          <parameter name="overwrite" type="gboolean" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="SetAutoTransition" cname="ges_timeline_set_auto_transition">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="auto_transition" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSnappingDistance" cname="ges_timeline_set_snapping_distance">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="snapping_distance" type="guint64" />
+        </parameters>
+      </method>
+      <property name="AutoTransition" cname="auto-transition" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Duration" cname="duration" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="SnappingDistance" cname="snapping-distance" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GstBin*" />
+      <field cname="layers" access="public" writeable="false" readable="true" name="Layers" type="GList*" element_type="GESLayer*" />
+      <field cname="tracks" access="public" writeable="false" readable="true" name="Tracks" type="GList*" element_type="GESTrack*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTimelinePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      <signal name="Commited" cname="commited" when="last">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+      <signal name="GroupAdded" cname="group-added" when="first" field_name="group_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="group" type="GESGroup*" />
+        </parameters>
+      </signal>
+      <signal name="GroupRemoved" cname="group-removed" when="first" field_name="group_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="group" type="GESGroup*" />
+          <parameter name="children" type="" array="true" null_term_array="true" />
+        </parameters>
+      </signal>
+      <signal name="LayerAdded" cname="layer-added" when="first" field_name="layer_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="layer" type="GESLayer*" />
+        </parameters>
+      </signal>
+      <signal name="LayerRemoved" cname="layer-removed" when="first" field_name="layer_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="layer" type="GESLayer*" />
+        </parameters>
+      </signal>
+      <signal name="SelectTracksForObject" cname="select-tracks-for-object" when="last">
+        <return-type type="*" owned="true" array="true" null_term_array="true" />
+        <parameters>
+          <parameter name="clip" type="GESClip*" />
+          <parameter name="track_element" type="GESTrackElement*" />
+        </parameters>
+      </signal>
+      <signal name="SnappingEnded" cname="snapping-ended" when="last">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GESTrackElement*" />
+          <parameter name="p0" type="GESTrackElement*" />
+          <parameter name="p1" type="guint64" />
+        </parameters>
+      </signal>
+      <signal name="SnappingStarted" cname="snapping-started" when="last">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GESTrackElement*" />
+          <parameter name="p0" type="GESTrackElement*" />
+          <parameter name="p1" type="guint64" />
+        </parameters>
+      </signal>
+      <signal name="TrackAdded" cname="track-added" when="first" field_name="track_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="track" type="GESTrack*" />
+        </parameters>
+      </signal>
+      <signal name="TrackRemoved" cname="track-removed" when="first" field_name="track_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="track" type="GESTrack*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="TimelineElement" cname="GESTimelineElement" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GInitiallyUnowned">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTimelineElementClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GInitiallyUnownedClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="set_parent" />
+        <method vm="set_start" />
+        <method vm="set_inpoint" />
+        <method vm="set_duration" />
+        <method vm="set_max_duration" />
+        <method vm="set_priority" />
+        <method vm="ripple" />
+        <method vm="ripple_end" />
+        <method vm="roll_start" />
+        <method vm="roll_end" />
+        <method vm="trim" />
+        <method vm="deep_copy" />
+        <method vm="paste" />
+        <method vm="list_children_properties" />
+        <method vm="lookup_child" />
+        <method vm="get_track_types" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="18" />
+      </class_struct>
+      <method name="GetType" cname="ges_timeline_element_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="DeepCopy" cname="deep_copy">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="copy" type="GESTimelineElement*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetTrackTypes" cname="get_track_types" version="1.6.0">
+        <return-type type="GESTrackType" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="ListChildrenProperties" cname="list_children_properties" hidden="true">
+        <return-type type="GParamSpec*" />
+        <parameters>
+          <parameter name="n_properties" type="guint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="LookupChild" cname="lookup_child">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="prop_name" type="const-gchar*" />
+          <parameter allow-none="1" name="child" type="GObject*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="pspec" type="GParamSpec*" owned="true" pass_as="out" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Paste" cname="paste" hidden="true">
+        <return-type type="GESTimelineElement*" />
+        <parameters>
+          <parameter name="ref_element" type="GESTimelineElement*" />
+          <parameter name="paste_position" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Ripple" cname="ripple">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RippleEnd" cname="ripple_end">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="end" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RollEnd" cname="roll_end">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="end" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RollStart" cname="roll_start">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetDuration" cname="set_duration">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="duration" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetInpoint" cname="set_inpoint">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="inpoint" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetMaxDuration" cname="set_max_duration">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="maxduration" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetParent" cname="set_parent">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="parent" type="GESTimelineElement*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetPriority" cname="set_priority">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="priority" type="guint32" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetStart" cname="set_start">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Trim" cname="trim">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <method name="AddChildProperty" cname="ges_timeline_element_add_child_property">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pspec" type="GParamSpec*" />
+          <parameter name="child" type="GObject*" />
+        </parameters>
+      </method>
+      <method name="Copy" cname="ges_timeline_element_copy">
+        <return-type type="GESTimelineElement*" />
+        <parameters>
+          <parameter name="deep" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="GetChildProperty" cname="ges_timeline_element_get_child_property">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="value" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetChildPropertyByPspec" cname="ges_timeline_element_get_child_property_by_pspec">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pspec" type="GParamSpec*" />
+          <parameter name="value" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDuration" cname="ges_timeline_element_get_duration">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetInpoint" cname="ges_timeline_element_get_inpoint">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetMaxDuration" cname="ges_timeline_element_get_max_duration">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetName" cname="ges_timeline_element_get_name">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetParent" cname="ges_timeline_element_get_parent">
+        <return-type type="GESTimelineElement*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPriority" cname="ges_timeline_element_get_priority">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetStart" cname="ges_timeline_element_get_start">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetTimeline" cname="ges_timeline_element_get_timeline">
+        <return-type type="GESTimeline*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetToplevelParent" cname="ges_timeline_element_get_toplevel_parent">
+        <return-type type="GESTimelineElement*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetTrackTypes" cname="ges_timeline_element_get_track_types" version="1.6.0">
+        <return-type type="GESTrackType" />
+        <parameters />
+      </method>
+      <method name="ListChildrenProperties" cname="ges_timeline_element_list_children_properties">
+        <return-type type="GParamSpec***" owned="true" array="true" array_length_param_index="0" />
+        <parameters>
+          <parameter name="n_properties" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="LookupChild" cname="ges_timeline_element_lookup_child">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="prop_name" type="const-gchar*" />
+          <parameter allow-none="1" name="child" type="GObject*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="pspec" type="GParamSpec*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="Paste" cname="ges_timeline_element_paste" version="1.6.0">
+        <return-type type="GESTimelineElement*" />
+        <parameters>
+          <parameter name="paste_position" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RemoveChildProperty" cname="ges_timeline_element_remove_child_property">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pspec" type="GParamSpec*" />
+        </parameters>
+      </method>
+      <method name="Ripple" cname="ges_timeline_element_ripple">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RippleEnd" cname="ges_timeline_element_ripple_end">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="end" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RollEnd" cname="ges_timeline_element_roll_end">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="end" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RollStart" cname="ges_timeline_element_roll_start">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetChildProperty" cname="ges_timeline_element_set_child_property">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetChildPropertyByPspec" cname="ges_timeline_element_set_child_property_by_pspec">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pspec" type="GParamSpec*" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetDuration" cname="ges_timeline_element_set_duration">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="duration" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetInpoint" cname="ges_timeline_element_set_inpoint">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="inpoint" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetMaxDuration" cname="ges_timeline_element_set_max_duration">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="maxduration" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetName" cname="ges_timeline_element_set_name">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetParent" cname="ges_timeline_element_set_parent">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="parent" type="GESTimelineElement*" />
+        </parameters>
+      </method>
+      <method name="SetPriority" cname="ges_timeline_element_set_priority" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="priority" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetStart" cname="ges_timeline_element_set_start">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetTimeline" cname="ges_timeline_element_set_timeline">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timeline" type="GESTimeline*" />
+        </parameters>
+      </method>
+      <method name="Trim" cname="ges_timeline_element_trim">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="guint64" />
+        </parameters>
+      </method>
+      <property name="Duration" cname="duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="InPoint" cname="in-point" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MaxDuration" cname="max-duration" type="guint64" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Name" cname="name" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Parent" cname="parent" type="GESTimelineElement*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Priority" cname="priority" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Serialize" cname="serialize" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Start" cname="start" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Timeline" cname="timeline" type="GESTimeline*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent_instance" access="private" writeable="false" readable="true" name="ParentInstance" type="GInitiallyUnowned*" />
+      <field cname="parent" access="private" writeable="false" readable="true" name="ParentField" type="GESTimelineElement*" />
+      <field cname="asset" access="public" writeable="false" readable="true" name="Asset" type="GESAsset*" hidden="true" />
+      <field cname="start" access="public" writeable="false" readable="true" name="StartField" type="guint64" />
+      <field cname="inpoint" access="public" writeable="false" readable="true" name="Inpoint" type="guint64" />
+      <field cname="duration" access="public" writeable="false" readable="true" name="DurationField" type="guint64" />
+      <field cname="maxduration" access="public" writeable="false" readable="true" name="Maxduration" type="guint64" />
+      <field cname="priority" access="public" writeable="false" readable="true" name="PriorityField" type="guint32" />
+      <field cname="timeline" access="public" writeable="false" readable="true" name="TimelineField" type="GESTimeline*" />
+      <field cname="name" access="public" writeable="false" readable="true" name="NameField" type="gchar*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTimelineElementPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" />
+      <signal name="DeepNotify" cname="deep-notify" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="prop_object" type="GObject*" />
+          <parameter name="prop" type="GParamSpec*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="TitleClip" cname="GESTitleClip" opaque="false" hidden="false" parent="GESSourceClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTitleClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESSourceClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_title_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_title_clip_new" disable_void_ctor="" />
+      <method name="GetBackgroundColor" cname="ges_title_clip_get_background_color" deprecated="true">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetFontDesc" cname="ges_title_clip_get_font_desc" deprecated="true">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetHalignment" cname="ges_title_clip_get_halignment" deprecated="true">
+        <return-type type="GESTextHAlign" />
+        <parameters />
+      </method>
+      <method name="GetText" cname="ges_title_clip_get_text" deprecated="true">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetTextColor" cname="ges_title_clip_get_text_color" deprecated="true">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetValignment" cname="ges_title_clip_get_valignment" deprecated="true">
+        <return-type type="GESTextVAlign" />
+        <parameters />
+      </method>
+      <method name="GetXpos" cname="ges_title_clip_get_xpos" deprecated="true">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="GetYpos" cname="ges_title_clip_get_ypos" deprecated="true">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="SetBackground" cname="ges_title_clip_set_background" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="background" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetColor" cname="ges_title_clip_set_color" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="color" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetFontDesc" cname="ges_title_clip_set_font_desc" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="font_desc" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetHalignment" cname="ges_title_clip_set_halignment" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="halign" type="GESTextHAlign" />
+        </parameters>
+      </method>
+      <method name="SetText" cname="ges_title_clip_set_text" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="text" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetValignment" cname="ges_title_clip_set_valignment" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="valign" type="GESTextVAlign" />
+        </parameters>
+      </method>
+      <method name="SetXpos" cname="ges_title_clip_set_xpos" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetYpos" cname="ges_title_clip_set_ypos" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="gdouble" />
+        </parameters>
+      </method>
+      <property name="Background" cname="background" type="guint" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" />
+      <property name="Color" cname="color" type="guint" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" />
+      <property name="FontDesc" cname="font-desc" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" />
+      <property name="Halignment" cname="halignment" type="GESTextHAlign" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" />
+      <property name="Text" cname="text" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" />
+      <property name="Valignment" cname="valignment" type="GESTextVAlign" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" />
+      <property name="Xpos" cname="xpos" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" />
+      <property name="Ypos" cname="ypos" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESSourceClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTitleClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="TitleSource" cname="GESTitleSource" opaque="false" hidden="false" parent="GESVideoSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTitleSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESVideoSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3" />
+      </class_struct>
+      <method name="GetType" cname="ges_title_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetBackgroundColor" cname="ges_title_source_get_background_color">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetFontDesc" cname="ges_title_source_get_font_desc">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetHalignment" cname="ges_title_source_get_halignment">
+        <return-type type="GESTextHAlign" />
+        <parameters />
+      </method>
+      <method name="GetText" cname="ges_title_source_get_text">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetTextColor" cname="ges_title_source_get_text_color">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetValignment" cname="ges_title_source_get_valignment">
+        <return-type type="GESTextVAlign" />
+        <parameters />
+      </method>
+      <method name="GetXpos" cname="ges_title_source_get_xpos">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="GetYpos" cname="ges_title_source_get_ypos">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="SetBackgroundColor" cname="ges_title_source_set_background_color">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="color" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetFontDesc" cname="ges_title_source_set_font_desc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="font_desc" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetHalignment" cname="ges_title_source_set_halignment">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="halign" type="GESTextHAlign" />
+        </parameters>
+      </method>
+      <method name="SetText" cname="ges_title_source_set_text" deprecated="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="text" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetTextColor" cname="ges_title_source_set_text_color">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="color" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetValignment" cname="ges_title_source_set_valignment">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="valign" type="GESTextVAlign" />
+        </parameters>
+      </method>
+      <method name="SetXpos" cname="ges_title_source_set_xpos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetYpos" cname="ges_title_source_set_ypos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="gdouble" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESVideoSource*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTitleSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Track" cname="GESTrack" opaque="false" hidden="false" parent="GstBin">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GstChildProxy" />
+      </implements>
+      <class_struct cname="GESTrackClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GstBinClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_mixing_element" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_track_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_track_new">
+        <parameters>
+          <parameter name="type" type="GESTrackType" />
+          <parameter name="caps" type="GstCaps*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <virtual_method name="GetMixingElement" cname="get_mixing_element" hidden="true">
+        <return-type type="GstElement*" />
+        <parameters />
+      </virtual_method>
+      <method name="AddElement" cname="ges_track_add_element">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="_object" type="GESTrackElement*" owned="true" />
+        </parameters>
+      </method>
+      <method name="Commit" cname="ges_track_commit">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetCaps" cname="ges_track_get_caps">
+        <return-type type="GstCaps*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetElements" cname="ges_track_get_elements">
+        <return-type type="GList*" element_type="GESTrackElement*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetMixing" cname="ges_track_get_mixing">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetTimeline" cname="ges_track_get_timeline">
+        <return-type type="GESTimeline*" />
+        <parameters />
+      </method>
+      <method name="RemoveElement" cname="ges_track_remove_element">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="_object" type="GESTrackElement*" />
+        </parameters>
+      </method>
+      <method name="SetMixing" cname="ges_track_set_mixing">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mixing" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetRestrictionCaps" cname="ges_track_set_restriction_caps">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetTimeline" cname="ges_track_set_timeline">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timeline" type="GESTimeline*" />
+        </parameters>
+      </method>
+      <method name="UpdateRestrictionCaps" cname="ges_track_update_restriction_caps">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <property name="Caps" cname="caps" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Duration" cname="duration" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="Mixing" cname="mixing" type="gboolean" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="RestrictionCaps" cname="restriction-caps" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="TrackType" cname="track-type" type="GESTrackType" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GstBin*" />
+      <field cname="type" access="public" writeable="false" readable="true" name="Type" type="GESTrackType" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTrackPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      <signal name="Commited" cname="commited" when="last">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+      <signal name="TrackElementAdded" cname="track-element-added" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="effect" type="GESTrackElement*" />
+        </parameters>
+      </signal>
+      <signal name="TrackElementRemoved" cname="track-element-removed" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="effect" type="GESTrackElement*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="TrackElement" cname="GESTrackElement" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESTimelineElement">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTrackElementClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESTimelineElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="nleobject_factorytype" access="public" writeable="false" readable="true" name="NleobjectFactorytype" type="gchar*" />
+        <method vm="create_gnl_object" />
+        <method vm="create_element" />
+        <method vm="active_changed" />
+        <method vm="changed" />
+        <method vm="list_children_properties" />
+        <method vm="lookup_child" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" />
+      </class_struct>
+      <method name="GetType" cname="ges_track_element_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="ActiveChanged" cname="active_changed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Changed" cname="changed">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="CreateElement" cname="create_element" hidden="true">
+        <return-type type="GstElement*" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="CreateGnlObject" cname="create_gnl_object" hidden="true">
+        <return-type type="GstElement*" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="ListChildrenProperties" cname="list_children_properties" hidden="true">
+        <return-type type="GParamSpec*" />
+        <parameters>
+          <parameter name="n_properties" type="guint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="LookupChild" cname="lookup_child" deprecated="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="prop_name" type="const-gchar*" />
+          <parameter allow-none="1" name="element" type="GstElement*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="pspec" type="GParamSpec*" owned="true" pass_as="out" />
+        </parameters>
+      </virtual_method>
+      <method name="AddChildrenProps" cname="ges_track_element_add_children_props">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+          <parameter allow-none="1" name="wanted_categories" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter allow-none="1" name="blacklist" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter allow-none="1" name="whitelist" type="const-gchar**" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="Edit" cname="ges_track_element_edit">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="layers" type="GList*" element_type="GESLayer*" />
+          <parameter name="mode" type="GESEditMode" />
+          <parameter name="edge" type="GESEdge" />
+          <parameter name="position" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetAllControlBindings" cname="ges_track_element_get_all_control_bindings">
+        <return-type type="GHashTable*" element_type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetControlBinding" cname="ges_track_element_get_control_binding">
+        <return-type type="GstControlBinding*" />
+        <parameters>
+          <parameter name="property_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetElement" cname="ges_track_element_get_element">
+        <return-type type="GstElement*" />
+        <parameters />
+      </method>
+      <method name="GetGnlobject" cname="ges_track_element_get_gnlobject" deprecated="true">
+        <return-type type="GstElement*" />
+        <parameters />
+      </method>
+      <method name="GetNleobject" cname="ges_track_element_get_nleobject" version="1.6">
+        <return-type type="GstElement*" />
+        <parameters />
+      </method>
+      <method name="GetTrack" cname="ges_track_element_get_track">
+        <return-type type="GESTrack*" />
+        <parameters />
+      </method>
+      <method name="GetTrackType" cname="ges_track_element_get_track_type">
+        <return-type type="GESTrackType" />
+        <parameters />
+      </method>
+      <method name="IsActive" cname="ges_track_element_is_active">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="ListChildrenProperties" cname="ges_track_element_list_children_properties" deprecated="true">
+        <return-type type="GParamSpec***" owned="true" array="true" array_length_param_index="0" />
+        <parameters>
+          <parameter name="n_properties" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="LookupChild" cname="ges_track_element_lookup_child" deprecated="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="prop_name" type="const-gchar*" />
+          <parameter allow-none="1" name="element" type="GstElement*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="pspec" type="GParamSpec*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="RemoveControlBinding" cname="ges_track_element_remove_control_binding">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="property_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetActive" cname="ges_track_element_set_active">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetControlSource" cname="ges_track_element_set_control_source">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="source" type="GstControlSource*" />
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="binding_type" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetTrackType" cname="ges_track_element_set_track_type">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GESTrackType" />
+        </parameters>
+      </method>
+      <property name="Active" cname="active" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Track" cname="track" type="GESTrack*" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="TrackType" cname="track-type" type="GESTrackType" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESTimelineElement*" />
+      <field cname="active" access="private" writeable="false" readable="false" name="ActiveField" type="gboolean" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTrackElementPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="asset" access="private" writeable="false" readable="false" name="Asset" type="GESAsset*" />
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" />
+      <signal name="ControlBindingAdded" cname="control-binding-added" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="control_binding" type="GstControlBinding*" />
+        </parameters>
+      </signal>
+      <signal name="ControlBindingRemoved" cname="control-binding-removed" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="control_binding" type="GstControlBinding*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="TrackElementAsset" cname="GESTrackElementAsset" opaque="false" hidden="false" parent="GESAsset">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GAsyncInitable" />
+        <interface cname="GInitable" />
+      </implements>
+      <class_struct cname="GESTrackElementAssetClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESAssetClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_track_element_asset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetTrackType" cname="ges_track_element_asset_get_track_type">
+        <return-type type="GESTrackType" />
+        <parameters />
+      </method>
+      <method name="SetTrackType" cname="ges_track_element_asset_set_track_type">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GESTrackType" />
+        </parameters>
+      </method>
+      <property name="TrackType" cname="track-type" type="GESTrackType" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESAsset*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTrackElementAssetPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="__ges_reserved" access="private" writeable="false" readable="false" name="__gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="Transition" cname="GESTransition" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESOperation">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTransitionClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESOperationClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_transition_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESOperation*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTransitionPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="TransitionClip" cname="GESTransitionClip" opaque="false" hidden="false" parent="GESBaseTransitionClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESTransitionClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESBaseTransitionClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_transition_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_transition_clip_new">
+        <parameters>
+          <parameter name="vtype" type="GESVideoStandardTransitionType" />
+        </parameters>
+      </constructor>
+      <constructor cname="ges_transition_clip_new_for_nick">
+        <parameters>
+          <parameter name="nick" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <property name="Vtype" cname="vtype" type="GESVideoStandardTransitionType" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESBaseTransitionClip*" />
+      <field cname="vtype" access="public" writeable="false" readable="true" name="VtypeField" type="GESVideoStandardTransitionType" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESTransitionClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="UriClip" cname="GESUriClip" opaque="false" hidden="false" parent="GESSourceClip">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESUriClipClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESSourceClipClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_uri_clip_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_uri_clip_new">
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="GetUri" cname="ges_uri_clip_get_uri">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="IsMuted" cname="ges_uri_clip_is_muted">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetMute" cname="ges_uri_clip_set_mute">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mute" type="gboolean" />
+        </parameters>
+      </method>
+      <property name="IsImageProp&#xA;                                         " cname="is-image" type="gboolean" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Mute" cname="mute" type="gboolean" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="SupportedFormats" cname="supported-formats" type="GESTrackType" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESSourceClip*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESUriClipPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="UriClipAsset" cname="GESUriClipAsset" opaque="false" hidden="false" parent="GESClipAsset">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GAsyncInitable" />
+        <interface cname="GInitable" />
+      </implements>
+      <class_struct cname="GESUriClipAssetClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESClipAssetClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="discoverer" access="private" writeable="false" readable="false" name="Discoverer" type="GstDiscoverer*" />
+        <field cname="sync_discoverer" access="private" writeable="false" readable="false" name="SyncDiscoverer" type="GstDiscoverer*" />
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="SetTimeout" cname="ges_uri_clip_asset_class_set_timeout" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetType" cname="ges_uri_clip_asset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="New" cname="ges_uri_clip_asset_new" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+          <parameter allow-none="1" name="cancellable" type="GCancellable*" />
+          <parameter closure="3" scope="async" allow-none="1" name="callback" type="GAsyncReadyCallback" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="RequestSync" cname="ges_uri_clip_asset_request_sync" shared="true">
+        <return-type type="GESUriClipAsset*" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="GetDuration" cname="ges_uri_clip_asset_get_duration">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetInfo" cname="ges_uri_clip_asset_get_info">
+        <return-type type="GstDiscovererInfo*" />
+        <parameters />
+      </method>
+      <method name="GetStreamAssets" cname="ges_uri_clip_asset_get_stream_assets">
+        <return-type type="const GList*" element_type="GESUriSourceAsset*" />
+        <parameters />
+      </method>
+      <method name="IsImage" cname="ges_uri_clip_asset_is_image">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <property name="Duration" cname="duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESClipAsset*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESUriClipAssetPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="__ges_reserved" access="private" writeable="false" readable="false" name="__gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="UriSourceAsset" cname="GESUriSourceAsset" opaque="false" hidden="false" parent="GESTrackElementAsset">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GAsyncInitable" />
+        <interface cname="GInitable" />
+      </implements>
+      <class_struct cname="GESUriSourceAssetClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESTrackElementAssetClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_uri_source_asset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetFilesourceAsset" cname="ges_uri_source_asset_get_filesource_asset">
+        <return-type type="GESUriClipAsset*" />
+        <parameters />
+      </method>
+      <method name="GetStreamInfo" cname="ges_uri_source_asset_get_stream_info">
+        <return-type type="GstDiscovererStreamInfo*" />
+        <parameters />
+      </method>
+      <method name="GetStreamUri" cname="ges_uri_source_asset_get_stream_uri">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESTrackElementAsset*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESUriSourceAssetPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="__ges_reserved" access="private" writeable="false" readable="false" name="__gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="VideoSource" cname="GESVideoSource" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GESSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESVideoSourceClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_source" />
+        <union name="ABI" cname="ABI">
+          <struct name="abi" cname="abi" opaque="false" hidden="false">
+            <field cname="disable_scale_in_compositor" access="public" writeable="true" readable="true" name="DisableScaleInCompositor" type="gint64" />
+          </struct>
+          <field cname="_gst_reserved" access="private" writeable="false" readable="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" />
+        </union>
+      </class_struct>
+      <virtual_method name="CreateSource" cname="create_source" shared="true" hidden="true">
+        <return-type type="GstElement*" />
+        <parameters>
+          <parameter name="_object" type="GESTrackElement*" />
+        </parameters>
+      </virtual_method>
+      <method name="GetType" cname="ges_video_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESSource*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESVideoSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="VideoTestSource" cname="GESVideoTestSource" opaque="false" hidden="false" parent="GESVideoSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESVideoTestSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESVideoSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_video_test_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetPattern" cname="ges_video_test_source_get_pattern">
+        <return-type type="GESVideoTestPattern" />
+        <parameters />
+      </method>
+      <method name="SetPattern" cname="ges_video_test_source_set_pattern">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pattern" type="GESVideoTestPattern" />
+        </parameters>
+      </method>
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESVideoSource*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESVideoTestSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="VideoTrack" cname="GESVideoTrack" opaque="false" hidden="false" parent="GESTrack">
+      <implements>
+        <interface cname="GESMetaContainer" />
+        <interface cname="GstChildProxy" />
+      </implements>
+      <class_struct cname="GESVideoTrackClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESTrackClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_video_track_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_video_track_new" disable_void_ctor="" />
+      <field cname="parent_instance" access="public" writeable="false" readable="true" name="ParentInstance" type="GESTrack*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESVideoTrackPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="VideoTransition" cname="GESVideoTransition" opaque="false" hidden="false" parent="GESTransition">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESVideoTransitionClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GESTransitionClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_video_transition_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="ges_video_transition_new" disable_void_ctor="" />
+      <method name="GetBorder" cname="ges_video_transition_get_border">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetTransitionType" cname="ges_video_transition_get_transition_type">
+        <return-type type="GESVideoStandardTransitionType" />
+        <parameters />
+      </method>
+      <method name="IsInverted" cname="ges_video_transition_is_inverted">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetBorder" cname="ges_video_transition_set_border">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetInverted" cname="ges_video_transition_set_inverted">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="inverted" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetTransitionType" cname="ges_video_transition_set_transition_type">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GESVideoStandardTransitionType" />
+        </parameters>
+      </method>
+      <property name="Border" cname="border" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Invert" cname="invert" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="TransitionType" cname="transition-type" type="GESVideoStandardTransitionType" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESTransition*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESVideoTransitionPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="VideoUriSource" cname="GESVideoUriSource" opaque="false" hidden="false" parent="GESVideoSource">
+      <implements>
+        <interface cname="GESExtractable" />
+        <interface cname="GESMetaContainer" />
+      </implements>
+      <class_struct cname="GESVideoUriSourceClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" name="ParentClass" type="GESVideoSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_video_uri_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="private" writeable="false" readable="false" name="Parent" type="GESVideoSource*" />
+      <field cname="uri" access="private" writeable="false" readable="false" name="UriField" type="gchar*" />
+      <field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GESVideoUriSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="private" writeable="false" readable="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="XmlFormatter" cname="GESXmlFormatter" opaque="false" hidden="false" parent="GESBaseXmlFormatter">
+      <implements>
+        <interface cname="GESExtractable" />
+      </implements>
+      <class_struct cname="GESXmlFormatterClass">
+        <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESBaseXmlFormatterClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="ges_xml_formatter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GESBaseXmlFormatter*" />
+      <field cname="priv" access="public" writeable="false" readable="true" name="Priv" type="GESXmlFormatterPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_ges_reserved" access="public" writeable="false" readable="true" name="_gesGesReserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <struct name="AssetPrivate" cname="GESAssetPrivate" opaque="true" hidden="true" />
+    <struct name="AudioSourcePrivate" cname="GESAudioSourcePrivate" opaque="true" hidden="true" />
+    <struct name="AudioTestSourcePrivate" cname="GESAudioTestSourcePrivate" opaque="true" hidden="true" />
+    <struct name="AudioTrackPrivate" cname="GESAudioTrackPrivate" opaque="true" hidden="true" />
+    <struct name="AudioTransitionPrivate" cname="GESAudioTransitionPrivate" opaque="true" hidden="true" />
+    <struct name="AudioUriSourcePrivate" cname="GESAudioUriSourcePrivate" opaque="true" hidden="true" />
+    <struct name="BaseEffectClipPrivate" cname="GESBaseEffectClipPrivate" opaque="true" hidden="true" />
+    <struct name="BaseEffectPrivate" cname="GESBaseEffectPrivate" opaque="true" hidden="true" />
+    <struct name="BaseTransitionClipPrivate" cname="GESBaseTransitionClipPrivate" opaque="true" hidden="true" />
+    <struct name="BaseXmlFormatterPrivate" cname="GESBaseXmlFormatterPrivate" opaque="true" hidden="true" />
+    <struct name="ClipAssetPrivate" cname="GESClipAssetPrivate" opaque="true" hidden="true" />
+    <struct name="ClipPrivate" cname="GESClipPrivate" opaque="true" hidden="true" />
+    <struct name="CommandLineFormatterPrivate" cname="GESCommandLineFormatterPrivate" opaque="true" hidden="true" />
+    <struct name="ContainerPrivate" cname="GESContainerPrivate" opaque="true" hidden="true" />
+    <struct name="EffectAssetPrivate" cname="GESEffectAssetPrivate" opaque="true" hidden="true" />
+    <struct name="EffectClipPrivate" cname="GESEffectClipPrivate" opaque="true" hidden="true" />
+    <struct name="EffectPrivate" cname="GESEffectPrivate" opaque="true" hidden="true" />
+    <struct name="FormatterPrivate" cname="GESFormatterPrivate" opaque="true" hidden="true" />
+    <struct name="GroupPrivate" cname="GESGroupPrivate" opaque="true" hidden="true" />
+    <struct name="ImageSourcePrivate" cname="GESImageSourcePrivate" opaque="true" hidden="true" />
+    <struct name="LayerPrivate" cname="GESLayerPrivate" opaque="true" hidden="true" />
+    <struct name="MultiFileSourcePrivate" cname="GESMultiFileSourcePrivate" opaque="true" hidden="true" />
+    <struct name="OperationClipPrivate" cname="GESOperationClipPrivate" opaque="true" hidden="true" />
+    <struct name="OperationPrivate" cname="GESOperationPrivate" opaque="true" hidden="true" />
+    <struct name="OverlayClipPrivate" cname="GESOverlayClipPrivate" opaque="true" hidden="true" />
+    <struct name="PipelinePrivate" cname="GESPipelinePrivate" opaque="true" hidden="true" />
+    <struct name="PitiviFormatterPrivate" cname="GESPitiviFormatterPrivate" opaque="true" hidden="true" />
+    <struct name="ProjectPrivate" cname="GESProjectPrivate" opaque="true" hidden="true" />
+    <struct name="SourceClipPrivate" cname="GESSourceClipPrivate" opaque="true" hidden="true" />
+    <struct name="SourcePrivate" cname="GESSourcePrivate" opaque="true" hidden="true" />
+    <struct name="TestClipPrivate" cname="GESTestClipPrivate" opaque="true" hidden="true" />
+    <struct name="TextOverlayClipPrivate" cname="GESTextOverlayClipPrivate" opaque="true" hidden="true" />
+    <struct name="TextOverlayPrivate" cname="GESTextOverlayPrivate" opaque="true" hidden="true" />
+    <struct name="TimelineElementPrivate" cname="GESTimelineElementPrivate" opaque="true" hidden="true" />
+    <struct name="TimelinePrivate" cname="GESTimelinePrivate" opaque="true" hidden="true" />
+    <struct name="TitleClipPrivate" cname="GESTitleClipPrivate" opaque="true" hidden="true" />
+    <struct name="TitleSourcePrivate" cname="GESTitleSourcePrivate" opaque="true" hidden="true" />
+    <struct name="TrackElementAssetPrivate" cname="GESTrackElementAssetPrivate" opaque="true" hidden="true" />
+    <struct name="TrackElementPrivate" cname="GESTrackElementPrivate" opaque="true" hidden="true" />
+    <struct name="TrackPrivate" cname="GESTrackPrivate" opaque="true" hidden="true" />
+    <struct name="TransitionClipPrivate" cname="GESTransitionClipPrivate" opaque="true" hidden="true" />
+    <struct name="TransitionPrivate" cname="GESTransitionPrivate" opaque="true" hidden="true" />
+    <struct name="UriClipAssetPrivate" cname="GESUriClipAssetPrivate" opaque="true" hidden="true" />
+    <struct name="UriClipPrivate" cname="GESUriClipPrivate" opaque="true" hidden="true" />
+    <struct name="UriSourceAssetPrivate" cname="GESUriSourceAssetPrivate" opaque="true" hidden="true" />
+    <struct name="VideoSourcePrivate" cname="GESVideoSourcePrivate" opaque="true" hidden="true" />
+    <struct name="VideoTestSourcePrivate" cname="GESVideoTestSourcePrivate" opaque="true" hidden="true" />
+    <struct name="VideoTrackPrivate" cname="GESVideoTrackPrivate" opaque="true" hidden="true" />
+    <struct name="VideoTransitionPrivate" cname="GESVideoTransitionPrivate" opaque="true" hidden="true" />
+    <struct name="VideoUriSourcePrivate" cname="GESVideoUriSourcePrivate" opaque="true" hidden="true" />
+    <struct name="XmlFormatterPrivate" cname="GESXmlFormatterPrivate" opaque="true" hidden="true" />
+    <object name="Global" cname="GESGlobal" opaque="true">
+      <method name="AddMissingUriRelocationUri" cname="ges_add_missing_uri_relocation_uri" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="recurse" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Deinit" cname="ges_deinit" shared="true">
+        <return-type type="void" />
+      </method>
+      <method name="Init" cname="ges_init" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="InitCheck" cname="ges_init_check" shared="true" hidden="true">
+        <return-type type="gboolean" array_index="1" />
+        <parameters throws="1">
+          <parameter allow-none="1" name="argc" type="gint*" owned="true" pass_as="ref" array_index="1" />
+          <parameter allow-none="1" name="argv" type="char***" owned="true" pass_as="ref" array="true" array_length_param_index="0" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="ListAssets" cname="ges_list_assets" shared="true">
+        <return-type type="GList*" element_type="GESAsset*" elements_owned="true" />
+        <parameters>
+          <parameter name="filter" type="GType" />
+        </parameters>
+      </method>
+      <method name="PlaySinkConvertFrame" cname="ges_play_sink_convert_frame" shared="true">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="playsink" type="GstElement*" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PspecEqual" cname="ges_pspec_equal" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="key_spec_1" type="gpointer" />
+          <parameter allow-none="1" name="key_spec_2" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="PspecHash" cname="ges_pspec_hash" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter allow-none="1" name="key_spec" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="TrackTypeName" cname="ges_track_type_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="type" type="GESTrackType" />
+        </parameters>
+      </method>
+      <method name="ValidateRegisterActionTypes" cname="ges_validate_register_action_types" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="Version" cname="ges_version" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="major" type="guint*" owned="true" pass_as="out" />
+          <parameter name="minor" type="guint*" owned="true" pass_as="out" />
+          <parameter name="micro" type="guint*" owned="true" pass_as="out" />
+          <parameter name="nano" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GESConstants" opaque="true">
+      <constant value="description" ctype="gchar*" gtype="gchar*" name="META_DESCRIPTION" />
+      <constant value="extension" ctype="gchar*" gtype="gchar*" name="META_FORMATTER_EXTENSION" />
+      <constant value="mimetype" ctype="gchar*" gtype="gchar*" name="META_FORMATTER_MIMETYPE" />
+      <constant value="name" ctype="gchar*" gtype="gchar*" name="META_FORMATTER_NAME" />
+      <constant value="rank" ctype="gchar*" gtype="gchar*" name="META_FORMATTER_RANK" />
+      <constant value="version" ctype="gchar*" gtype="gchar*" name="META_FORMATTER_VERSION" />
+      <constant value="format-version" ctype="gchar*" gtype="gchar*" name="META_FORMAT_VERSION" />
+      <constant value="volume" ctype="gchar*" gtype="gchar*" name="META_VOLUME" />
+      <constant value="1.000000" ctype="gdouble" gtype="gdouble" name="META_VOLUME_DEFAULT" />
+      <constant value="multifile://" ctype="gchar*" gtype="gchar*" name="MULTI_FILE_URI_PREFIX" />
+      <constant value="4" ctype="gint" gtype="gint" name="PADDING" />
+      <constant value="20" ctype="gint" gtype="gint" name="PADDING_LARGE" />
+    </object>
+  </namespace>
+</api>
\ No newline at end of file
index 4a154c5..b630350 100644 (file)
@@ -111,39 +111,27 @@ generated_sources = [
     'GES_NotifyMetaHandler.cs',
 ]
 
-source_gen = custom_target(pkg + '_codegen',
-    input: raw_api_fname,
-    output: generated_sources,
+run_target('update_ges_code',
     command: [
         generate_api,
-        '--api-raw', '@INPUT@',
+        '--api-raw', raw_api_fname,
         '--gapi-fixup', gapi_fixup,
         '--metadata', metadata,
         '--gapi-codegen', gapi_codegen,
         '--extra-includes=' + glib_api_includes,
         '--extra-includes=' + gio_api_includes,
         '--extra-includes=' + gst_api_includes,
-        '--out', meson.current_build_dir(),
+        '--out', meson.current_source_dir(),
         '--files', ';'.join(generated_sources),
         '--assembly-name', pkg,
         '--abi-includes', 'ges/ges.h',
         '--abi-cs-usings', 'Gst,Gst.Video,Gst.Sdp,Gst.Tags,Gst.Rtsp,Gst.PbUtils,Gst.Net,Gst.FFT,Gst.Controller,Gst.Base,Gst.Audio,Gst.App,GES',
     ],
-    depend_files: [raw_api_fname],
-    depends: codegen_dependencies + [gst_source_gen])
-
-c_abi = custom_target(pkg + '_c_abi',
-        input: raw_api_fname,
-        output: pkg + '-abi.c',
-        command: [generate_api, '--fake'],
-        depends: [source_gen])
-
-cs_abi = custom_target(pkg + '_cs_abi',
-        input: raw_api_fname,
-        output: pkg + '-abi.cs',
-        command: [generate_api, '--fake'],
-        depends: [source_gen])
+)
 
+ges_generate_files = files(generated_sources)
 
+c_abi = files(pkg + '-abi.c')
+cs_abi = files(pkg + '-abi.cs')
 gapis += [join_paths(meson.current_build_dir(), pkg + '-api.xml')]
-gapis_deps = [source_gen]
+gapis_deps = []
index b9f1fbb..b7a70ac 100644 (file)
@@ -4,7 +4,7 @@ metadata  = files(pkg + '.metadata')
 
 subdir('generated')
 
-ges_sharp = library(pkg + '-sharp', source_gen,
+ges_sharp = library(pkg + '-sharp', ges_generate_files,
         cs_args: ['-nowarn:169', '-nowarn:108', '-nowarn:114', '-unsafe'],
         link_with: gst_sharp,
         dependencies: [glib_sharp_dep, gio_sharp_dep])
diff --git a/sources/generated/Gst.App_AppSink.cs b/sources/generated/Gst.App_AppSink.cs
new file mode 100644 (file)
index 0000000..9014f53
--- /dev/null
@@ -0,0 +1,701 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AppSink : Gst.Base.BaseSink, Gst.IURIHandler {
+
+               public AppSink (IntPtr raw) : base(raw) {}
+
+               protected AppSink() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("buffer-list")]
+               public bool BufferList {
+                       get {
+                               GLib.Value val = GetProperty ("buffer-list");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("buffer-list", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_sink_get_caps(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_sink_set_caps(IntPtr raw, IntPtr caps);
+
+               [GLib.Property ("caps")]
+               public Gst.Caps Caps {
+                       get  {
+                               IntPtr raw_ret = gst_app_sink_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+                       set  {
+                               gst_app_sink_set_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_app_sink_get_drop(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_sink_set_drop(IntPtr raw, bool drop);
+
+               [GLib.Property ("drop")]
+               public bool Drop {
+                       get  {
+                               bool raw_ret = gst_app_sink_get_drop(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_sink_set_drop(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_app_sink_get_emit_signals(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_sink_set_emit_signals(IntPtr raw, bool emit);
+
+               [GLib.Property ("emit-signals")]
+               public bool EmitSignals {
+                       get  {
+                               bool raw_ret = gst_app_sink_get_emit_signals(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_sink_set_emit_signals(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("eos")]
+               public bool EosProp
+       {
+                       get {
+                               GLib.Value val = GetProperty ("eos");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_app_sink_get_max_buffers(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_sink_set_max_buffers(IntPtr raw, uint max);
+
+               [GLib.Property ("max-buffers")]
+               public uint MaxBuffers {
+                       get  {
+                               uint raw_ret = gst_app_sink_get_max_buffers(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_sink_set_max_buffers(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_app_sink_get_wait_on_eos(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_sink_set_wait_on_eos(IntPtr raw, bool wait);
+
+               [GLib.Property ("wait-on-eos")]
+               public bool WaitOnEos {
+                       get  {
+                               bool raw_ret = gst_app_sink_get_wait_on_eos(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_sink_set_wait_on_eos(Handle, value);
+                       }
+               }
+
+               [GLib.Signal("eos")]
+               public event System.EventHandler Eos {
+                       add {
+                               this.AddSignalHandler ("eos", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("eos", value);
+                       }
+               }
+
+               [GLib.Signal("try-pull-preroll")]
+               public event Gst.App.TryPullPrerollEventHandler TryPullPrerollEvent {
+                       add {
+                               this.AddSignalHandler ("try-pull-preroll", value, typeof (Gst.App.TryPullPrerollEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("try-pull-preroll", value);
+                       }
+               }
+
+               [GLib.Signal("try-pull-sample")]
+               public event Gst.App.TryPullSampleEventHandler TryPullSampleEvent {
+                       add {
+                               this.AddSignalHandler ("try-pull-sample", value, typeof (Gst.App.TryPullSampleEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("try-pull-sample", value);
+                       }
+               }
+
+               [GLib.Signal("new-sample")]
+               public event Gst.App.NewSampleHandler NewSample {
+                       add {
+                               this.AddSignalHandler ("new-sample", value, typeof (Gst.App.NewSampleArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("new-sample", value);
+                       }
+               }
+
+               [GLib.Signal("new-preroll")]
+               public event Gst.App.NewPrerollHandler NewPreroll {
+                       add {
+                               this.AddSignalHandler ("new-preroll", value, typeof (Gst.App.NewPrerollArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("new-preroll", value);
+                       }
+               }
+
+               static EosNativeDelegate Eos_cb_delegate;
+               static EosNativeDelegate EosVMCallback {
+                       get {
+                               if (Eos_cb_delegate == null)
+                                       Eos_cb_delegate = new EosNativeDelegate (Eos_cb);
+                               return Eos_cb_delegate;
+                       }
+               }
+
+               static void OverrideEos (GLib.GType gtype)
+               {
+                       OverrideEos (gtype, EosVMCallback);
+               }
+
+               static void OverrideEos (GLib.GType gtype, EosNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("eos"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void EosNativeDelegate (IntPtr inst);
+
+               static void Eos_cb (IntPtr inst)
+               {
+                       try {
+                               AppSink __obj = GLib.Object.GetObject (inst, false) as AppSink;
+                               __obj.OnEos ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSink), ConnectionMethod="OverrideEos")]
+               protected virtual void OnEos ()
+               {
+                       InternalEos ();
+               }
+
+               private void InternalEos ()
+               {
+                       EosNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("eos"));
+                               unmanaged = (EosNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EosNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static NewPrerollNativeDelegate NewPreroll_cb_delegate;
+               static NewPrerollNativeDelegate NewPrerollVMCallback {
+                       get {
+                               if (NewPreroll_cb_delegate == null)
+                                       NewPreroll_cb_delegate = new NewPrerollNativeDelegate (NewPreroll_cb);
+                               return NewPreroll_cb_delegate;
+                       }
+               }
+
+               static void OverrideNewPreroll (GLib.GType gtype)
+               {
+                       OverrideNewPreroll (gtype, NewPrerollVMCallback);
+               }
+
+               static void OverrideNewPreroll (GLib.GType gtype, NewPrerollNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("new_preroll"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int NewPrerollNativeDelegate (IntPtr inst);
+
+               static int NewPreroll_cb (IntPtr inst)
+               {
+                       try {
+                               AppSink __obj = GLib.Object.GetObject (inst, false) as AppSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnNewPreroll ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSink), ConnectionMethod="OverrideNewPreroll")]
+               protected virtual Gst.FlowReturn OnNewPreroll ()
+               {
+                       return InternalNewPreroll ();
+               }
+
+               private Gst.FlowReturn InternalNewPreroll ()
+               {
+                       NewPrerollNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("new_preroll"));
+                               unmanaged = (NewPrerollNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NewPrerollNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static NewSampleNativeDelegate NewSample_cb_delegate;
+               static NewSampleNativeDelegate NewSampleVMCallback {
+                       get {
+                               if (NewSample_cb_delegate == null)
+                                       NewSample_cb_delegate = new NewSampleNativeDelegate (NewSample_cb);
+                               return NewSample_cb_delegate;
+                       }
+               }
+
+               static void OverrideNewSample (GLib.GType gtype)
+               {
+                       OverrideNewSample (gtype, NewSampleVMCallback);
+               }
+
+               static void OverrideNewSample (GLib.GType gtype, NewSampleNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("new_sample"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int NewSampleNativeDelegate (IntPtr inst);
+
+               static int NewSample_cb (IntPtr inst)
+               {
+                       try {
+                               AppSink __obj = GLib.Object.GetObject (inst, false) as AppSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnNewSample ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSink), ConnectionMethod="OverrideNewSample")]
+               protected virtual Gst.FlowReturn OnNewSample ()
+               {
+                       return InternalNewSample ();
+               }
+
+               private Gst.FlowReturn InternalNewSample ()
+               {
+                       NewSampleNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("new_sample"));
+                               unmanaged = (NewSampleNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NewSampleNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static TryPullPrerollEventNativeDelegate TryPullPrerollEvent_cb_delegate;
+               static TryPullPrerollEventNativeDelegate TryPullPrerollEventVMCallback {
+                       get {
+                               if (TryPullPrerollEvent_cb_delegate == null)
+                                       TryPullPrerollEvent_cb_delegate = new TryPullPrerollEventNativeDelegate (TryPullPrerollEvent_cb);
+                               return TryPullPrerollEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideTryPullPrerollEvent (GLib.GType gtype)
+               {
+                       OverrideTryPullPrerollEvent (gtype, TryPullPrerollEventVMCallback);
+               }
+
+               static void OverrideTryPullPrerollEvent (GLib.GType gtype, TryPullPrerollEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("try_pull_preroll"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr TryPullPrerollEventNativeDelegate (IntPtr inst, ulong timeout);
+
+               static IntPtr TryPullPrerollEvent_cb (IntPtr inst, ulong timeout)
+               {
+                       try {
+                               AppSink __obj = GLib.Object.GetObject (inst, false) as AppSink;
+                               Gst.Sample __result;
+                               __result = __obj.OnTryPullPrerollEvent (timeout);
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSink), ConnectionMethod="OverrideTryPullPrerollEvent")]
+               protected virtual Gst.Sample OnTryPullPrerollEvent (ulong timeout)
+               {
+                       return InternalTryPullPrerollEvent (timeout);
+               }
+
+               private Gst.Sample InternalTryPullPrerollEvent (ulong timeout)
+               {
+                       TryPullPrerollEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("try_pull_preroll"));
+                               unmanaged = (TryPullPrerollEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TryPullPrerollEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, timeout);
+                       return __result == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (__result, typeof (Gst.Sample), true);
+               }
+
+               static TryPullSampleEventNativeDelegate TryPullSampleEvent_cb_delegate;
+               static TryPullSampleEventNativeDelegate TryPullSampleEventVMCallback {
+                       get {
+                               if (TryPullSampleEvent_cb_delegate == null)
+                                       TryPullSampleEvent_cb_delegate = new TryPullSampleEventNativeDelegate (TryPullSampleEvent_cb);
+                               return TryPullSampleEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideTryPullSampleEvent (GLib.GType gtype)
+               {
+                       OverrideTryPullSampleEvent (gtype, TryPullSampleEventVMCallback);
+               }
+
+               static void OverrideTryPullSampleEvent (GLib.GType gtype, TryPullSampleEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("try_pull_sample"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr TryPullSampleEventNativeDelegate (IntPtr inst, ulong timeout);
+
+               static IntPtr TryPullSampleEvent_cb (IntPtr inst, ulong timeout)
+               {
+                       try {
+                               AppSink __obj = GLib.Object.GetObject (inst, false) as AppSink;
+                               Gst.Sample __result;
+                               __result = __obj.OnTryPullSampleEvent (timeout);
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSink), ConnectionMethod="OverrideTryPullSampleEvent")]
+               protected virtual Gst.Sample OnTryPullSampleEvent (ulong timeout)
+               {
+                       return InternalTryPullSampleEvent (timeout);
+               }
+
+               private Gst.Sample InternalTryPullSampleEvent (ulong timeout)
+               {
+                       TryPullSampleEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("try_pull_sample"));
+                               unmanaged = (TryPullSampleEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TryPullSampleEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, timeout);
+                       return __result == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (__result, typeof (Gst.Sample), true);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("eos"
+                                                       , Gst.Base.BaseSink.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // eos
+                                                       , null
+                                                       , "new_preroll"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("new_preroll"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // new_preroll
+                                                       , "eos"
+                                                       , "new_sample"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("new_sample"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // new_sample
+                                                       , "new_preroll"
+                                                       , "pull_preroll"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pull_preroll"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pull_preroll
+                                                       , "new_sample"
+                                                       , "pull_sample"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pull_sample"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pull_sample
+                                                       , "pull_preroll"
+                                                       , "try_pull_preroll"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("try_pull_preroll"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // try_pull_preroll
+                                                       , "pull_sample"
+                                                       , "try_pull_sample"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("try_pull_sample"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // try_pull_sample
+                                                       , "try_pull_preroll"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 2 // _gst_reserved
+                                                       , "try_pull_sample"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_sink_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_app_sink_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_app_sink_get_buffer_list_support(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_sink_set_buffer_list_support(IntPtr raw, bool enable_lists);
+
+               public bool BufferListSupport { 
+                       get {
+                               bool raw_ret = gst_app_sink_get_buffer_list_support(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_app_sink_set_buffer_list_support(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_app_sink_is_eos(IntPtr raw);
+
+               public bool IsEos { 
+                       get {
+                               bool raw_ret = gst_app_sink_is_eos(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_sink_pull_preroll(IntPtr raw);
+
+               public Gst.Sample PullPreroll() {
+                       IntPtr raw_ret = gst_app_sink_pull_preroll(Handle);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_sink_pull_sample(IntPtr raw);
+
+               public Gst.Sample PullSample() {
+                       IntPtr raw_ret = gst_app_sink_pull_sample(Handle);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_sink_try_pull_preroll(IntPtr raw, ulong timeout);
+
+               public Gst.Sample TryPullPreroll(ulong timeout) {
+                       IntPtr raw_ret = gst_app_sink_try_pull_preroll(Handle, timeout);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_sink_try_pull_sample(IntPtr raw, ulong timeout);
+
+               public Gst.Sample TryPullSample(ulong timeout) {
+                       IntPtr raw_ret = gst_app_sink_try_pull_sample(Handle, timeout);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_handler_get_uri(IntPtr raw);
+
+               public string Uri { 
+                       get {
+                               IntPtr raw_ret = gst_uri_handler_get_uri(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_uri_handler_get_uri_type(IntPtr raw);
+
+               public Gst.URIType UriType { 
+                       get {
+                               int raw_ret = gst_uri_handler_get_uri_type(Handle);
+                               Gst.URIType ret = (Gst.URIType) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_handler_set_uri(IntPtr raw, IntPtr uri, out IntPtr error);
+
+               public bool SetUri(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = gst_uri_handler_set_uri(Handle, native_uri, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+
+               static AppSink ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Base.BaseSink.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.App_AppSinkCallbacks.cs b/sources/generated/Gst.App_AppSinkCallbacks.cs
new file mode 100644 (file)
index 0000000..07cfa2d
--- /dev/null
@@ -0,0 +1,49 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct AppSinkCallbacks : IEquatable<AppSinkCallbacks> {
+
+               private IntPtr _eos;
+               private IntPtr _new_preroll;
+               private IntPtr _new_sample;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.App.AppSinkCallbacks Zero = new Gst.App.AppSinkCallbacks ();
+
+               public static Gst.App.AppSinkCallbacks New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.App.AppSinkCallbacks.Zero;
+                       return (Gst.App.AppSinkCallbacks) Marshal.PtrToStructure (raw, typeof (Gst.App.AppSinkCallbacks));
+               }
+
+               public bool Equals (AppSinkCallbacks other)
+               {
+                       return true && _eos.Equals (other._eos) && _new_preroll.Equals (other._new_preroll) && _new_sample.Equals (other._new_sample);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is AppSinkCallbacks && Equals ((AppSinkCallbacks) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ _eos.GetHashCode () ^ _new_preroll.GetHashCode () ^ _new_sample.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.App_AppSrc.cs b/sources/generated/Gst.App_AppSrc.cs
new file mode 100644 (file)
index 0000000..fe66610
--- /dev/null
@@ -0,0 +1,914 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AppSrc : Gst.Base.BaseSrc, Gst.IURIHandler {
+
+               public AppSrc (IntPtr raw) : base(raw) {}
+
+               protected AppSrc() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("block")]
+               public bool Block {
+                       get {
+                               GLib.Value val = GetProperty ("block");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("block", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_src_get_caps(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_src_set_caps(IntPtr raw, IntPtr caps);
+
+               [GLib.Property ("caps")]
+               public Gst.Caps Caps {
+                       get  {
+                               IntPtr raw_ret = gst_app_src_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+                       set  {
+                               gst_app_src_set_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_app_src_get_current_level_bytes(IntPtr raw);
+
+               [GLib.Property ("current-level-bytes")]
+               public ulong CurrentLevelBytes {
+                       get  {
+                               ulong raw_ret = gst_app_src_get_current_level_bytes(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_app_src_get_duration(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_src_set_duration(IntPtr raw, ulong duration);
+
+               [GLib.Property ("duration")]
+               public ulong Duration {
+                       get  {
+                               ulong raw_ret = gst_app_src_get_duration(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_src_set_duration(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_app_src_get_emit_signals(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_src_set_emit_signals(IntPtr raw, bool emit);
+
+               [GLib.Property ("emit-signals")]
+               public bool EmitSignals {
+                       get  {
+                               bool raw_ret = gst_app_src_get_emit_signals(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_src_set_emit_signals(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("format")]
+               public Gst.Format Format {
+                       get {
+                               GLib.Value val = GetProperty ("format");
+                               Gst.Format ret = (Gst.Format) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("format", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("is-live")]
+               public bool IsLive {
+                       get {
+                               GLib.Value val = GetProperty ("is-live");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("is-live", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_app_src_get_max_bytes(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_src_set_max_bytes(IntPtr raw, ulong max);
+
+               [GLib.Property ("max-bytes")]
+               public ulong MaxBytes {
+                       get  {
+                               ulong raw_ret = gst_app_src_get_max_bytes(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_src_set_max_bytes(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("max-latency")]
+               public long MaxLatency {
+                       get {
+                               GLib.Value val = GetProperty ("max-latency");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("max-latency", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("min-latency")]
+               public long MinLatency {
+                       get {
+                               GLib.Value val = GetProperty ("min-latency");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("min-latency", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("min-percent")]
+               public uint MinPercent {
+                       get {
+                               GLib.Value val = GetProperty ("min-percent");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("min-percent", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_app_src_get_size(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_src_set_size(IntPtr raw, long size);
+
+               [GLib.Property ("size")]
+               public long Size {
+                       get  {
+                               long raw_ret = gst_app_src_get_size(Handle);
+                               long ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_src_set_size(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_app_src_get_stream_type(IntPtr raw);
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_src_set_stream_type(IntPtr raw, int type);
+
+               [GLib.Property ("stream-type")]
+               public Gst.App.AppStreamType StreamType {
+                       get  {
+                               int raw_ret = gst_app_src_get_stream_type(Handle);
+                               Gst.App.AppStreamType ret = (Gst.App.AppStreamType) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_app_src_set_stream_type(Handle, (int) value);
+                       }
+               }
+
+               [GLib.Signal("end-of-stream")]
+               public event Gst.App.EndOfStreamEventHandler EndOfStreamEvent {
+                       add {
+                               this.AddSignalHandler ("end-of-stream", value, typeof (Gst.App.EndOfStreamEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("end-of-stream", value);
+                       }
+               }
+
+               [GLib.Signal("push-buffer")]
+               public event Gst.App.PushBufferEventHandler PushBufferEvent {
+                       add {
+                               this.AddSignalHandler ("push-buffer", value, typeof (Gst.App.PushBufferEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("push-buffer", value);
+                       }
+               }
+
+               [GLib.Signal("push-sample")]
+               public event Gst.App.PushSampleEventHandler PushSampleEvent {
+                       add {
+                               this.AddSignalHandler ("push-sample", value, typeof (Gst.App.PushSampleEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("push-sample", value);
+                       }
+               }
+
+               [GLib.Signal("enough-data")]
+               public event System.EventHandler EnoughData {
+                       add {
+                               this.AddSignalHandler ("enough-data", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("enough-data", value);
+                       }
+               }
+
+               [GLib.Signal("need-data")]
+               public event Gst.App.NeedDataHandler NeedData {
+                       add {
+                               this.AddSignalHandler ("need-data", value, typeof (Gst.App.NeedDataArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("need-data", value);
+                       }
+               }
+
+               [GLib.Signal("push-buffer-list")]
+               public event Gst.App.PushBufferListEventHandler PushBufferListEvent {
+                       add {
+                               this.AddSignalHandler ("push-buffer-list", value, typeof (Gst.App.PushBufferListEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("push-buffer-list", value);
+                       }
+               }
+
+               [GLib.Signal("seek-data")]
+               public event Gst.App.SeekDataHandler SeekData {
+                       add {
+                               this.AddSignalHandler ("seek-data", value, typeof (Gst.App.SeekDataArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("seek-data", value);
+                       }
+               }
+
+               static NeedDataNativeDelegate NeedData_cb_delegate;
+               static NeedDataNativeDelegate NeedDataVMCallback {
+                       get {
+                               if (NeedData_cb_delegate == null)
+                                       NeedData_cb_delegate = new NeedDataNativeDelegate (NeedData_cb);
+                               return NeedData_cb_delegate;
+                       }
+               }
+
+               static void OverrideNeedData (GLib.GType gtype)
+               {
+                       OverrideNeedData (gtype, NeedDataVMCallback);
+               }
+
+               static void OverrideNeedData (GLib.GType gtype, NeedDataNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("need_data"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NeedDataNativeDelegate (IntPtr inst, uint length);
+
+               static void NeedData_cb (IntPtr inst, uint length)
+               {
+                       try {
+                               AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+                               __obj.OnNeedData (length);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideNeedData")]
+               protected virtual void OnNeedData (uint length)
+               {
+                       InternalNeedData (length);
+               }
+
+               private void InternalNeedData (uint length)
+               {
+                       NeedDataNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("need_data"));
+                               unmanaged = (NeedDataNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NeedDataNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, length);
+               }
+
+               static EnoughDataNativeDelegate EnoughData_cb_delegate;
+               static EnoughDataNativeDelegate EnoughDataVMCallback {
+                       get {
+                               if (EnoughData_cb_delegate == null)
+                                       EnoughData_cb_delegate = new EnoughDataNativeDelegate (EnoughData_cb);
+                               return EnoughData_cb_delegate;
+                       }
+               }
+
+               static void OverrideEnoughData (GLib.GType gtype)
+               {
+                       OverrideEnoughData (gtype, EnoughDataVMCallback);
+               }
+
+               static void OverrideEnoughData (GLib.GType gtype, EnoughDataNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("enough_data"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void EnoughDataNativeDelegate (IntPtr inst);
+
+               static void EnoughData_cb (IntPtr inst)
+               {
+                       try {
+                               AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+                               __obj.OnEnoughData ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideEnoughData")]
+               protected virtual void OnEnoughData ()
+               {
+                       InternalEnoughData ();
+               }
+
+               private void InternalEnoughData ()
+               {
+                       EnoughDataNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("enough_data"));
+                               unmanaged = (EnoughDataNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EnoughDataNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static SeekDataNativeDelegate SeekData_cb_delegate;
+               static SeekDataNativeDelegate SeekDataVMCallback {
+                       get {
+                               if (SeekData_cb_delegate == null)
+                                       SeekData_cb_delegate = new SeekDataNativeDelegate (SeekData_cb);
+                               return SeekData_cb_delegate;
+                       }
+               }
+
+               static void OverrideSeekData (GLib.GType gtype)
+               {
+                       OverrideSeekData (gtype, SeekDataVMCallback);
+               }
+
+               static void OverrideSeekData (GLib.GType gtype, SeekDataNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("seek_data"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SeekDataNativeDelegate (IntPtr inst, ulong offset);
+
+               static bool SeekData_cb (IntPtr inst, ulong offset)
+               {
+                       try {
+                               AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+                               bool __result;
+                               __result = __obj.OnSeekData (offset);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideSeekData")]
+               protected virtual bool OnSeekData (ulong offset)
+               {
+                       return InternalSeekData (offset);
+               }
+
+               private bool InternalSeekData (ulong offset)
+               {
+                       SeekDataNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("seek_data"));
+                               unmanaged = (SeekDataNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SeekDataNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, offset);
+                       return __result;
+               }
+
+               static PushBufferEventNativeDelegate PushBufferEvent_cb_delegate;
+               static PushBufferEventNativeDelegate PushBufferEventVMCallback {
+                       get {
+                               if (PushBufferEvent_cb_delegate == null)
+                                       PushBufferEvent_cb_delegate = new PushBufferEventNativeDelegate (PushBufferEvent_cb);
+                               return PushBufferEvent_cb_delegate;
+                       }
+               }
+
+               static void OverridePushBufferEvent (GLib.GType gtype)
+               {
+                       OverridePushBufferEvent (gtype, PushBufferEventVMCallback);
+               }
+
+               static void OverridePushBufferEvent (GLib.GType gtype, PushBufferEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("push_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PushBufferEventNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int PushBufferEvent_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPushBufferEvent (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverridePushBufferEvent")]
+               protected virtual Gst.FlowReturn OnPushBufferEvent (Gst.Buffer buffer)
+               {
+                       return InternalPushBufferEvent (buffer);
+               }
+
+               private Gst.FlowReturn InternalPushBufferEvent (Gst.Buffer buffer)
+               {
+                       PushBufferEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("push_buffer"));
+                               unmanaged = (PushBufferEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PushBufferEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static EndOfStreamEventNativeDelegate EndOfStreamEvent_cb_delegate;
+               static EndOfStreamEventNativeDelegate EndOfStreamEventVMCallback {
+                       get {
+                               if (EndOfStreamEvent_cb_delegate == null)
+                                       EndOfStreamEvent_cb_delegate = new EndOfStreamEventNativeDelegate (EndOfStreamEvent_cb);
+                               return EndOfStreamEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideEndOfStreamEvent (GLib.GType gtype)
+               {
+                       OverrideEndOfStreamEvent (gtype, EndOfStreamEventVMCallback);
+               }
+
+               static void OverrideEndOfStreamEvent (GLib.GType gtype, EndOfStreamEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("end_of_stream"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int EndOfStreamEventNativeDelegate (IntPtr inst);
+
+               static int EndOfStreamEvent_cb (IntPtr inst)
+               {
+                       try {
+                               AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnEndOfStreamEvent ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideEndOfStreamEvent")]
+               protected virtual Gst.FlowReturn OnEndOfStreamEvent ()
+               {
+                       return InternalEndOfStreamEvent ();
+               }
+
+               private Gst.FlowReturn InternalEndOfStreamEvent ()
+               {
+                       EndOfStreamEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("end_of_stream"));
+                               unmanaged = (EndOfStreamEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EndOfStreamEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static PushSampleEventNativeDelegate PushSampleEvent_cb_delegate;
+               static PushSampleEventNativeDelegate PushSampleEventVMCallback {
+                       get {
+                               if (PushSampleEvent_cb_delegate == null)
+                                       PushSampleEvent_cb_delegate = new PushSampleEventNativeDelegate (PushSampleEvent_cb);
+                               return PushSampleEvent_cb_delegate;
+                       }
+               }
+
+               static void OverridePushSampleEvent (GLib.GType gtype)
+               {
+                       OverridePushSampleEvent (gtype, PushSampleEventVMCallback);
+               }
+
+               static void OverridePushSampleEvent (GLib.GType gtype, PushSampleEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("push_sample"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PushSampleEventNativeDelegate (IntPtr inst, IntPtr sample);
+
+               static int PushSampleEvent_cb (IntPtr inst, IntPtr sample)
+               {
+                       try {
+                               AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPushSampleEvent (sample == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (sample, typeof (Gst.Sample), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverridePushSampleEvent")]
+               protected virtual Gst.FlowReturn OnPushSampleEvent (Gst.Sample sample)
+               {
+                       return InternalPushSampleEvent (sample);
+               }
+
+               private Gst.FlowReturn InternalPushSampleEvent (Gst.Sample sample)
+               {
+                       PushSampleEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("push_sample"));
+                               unmanaged = (PushSampleEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PushSampleEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, sample == null ? IntPtr.Zero : sample.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static PushBufferListEventNativeDelegate PushBufferListEvent_cb_delegate;
+               static PushBufferListEventNativeDelegate PushBufferListEventVMCallback {
+                       get {
+                               if (PushBufferListEvent_cb_delegate == null)
+                                       PushBufferListEvent_cb_delegate = new PushBufferListEventNativeDelegate (PushBufferListEvent_cb);
+                               return PushBufferListEvent_cb_delegate;
+                       }
+               }
+
+               static void OverridePushBufferListEvent (GLib.GType gtype)
+               {
+                       OverridePushBufferListEvent (gtype, PushBufferListEventVMCallback);
+               }
+
+               static void OverridePushBufferListEvent (GLib.GType gtype, PushBufferListEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("push_buffer_list"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PushBufferListEventNativeDelegate (IntPtr inst, IntPtr buffer_list);
+
+               static int PushBufferListEvent_cb (IntPtr inst, IntPtr buffer_list)
+               {
+                       try {
+                               AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPushBufferListEvent (buffer_list == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (buffer_list, typeof (Gst.BufferList), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverridePushBufferListEvent")]
+               protected virtual Gst.FlowReturn OnPushBufferListEvent (Gst.BufferList buffer_list)
+               {
+                       return InternalPushBufferListEvent (buffer_list);
+               }
+
+               private Gst.FlowReturn InternalPushBufferListEvent (Gst.BufferList buffer_list)
+               {
+                       PushBufferListEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("push_buffer_list"));
+                               unmanaged = (PushBufferListEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PushBufferListEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("need_data"
+                                                       , Gst.Base.BaseSrc.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // need_data
+                                                       , null
+                                                       , "enough_data"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("enough_data"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // enough_data
+                                                       , "need_data"
+                                                       , "seek_data"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("seek_data"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // seek_data
+                                                       , "enough_data"
+                                                       , "push_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("push_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // push_buffer
+                                                       , "seek_data"
+                                                       , "end_of_stream"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("end_of_stream"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // end_of_stream
+                                                       , "push_buffer"
+                                                       , "push_sample"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("push_sample"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // push_sample
+                                                       , "end_of_stream"
+                                                       , "push_buffer_list"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("push_buffer_list"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // push_buffer_list
+                                                       , "push_sample"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 2 // _gst_reserved
+                                                       , "push_buffer_list"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_src_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_app_src_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_app_src_end_of_stream(IntPtr raw);
+
+               public Gst.FlowReturn EndOfStream() {
+                       int raw_ret = gst_app_src_end_of_stream(Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_src_get_latency(IntPtr raw, out ulong min, out ulong max);
+
+               public void GetLatency(out ulong min, out ulong max) {
+                       gst_app_src_get_latency(Handle, out min, out max);
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_app_src_push_buffer(IntPtr raw, IntPtr buffer);
+
+               public Gst.FlowReturn PushBuffer(Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       int raw_ret = gst_app_src_push_buffer(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_app_src_push_buffer_list(IntPtr raw, IntPtr buffer_list);
+
+               public Gst.FlowReturn PushBufferList(Gst.BufferList buffer_list) {
+                       buffer_list.Owned = false;
+                       int raw_ret = gst_app_src_push_buffer_list(Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_app_src_push_sample(IntPtr raw, IntPtr sample);
+
+               public Gst.FlowReturn PushSample(Gst.Sample sample) {
+                       int raw_ret = gst_app_src_push_sample(Handle, sample == null ? IntPtr.Zero : sample.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_app_src_set_latency(IntPtr raw, ulong min, ulong max);
+
+               public void SetLatency(ulong min, ulong max) {
+                       gst_app_src_set_latency(Handle, min, max);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_handler_get_uri(IntPtr raw);
+
+               public string Uri { 
+                       get {
+                               IntPtr raw_ret = gst_uri_handler_get_uri(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_uri_handler_get_uri_type(IntPtr raw);
+
+               public Gst.URIType UriType { 
+                       get {
+                               int raw_ret = gst_uri_handler_get_uri_type(Handle);
+                               Gst.URIType ret = (Gst.URIType) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_handler_set_uri(IntPtr raw, IntPtr uri, out IntPtr error);
+
+               public bool SetUri(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = gst_uri_handler_set_uri(Handle, native_uri, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+
+               static AppSrc ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Base.BaseSrc.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.App_AppSrcCallbacks.cs b/sources/generated/Gst.App_AppSrcCallbacks.cs
new file mode 100644 (file)
index 0000000..3850eff
--- /dev/null
@@ -0,0 +1,49 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct AppSrcCallbacks : IEquatable<AppSrcCallbacks> {
+
+               private IntPtr _need_data;
+               private IntPtr _enough_data;
+               private IntPtr _seek_data;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.App.AppSrcCallbacks Zero = new Gst.App.AppSrcCallbacks ();
+
+               public static Gst.App.AppSrcCallbacks New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.App.AppSrcCallbacks.Zero;
+                       return (Gst.App.AppSrcCallbacks) Marshal.PtrToStructure (raw, typeof (Gst.App.AppSrcCallbacks));
+               }
+
+               public bool Equals (AppSrcCallbacks other)
+               {
+                       return true && _need_data.Equals (other._need_data) && _enough_data.Equals (other._enough_data) && _seek_data.Equals (other._seek_data);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is AppSrcCallbacks && Equals ((AppSrcCallbacks) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ _need_data.GetHashCode () ^ _enough_data.GetHashCode () ^ _seek_data.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.App_AppStreamType.cs b/sources/generated/Gst.App_AppStreamType.cs
new file mode 100644 (file)
index 0000000..3ff9c4a
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.App.AppStreamTypeGType))]
+       public enum AppStreamType {
+
+               Stream = 0,
+               Seekable = 1,
+               RandomAccess = 2,
+       }
+
+       internal class AppStreamTypeGType {
+               [DllImport ("libgstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_app_stream_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_app_stream_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.App_Constants.cs b/sources/generated/Gst.App_Constants.cs
new file mode 100644 (file)
index 0000000..0d6dda7
--- /dev/null
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.App_EndOfStreamEventHandler.cs b/sources/generated/Gst.App_EndOfStreamEventHandler.cs
new file mode 100644 (file)
index 0000000..de83ee7
--- /dev/null
@@ -0,0 +1,12 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void EndOfStreamEventHandler(object o, EndOfStreamEventArgs args);
+
+       public class EndOfStreamEventArgs : GLib.SignalArgs {
+       }
+}
diff --git a/sources/generated/Gst.App_Global.cs b/sources/generated/Gst.App_Global.cs
new file mode 100644 (file)
index 0000000..fedd8e4
--- /dev/null
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.App_NeedDataHandler.cs b/sources/generated/Gst.App_NeedDataHandler.cs
new file mode 100644 (file)
index 0000000..62c29bb
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void NeedDataHandler(object o, NeedDataArgs args);
+
+       public class NeedDataArgs : GLib.SignalArgs {
+               public uint Length{
+                       get {
+                               return (uint) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.App_NewPrerollHandler.cs b/sources/generated/Gst.App_NewPrerollHandler.cs
new file mode 100644 (file)
index 0000000..6fc4b88
--- /dev/null
@@ -0,0 +1,12 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void NewPrerollHandler(object o, NewPrerollArgs args);
+
+       public class NewPrerollArgs : GLib.SignalArgs {
+       }
+}
diff --git a/sources/generated/Gst.App_NewSampleHandler.cs b/sources/generated/Gst.App_NewSampleHandler.cs
new file mode 100644 (file)
index 0000000..dcafc13
--- /dev/null
@@ -0,0 +1,12 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void NewSampleHandler(object o, NewSampleArgs args);
+
+       public class NewSampleArgs : GLib.SignalArgs {
+       }
+}
diff --git a/sources/generated/Gst.App_PushBufferEventHandler.cs b/sources/generated/Gst.App_PushBufferEventHandler.cs
new file mode 100644 (file)
index 0000000..ab0f8b5
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void PushBufferEventHandler(object o, PushBufferEventArgs args);
+
+       public class PushBufferEventArgs : GLib.SignalArgs {
+               public Gst.Buffer Buffer{
+                       get {
+                               return (Gst.Buffer) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.App_PushBufferListEventHandler.cs b/sources/generated/Gst.App_PushBufferListEventHandler.cs
new file mode 100644 (file)
index 0000000..6384dfa
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void PushBufferListEventHandler(object o, PushBufferListEventArgs args);
+
+       public class PushBufferListEventArgs : GLib.SignalArgs {
+               public Gst.BufferList BufferList{
+                       get {
+                               return (Gst.BufferList) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.App_PushSampleEventHandler.cs b/sources/generated/Gst.App_PushSampleEventHandler.cs
new file mode 100644 (file)
index 0000000..5e1058e
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void PushSampleEventHandler(object o, PushSampleEventArgs args);
+
+       public class PushSampleEventArgs : GLib.SignalArgs {
+               public Gst.Sample Sample{
+                       get {
+                               return (Gst.Sample) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.App_SeekDataHandler.cs b/sources/generated/Gst.App_SeekDataHandler.cs
new file mode 100644 (file)
index 0000000..e7e8cdc
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void SeekDataHandler(object o, SeekDataArgs args);
+
+       public class SeekDataArgs : GLib.SignalArgs {
+               public ulong Offset{
+                       get {
+                               return (ulong) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.App_TryPullPrerollEventHandler.cs b/sources/generated/Gst.App_TryPullPrerollEventHandler.cs
new file mode 100644 (file)
index 0000000..c6f2469
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void TryPullPrerollEventHandler(object o, TryPullPrerollEventArgs args);
+
+       public class TryPullPrerollEventArgs : GLib.SignalArgs {
+               public ulong Timeout{
+                       get {
+                               return (ulong) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.App_TryPullSampleEventHandler.cs b/sources/generated/Gst.App_TryPullSampleEventHandler.cs
new file mode 100644 (file)
index 0000000..dc8274e
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.App {
+
+       using System;
+
+       public delegate void TryPullSampleEventHandler(object o, TryPullSampleEventArgs args);
+
+       public class TryPullSampleEventArgs : GLib.SignalArgs {
+               public ulong Timeout{
+                       get {
+                               return (ulong) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioBaseSink.cs b/sources/generated/Gst.Audio_AudioBaseSink.cs
new file mode 100644 (file)
index 0000000..9716da3
--- /dev/null
@@ -0,0 +1,527 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioBaseSink : Gst.Base.BaseSink {
+
+               public AudioBaseSink (IntPtr raw) : base(raw) {}
+
+               protected AudioBaseSink() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_base_sink_get_alignment_threshold(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_sink_set_alignment_threshold(IntPtr raw, ulong alignment_threshold);
+
+               [GLib.Property ("alignment-threshold")]
+               public ulong AlignmentThreshold {
+                       get  {
+                               ulong raw_ret = gst_audio_base_sink_get_alignment_threshold(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_base_sink_set_alignment_threshold(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("buffer-time")]
+               public long BufferTime {
+                       get {
+                               GLib.Value val = GetProperty ("buffer-time");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("buffer-time", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("can-activate-pull")]
+               public bool CanActivatePull {
+                       get {
+                               GLib.Value val = GetProperty ("can-activate-pull");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("can-activate-pull", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_base_sink_get_discont_wait(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_sink_set_discont_wait(IntPtr raw, ulong discont_wait);
+
+               [GLib.Property ("discont-wait")]
+               public ulong DiscontWait {
+                       get  {
+                               ulong raw_ret = gst_audio_base_sink_get_discont_wait(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_base_sink_set_discont_wait(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_audio_base_sink_get_drift_tolerance(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_sink_set_drift_tolerance(IntPtr raw, long drift_tolerance);
+
+               [GLib.Property ("drift-tolerance")]
+               public long DriftTolerance {
+                       get  {
+                               long raw_ret = gst_audio_base_sink_get_drift_tolerance(Handle);
+                               long ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_base_sink_set_drift_tolerance(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("latency-time")]
+               public long LatencyTime {
+                       get {
+                               GLib.Value val = GetProperty ("latency-time");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("latency-time", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_base_sink_get_provide_clock(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_sink_set_provide_clock(IntPtr raw, bool provide);
+
+               [GLib.Property ("provide-clock")]
+               public bool ProvideClock {
+                       get  {
+                               bool raw_ret = gst_audio_base_sink_get_provide_clock(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_base_sink_set_provide_clock(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_base_sink_get_slave_method(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_sink_set_slave_method(IntPtr raw, int method);
+
+               [GLib.Property ("slave-method")]
+               public Gst.Audio.AudioBaseSinkSlaveMethod SlaveMethod {
+                       get  {
+                               int raw_ret = gst_audio_base_sink_get_slave_method(Handle);
+                               Gst.Audio.AudioBaseSinkSlaveMethod ret = (Gst.Audio.AudioBaseSinkSlaveMethod) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_base_sink_set_slave_method(Handle, (int) value);
+                       }
+               }
+
+               public Gst.Audio.AudioRingBuffer Ringbuffer {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("ringbuffer"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Audio.AudioRingBuffer;
+                               }
+                       }
+               }
+
+               public ulong BufferTimeField {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffer_time"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong LatencyTimeField {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("latency_time"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong NextSample {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("next_sample"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Clock ProvidedClock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("provided_clock"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Clock;
+                               }
+                       }
+               }
+
+               public bool EosRendering {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("eos_rendering"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               static CreateRingbufferNativeDelegate CreateRingbuffer_cb_delegate;
+               static CreateRingbufferNativeDelegate CreateRingbufferVMCallback {
+                       get {
+                               if (CreateRingbuffer_cb_delegate == null)
+                                       CreateRingbuffer_cb_delegate = new CreateRingbufferNativeDelegate (CreateRingbuffer_cb);
+                               return CreateRingbuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideCreateRingbuffer (GLib.GType gtype)
+               {
+                       OverrideCreateRingbuffer (gtype, CreateRingbufferVMCallback);
+               }
+
+               static void OverrideCreateRingbuffer (GLib.GType gtype, CreateRingbufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_ringbuffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr CreateRingbufferNativeDelegate (IntPtr inst);
+
+               static IntPtr CreateRingbuffer_cb (IntPtr inst)
+               {
+                       try {
+                               AudioBaseSink __obj = GLib.Object.GetObject (inst, false) as AudioBaseSink;
+                               Gst.Audio.AudioRingBuffer __result;
+                               __result = __obj.OnCreateRingbuffer ();
+                               return __result == null ? IntPtr.Zero : __result.Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioBaseSink), ConnectionMethod="OverrideCreateRingbuffer")]
+               protected virtual Gst.Audio.AudioRingBuffer OnCreateRingbuffer ()
+               {
+                       return InternalCreateRingbuffer ();
+               }
+
+               private Gst.Audio.AudioRingBuffer InternalCreateRingbuffer ()
+               {
+                       CreateRingbufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_ringbuffer"));
+                               unmanaged = (CreateRingbufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateRingbufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle);
+                       return GLib.Object.GetObject(__result) as Gst.Audio.AudioRingBuffer;
+               }
+
+               static PayloadNativeDelegate Payload_cb_delegate;
+               static PayloadNativeDelegate PayloadVMCallback {
+                       get {
+                               if (Payload_cb_delegate == null)
+                                       Payload_cb_delegate = new PayloadNativeDelegate (Payload_cb);
+                               return Payload_cb_delegate;
+                       }
+               }
+
+               static void OverridePayload (GLib.GType gtype)
+               {
+                       OverridePayload (gtype, PayloadVMCallback);
+               }
+
+               static void OverridePayload (GLib.GType gtype, PayloadNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("payload"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr PayloadNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static IntPtr Payload_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               AudioBaseSink __obj = GLib.Object.GetObject (inst, false) as AudioBaseSink;
+                               Gst.Buffer __result;
+                               __result = __obj.OnPayload (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioBaseSink), ConnectionMethod="OverridePayload")]
+               protected virtual Gst.Buffer OnPayload (Gst.Buffer buffer)
+               {
+                       return InternalPayload (buffer);
+               }
+
+               private Gst.Buffer InternalPayload (Gst.Buffer buffer)
+               {
+                       PayloadNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("payload"));
+                               unmanaged = (PayloadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PayloadNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (__result, typeof (Gst.Buffer), true);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("create_ringbuffer"
+                                                       , Gst.Base.BaseSink.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_ringbuffer
+                                                       , null
+                                                       , "payload"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("payload"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // payload
+                                                       , "create_ringbuffer"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "payload"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_base_sink_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_base_sink_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_base_sink_create_ringbuffer(IntPtr raw);
+
+               public Gst.Audio.AudioRingBuffer CreateRingbuffer() {
+                       IntPtr raw_ret = gst_audio_base_sink_create_ringbuffer(Handle);
+                       Gst.Audio.AudioRingBuffer ret = GLib.Object.GetObject(raw_ret) as Gst.Audio.AudioRingBuffer;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_sink_report_device_failure(IntPtr raw);
+
+               public void ReportDeviceFailure() {
+                       gst_audio_base_sink_report_device_failure(Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_sink_set_custom_slaving_callback(IntPtr raw, Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative cb, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.Audio.AudioBaseSinkCustomSlavingCallback CustomSlavingCallback { 
+                       set {
+                               Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackWrapper value_wrapper = new Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_audio_base_sink_set_custom_slaving_callback(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+
+               static AudioBaseSink ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("ringbuffer"
+                                                       , Gst.Base.BaseSink.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // ringbuffer
+                                                       , null
+                                                       , "buffer_time"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("buffer_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // buffer_time
+                                                       , "ringbuffer"
+                                                       , "latency_time"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioBaseSink_buffer_timeAlign), "buffer_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("latency_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // latency_time
+                                                       , "buffer_time"
+                                                       , "next_sample"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioBaseSink_latency_timeAlign), "latency_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("next_sample"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // next_sample
+                                                       , "latency_time"
+                                                       , "provided_clock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioBaseSink_next_sampleAlign), "next_sample")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("provided_clock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // provided_clock
+                                                       , "next_sample"
+                                                       , "eos_rendering"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("eos_rendering"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // eos_rendering
+                                                       , "provided_clock"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioBaseSink_eos_renderingAlign), "eos_rendering")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "eos_rendering"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioBaseSink_buffer_timeAlign
+               {
+                       sbyte f1;
+                       private ulong buffer_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioBaseSink_latency_timeAlign
+               {
+                       sbyte f1;
+                       private ulong latency_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioBaseSink_next_sampleAlign
+               {
+                       sbyte f1;
+                       private ulong next_sample;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioBaseSink_eos_renderingAlign
+               {
+                       sbyte f1;
+                       private bool eos_rendering;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioBaseSinkCustomSlavingCallback.cs b/sources/generated/Gst.Audio_AudioBaseSinkCustomSlavingCallback.cs
new file mode 100644 (file)
index 0000000..45085ff
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+
+       public delegate void AudioBaseSinkCustomSlavingCallback(Gst.Audio.AudioBaseSink sink, ulong etime, ulong itime, long requested_skew, Gst.Audio.AudioBaseSinkDiscontReason discont_reason);
+
+}
diff --git a/sources/generated/Gst.Audio_AudioBaseSinkDiscontReason.cs b/sources/generated/Gst.Audio_AudioBaseSinkDiscontReason.cs
new file mode 100644 (file)
index 0000000..f63ceaf
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioBaseSinkDiscontReasonGType))]
+       public enum AudioBaseSinkDiscontReason {
+
+               NoDiscont = 0,
+               NewCaps = 1,
+               Flush = 2,
+               SyncLatency = 3,
+               Alignment = 4,
+               DeviceFailure = 5,
+       }
+
+       internal class AudioBaseSinkDiscontReasonGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_base_sink_discont_reason_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_base_sink_discont_reason_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioBaseSinkSlaveMethod.cs b/sources/generated/Gst.Audio_AudioBaseSinkSlaveMethod.cs
new file mode 100644 (file)
index 0000000..66a8270
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioBaseSinkSlaveMethodGType))]
+       public enum AudioBaseSinkSlaveMethod {
+
+               Resample = 0,
+               Skew = 1,
+               None = 2,
+               Custom = 3,
+       }
+
+       internal class AudioBaseSinkSlaveMethodGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_base_sink_slave_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_base_sink_slave_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioBaseSrc.cs b/sources/generated/Gst.Audio_AudioBaseSrc.cs
new file mode 100644 (file)
index 0000000..5c4d449
--- /dev/null
@@ -0,0 +1,362 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioBaseSrc : Gst.Base.PushSrc {
+
+               public AudioBaseSrc (IntPtr raw) : base(raw) {}
+
+               protected AudioBaseSrc() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("actual-buffer-time")]
+               public long ActualBufferTime {
+                       get {
+                               GLib.Value val = GetProperty ("actual-buffer-time");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("actual-latency-time")]
+               public long ActualLatencyTime {
+                       get {
+                               GLib.Value val = GetProperty ("actual-latency-time");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("buffer-time")]
+               public long BufferTime {
+                       get {
+                               GLib.Value val = GetProperty ("buffer-time");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("buffer-time", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("latency-time")]
+               public long LatencyTime {
+                       get {
+                               GLib.Value val = GetProperty ("latency-time");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("latency-time", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_base_src_get_provide_clock(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_src_set_provide_clock(IntPtr raw, bool provide);
+
+               [GLib.Property ("provide-clock")]
+               public bool ProvideClock {
+                       get  {
+                               bool raw_ret = gst_audio_base_src_get_provide_clock(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_base_src_set_provide_clock(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_base_src_get_slave_method(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_base_src_set_slave_method(IntPtr raw, int method);
+
+               [GLib.Property ("slave-method")]
+               public Gst.Audio.AudioBaseSrcSlaveMethod SlaveMethod {
+                       get  {
+                               int raw_ret = gst_audio_base_src_get_slave_method(Handle);
+                               Gst.Audio.AudioBaseSrcSlaveMethod ret = (Gst.Audio.AudioBaseSrcSlaveMethod) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_base_src_set_slave_method(Handle, (int) value);
+                       }
+               }
+
+               public Gst.Audio.AudioRingBuffer Ringbuffer {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("ringbuffer"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Audio.AudioRingBuffer;
+                               }
+                       }
+               }
+
+               public ulong BufferTimeField {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffer_time"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong LatencyTimeField {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("latency_time"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong NextSample {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("next_sample"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Clock Clock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("clock"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Clock;
+                               }
+                       }
+               }
+
+               static CreateRingbufferNativeDelegate CreateRingbuffer_cb_delegate;
+               static CreateRingbufferNativeDelegate CreateRingbufferVMCallback {
+                       get {
+                               if (CreateRingbuffer_cb_delegate == null)
+                                       CreateRingbuffer_cb_delegate = new CreateRingbufferNativeDelegate (CreateRingbuffer_cb);
+                               return CreateRingbuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideCreateRingbuffer (GLib.GType gtype)
+               {
+                       OverrideCreateRingbuffer (gtype, CreateRingbufferVMCallback);
+               }
+
+               static void OverrideCreateRingbuffer (GLib.GType gtype, CreateRingbufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_ringbuffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr CreateRingbufferNativeDelegate (IntPtr inst);
+
+               static IntPtr CreateRingbuffer_cb (IntPtr inst)
+               {
+                       try {
+                               AudioBaseSrc __obj = GLib.Object.GetObject (inst, false) as AudioBaseSrc;
+                               Gst.Audio.AudioRingBuffer __result;
+                               __result = __obj.OnCreateRingbuffer ();
+                               return __result == null ? IntPtr.Zero : __result.Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioBaseSrc), ConnectionMethod="OverrideCreateRingbuffer")]
+               protected virtual Gst.Audio.AudioRingBuffer OnCreateRingbuffer ()
+               {
+                       return InternalCreateRingbuffer ();
+               }
+
+               private Gst.Audio.AudioRingBuffer InternalCreateRingbuffer ()
+               {
+                       CreateRingbufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_ringbuffer"));
+                               unmanaged = (CreateRingbufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateRingbufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle);
+                       return GLib.Object.GetObject(__result) as Gst.Audio.AudioRingBuffer;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("create_ringbuffer"
+                                                       , Gst.Base.PushSrc.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_ringbuffer
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "create_ringbuffer"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_base_src_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_base_src_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_base_src_create_ringbuffer(IntPtr raw);
+
+               public Gst.Audio.AudioRingBuffer CreateRingbuffer() {
+                       IntPtr raw_ret = gst_audio_base_src_create_ringbuffer(Handle);
+                       Gst.Audio.AudioRingBuffer ret = GLib.Object.GetObject(raw_ret) as Gst.Audio.AudioRingBuffer;
+                       return ret;
+               }
+
+
+               static AudioBaseSrc ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("ringbuffer"
+                                                       , Gst.Base.PushSrc.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // ringbuffer
+                                                       , null
+                                                       , "buffer_time"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("buffer_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // buffer_time
+                                                       , "ringbuffer"
+                                                       , "latency_time"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioBaseSrc_buffer_timeAlign), "buffer_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("latency_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // latency_time
+                                                       , "buffer_time"
+                                                       , "next_sample"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioBaseSrc_latency_timeAlign), "latency_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("next_sample"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // next_sample
+                                                       , "latency_time"
+                                                       , "clock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioBaseSrc_next_sampleAlign), "next_sample")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // clock
+                                                       , "next_sample"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "clock"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioBaseSrc_buffer_timeAlign
+               {
+                       sbyte f1;
+                       private ulong buffer_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioBaseSrc_latency_timeAlign
+               {
+                       sbyte f1;
+                       private ulong latency_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioBaseSrc_next_sampleAlign
+               {
+                       sbyte f1;
+                       private ulong next_sample;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioBaseSrcSlaveMethod.cs b/sources/generated/Gst.Audio_AudioBaseSrcSlaveMethod.cs
new file mode 100644 (file)
index 0000000..2a75cd4
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioBaseSrcSlaveMethodGType))]
+       public enum AudioBaseSrcSlaveMethod {
+
+               Resample = 0,
+               ReTimestamp = 1,
+               Skew = 2,
+               None = 3,
+       }
+
+       internal class AudioBaseSrcSlaveMethodGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_base_src_slave_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_base_src_slave_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioCdSrc.cs b/sources/generated/Gst.Audio_AudioCdSrc.cs
new file mode 100644 (file)
index 0000000..e752836
--- /dev/null
@@ -0,0 +1,414 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioCdSrc : Gst.Base.PushSrc, Gst.IURIHandler {
+
+               public AudioCdSrc (IntPtr raw) : base(raw) {}
+
+               protected AudioCdSrc() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("device")]
+               public string Device {
+                       get {
+                               GLib.Value val = GetProperty ("device");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("device", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("mode")]
+               public Gst.Audio.AudioCdSrcMode Mode {
+                       get {
+                               GLib.Value val = GetProperty ("mode");
+                               Gst.Audio.AudioCdSrcMode ret = (Gst.Audio.AudioCdSrcMode) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("mode", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("track")]
+               public uint Track {
+                       get {
+                               GLib.Value val = GetProperty ("track");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("track", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public Gst.TagList Tags {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("tags"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.TagList), false);
+                               }
+                       }
+               }
+
+               static OpenNativeDelegate Open_cb_delegate;
+               static OpenNativeDelegate OpenVMCallback {
+                       get {
+                               if (Open_cb_delegate == null)
+                                       Open_cb_delegate = new OpenNativeDelegate (Open_cb);
+                               return Open_cb_delegate;
+                       }
+               }
+
+               static void OverrideOpen (GLib.GType gtype)
+               {
+                       OverrideOpen (gtype, OpenVMCallback);
+               }
+
+               static void OverrideOpen (GLib.GType gtype, OpenNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool OpenNativeDelegate (IntPtr inst, IntPtr device);
+
+               static bool Open_cb (IntPtr inst, IntPtr device)
+               {
+                       try {
+                               AudioCdSrc __obj = GLib.Object.GetObject (inst, false) as AudioCdSrc;
+                               bool __result;
+                               __result = __obj.OnOpen (GLib.Marshaller.Utf8PtrToString (device));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioCdSrc), ConnectionMethod="OverrideOpen")]
+               protected virtual bool OnOpen (string device)
+               {
+                       return InternalOpen (device);
+               }
+
+               private bool InternalOpen (string device)
+               {
+                       OpenNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               unmanaged = (OpenNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_device = GLib.Marshaller.StringToPtrGStrdup (device);
+                       bool __result = unmanaged (this.Handle, native_device);
+                       GLib.Marshaller.Free (native_device);
+                       return __result;
+               }
+
+               static CloseNativeDelegate Close_cb_delegate;
+               static CloseNativeDelegate CloseVMCallback {
+                       get {
+                               if (Close_cb_delegate == null)
+                                       Close_cb_delegate = new CloseNativeDelegate (Close_cb);
+                               return Close_cb_delegate;
+                       }
+               }
+
+               static void OverrideClose (GLib.GType gtype)
+               {
+                       OverrideClose (gtype, CloseVMCallback);
+               }
+
+               static void OverrideClose (GLib.GType gtype, CloseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void CloseNativeDelegate (IntPtr inst);
+
+               static void Close_cb (IntPtr inst)
+               {
+                       try {
+                               AudioCdSrc __obj = GLib.Object.GetObject (inst, false) as AudioCdSrc;
+                               __obj.OnClose ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioCdSrc), ConnectionMethod="OverrideClose")]
+               protected virtual void OnClose ()
+               {
+                       InternalClose ();
+               }
+
+               private void InternalClose ()
+               {
+                       CloseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               unmanaged = (CloseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static ReadSectorNativeDelegate ReadSector_cb_delegate;
+               static ReadSectorNativeDelegate ReadSectorVMCallback {
+                       get {
+                               if (ReadSector_cb_delegate == null)
+                                       ReadSector_cb_delegate = new ReadSectorNativeDelegate (ReadSector_cb);
+                               return ReadSector_cb_delegate;
+                       }
+               }
+
+               static void OverrideReadSector (GLib.GType gtype)
+               {
+                       OverrideReadSector (gtype, ReadSectorVMCallback);
+               }
+
+               static void OverrideReadSector (GLib.GType gtype, ReadSectorNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("read_sector"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr ReadSectorNativeDelegate (IntPtr inst, int sector);
+
+               static IntPtr ReadSector_cb (IntPtr inst, int sector)
+               {
+                       try {
+                               AudioCdSrc __obj = GLib.Object.GetObject (inst, false) as AudioCdSrc;
+                               Gst.Buffer __result;
+                               __result = __obj.OnReadSector (sector);
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioCdSrc), ConnectionMethod="OverrideReadSector")]
+               protected virtual Gst.Buffer OnReadSector (int sector)
+               {
+                       return InternalReadSector (sector);
+               }
+
+               private Gst.Buffer InternalReadSector (int sector)
+               {
+                       ReadSectorNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("read_sector"));
+                               unmanaged = (ReadSectorNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ReadSectorNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, sector);
+                       return __result == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (__result, typeof (Gst.Buffer), true);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("open"
+                                                       , Gst.Base.PushSrc.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // open
+                                                       , null
+                                                       , "close"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("close"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close
+                                                       , "open"
+                                                       , "read_sector"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("read_sector"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // read_sector
+                                                       , "close"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "read_sector"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_cd_src_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_cd_src_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_cd_src_add_track(IntPtr raw, IntPtr track);
+
+               public bool AddTrack(Gst.Audio.AudioCdSrcTrack track) {
+                       IntPtr native_track = GLib.Marshaller.StructureToPtrAlloc (track);
+                       bool raw_ret = gst_audio_cd_src_add_track(Handle, native_track);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_track);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_handler_get_uri(IntPtr raw);
+
+               public string Uri { 
+                       get {
+                               IntPtr raw_ret = gst_uri_handler_get_uri(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_uri_handler_get_uri_type(IntPtr raw);
+
+               public Gst.URIType UriType { 
+                       get {
+                               int raw_ret = gst_uri_handler_get_uri_type(Handle);
+                               Gst.URIType ret = (Gst.URIType) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_handler_set_uri(IntPtr raw, IntPtr uri, out IntPtr error);
+
+               public bool SetUri(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = gst_uri_handler_set_uri(Handle, native_uri, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+
+               static AudioCdSrc ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("tags"
+                                                       , Gst.Base.PushSrc.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // tags
+                                                       , null
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "tags"
+                                                       , "_gst_reserved1"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved1"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) * 2 // _gst_reserved1
+                                                       , "priv"
+                                                       , "_gst_reserved2"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioCdSrc__gst_reserved1Align), "_gst_reserved1")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved2"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 2 // _gst_reserved2
+                                                       , "_gst_reserved1"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioCdSrc__gst_reserved1Align
+               {
+                       sbyte f1;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=2)]
+                       private uint[] _gst_reserved1;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioCdSrcMode.cs b/sources/generated/Gst.Audio_AudioCdSrcMode.cs
new file mode 100644 (file)
index 0000000..e764cef
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioCdSrcModeGType))]
+       public enum AudioCdSrcMode {
+
+               Normal = 0,
+               Continuous = 1,
+       }
+
+       internal class AudioCdSrcModeGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_cd_src_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_cd_src_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioCdSrcTrack.cs b/sources/generated/Gst.Audio_AudioCdSrcTrack.cs
new file mode 100644 (file)
index 0000000..8537cfc
--- /dev/null
@@ -0,0 +1,61 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct AudioCdSrcTrack : IEquatable<AudioCdSrcTrack> {
+
+               public bool IsAudio;
+               public uint Num;
+               public uint Start;
+               public uint End;
+               private IntPtr _tags;
+               public Gst.TagList Tags {
+                       get {
+                               return _tags == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (_tags, typeof (Gst.TagList), false);
+                       }
+                       set {
+                               _tags = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=2)]
+               private uint[] _gstGstReserved1;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=2)]
+               private IntPtr[] _gstGstReserved2;
+
+               public static Gst.Audio.AudioCdSrcTrack Zero = new Gst.Audio.AudioCdSrcTrack ();
+
+               public static Gst.Audio.AudioCdSrcTrack New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Audio.AudioCdSrcTrack.Zero;
+                       return (Gst.Audio.AudioCdSrcTrack) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioCdSrcTrack));
+               }
+
+               public bool Equals (AudioCdSrcTrack other)
+               {
+                       return true && IsAudio.Equals (other.IsAudio) && Num.Equals (other.Num) && Start.Equals (other.Start) && End.Equals (other.End) && Tags.Equals (other.Tags);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is AudioCdSrcTrack && Equals ((AudioCdSrcTrack) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ IsAudio.GetHashCode () ^ Num.GetHashCode () ^ Start.GetHashCode () ^ End.GetHashCode () ^ Tags.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioChannelMixer.cs b/sources/generated/Gst.Audio_AudioChannelMixer.cs
new file mode 100644 (file)
index 0000000..8fe60f8
--- /dev/null
@@ -0,0 +1,87 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioChannelMixer : GLib.Opaque {
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_channel_mixer_is_passthrough(IntPtr raw);
+
+               public bool IsPassthrough { 
+                       get {
+                               bool raw_ret = gst_audio_channel_mixer_is_passthrough(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_channel_mixer_samples(IntPtr raw, IntPtr in_param, IntPtr out_param, int samples);
+
+               public void Samples(IntPtr in_param, IntPtr out_param, int samples) {
+                       gst_audio_channel_mixer_samples(Handle, in_param, out_param, samples);
+               }
+
+               public void Samples(int samples) {
+                       Samples (IntPtr.Zero, IntPtr.Zero, samples);
+               }
+
+               public AudioChannelMixer(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_channel_mixer_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_audio_channel_mixer_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_audio_channel_mixer_free (handle);
+                               return false;
+                       }
+               }
+
+               ~AudioChannelMixer ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioChannelMixerFlags.cs b/sources/generated/Gst.Audio_AudioChannelMixerFlags.cs
new file mode 100644 (file)
index 0000000..1e53ffd
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Audio.AudioChannelMixerFlagsGType))]
+       public enum AudioChannelMixerFlags {
+
+               None = 0,
+               NonInterleavedIn = 1,
+               NonInterleavedOut = 2,
+               UnpositionedIn = 4,
+               UnpositionedOut = 8,
+       }
+
+       internal class AudioChannelMixerFlagsGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_channel_mixer_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_channel_mixer_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioChannelPosition.cs b/sources/generated/Gst.Audio_AudioChannelPosition.cs
new file mode 100644 (file)
index 0000000..61e5101
--- /dev/null
@@ -0,0 +1,57 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioChannelPositionGType))]
+       public enum AudioChannelPosition {
+
+               None = -3,
+               Mono = -2,
+               Invalid = -1,
+               FrontLeft = 0,
+               FrontRight = 1,
+               FrontCenter = 2,
+               Lfe1 = 3,
+               RearLeft = 4,
+               RearRight = 5,
+               FrontLeftOfCenter = 6,
+               FrontRightOfCenter = 7,
+               RearCenter = 8,
+               Lfe2 = 9,
+               SideLeft = 10,
+               SideRight = 11,
+               TopFrontLeft = 12,
+               TopFrontRight = 13,
+               TopFrontCenter = 14,
+               TopCenter = 15,
+               TopRearLeft = 16,
+               TopRearRight = 17,
+               TopSideLeft = 18,
+               TopSideRight = 19,
+               TopRearCenter = 20,
+               BottomFrontCenter = 21,
+               BottomFrontLeft = 22,
+               BottomFrontRight = 23,
+               WideLeft = 24,
+               WideRight = 25,
+               SurroundLeft = 26,
+               SurroundRight = 27,
+       }
+
+       internal class AudioChannelPositionGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_channel_position_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_channel_position_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioClippingMeta.cs b/sources/generated/Gst.Audio_AudioClippingMeta.cs
new file mode 100644 (file)
index 0000000..9fc11d2
--- /dev/null
@@ -0,0 +1,59 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct AudioClippingMeta : IEquatable<AudioClippingMeta> {
+
+               public Gst.Meta Meta;
+               public Gst.Format Format;
+               public ulong Start;
+               public ulong End;
+
+               public static Gst.Audio.AudioClippingMeta Zero = new Gst.Audio.AudioClippingMeta ();
+
+               public static Gst.Audio.AudioClippingMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Audio.AudioClippingMeta.Zero;
+                       return (Gst.Audio.AudioClippingMeta) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioClippingMeta));
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_clipping_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_audio_clipping_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (AudioClippingMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && Format.Equals (other.Format) && Start.Equals (other.Start) && End.Equals (other.End);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is AudioClippingMeta && Equals ((AudioClippingMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Format.GetHashCode () ^ Start.GetHashCode () ^ End.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioClock.cs b/sources/generated/Gst.Audio_AudioClock.cs
new file mode 100644 (file)
index 0000000..81df4c3
--- /dev/null
@@ -0,0 +1,215 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioClock : Gst.SystemClock {
+
+               public AudioClock (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_clock_new(IntPtr name, Gst.AudioSharp.AudioClockGetTimeFuncNative func, IntPtr user_data, GLib.DestroyNotify destroy_notify);
+
+               public AudioClock (string name, Gst.Audio.AudioClockGetTimeFunc func, IntPtr user_data, GLib.DestroyNotify destroy_notify) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (AudioClock)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Gst.AudioSharp.AudioClockGetTimeFuncWrapper func_wrapper = new Gst.AudioSharp.AudioClockGetTimeFuncWrapper (func);
+                       Raw = gst_audio_clock_new(native_name, func_wrapper.NativeDelegate, user_data, destroy_notify);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               public Gst.Audio.AudioClockGetTimeFunc Func {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("func"));
+                                        Gst.AudioSharp.AudioClockGetTimeFuncNative del = (Gst.AudioSharp.AudioClockGetTimeFuncNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(Gst.AudioSharp.AudioClockGetTimeFuncNative));
+                                       return Gst.AudioSharp.AudioClockGetTimeFuncWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public IntPtr UserData {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("user_data"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.SystemClock.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_clock_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_clock_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_clock_adjust(IntPtr raw, ulong time);
+
+               public ulong Adjust(ulong time) {
+                       ulong raw_ret = gst_audio_clock_adjust(Handle, time);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_clock_get_time(IntPtr raw);
+
+               public new ulong Time { 
+                       get {
+                               ulong raw_ret = gst_audio_clock_get_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_clock_invalidate(IntPtr raw);
+
+               public void Invalidate() {
+                       gst_audio_clock_invalidate(Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_clock_reset(IntPtr raw, ulong time);
+
+               public void Reset(ulong time) {
+                       gst_audio_clock_reset(Handle, time);
+               }
+
+
+               static AudioClock ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("func"
+                                                       , Gst.SystemClock.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // func
+                                                       , null
+                                                       , "user_data"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("user_data"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // user_data
+                                                       , "func"
+                                                       , "destroy_notify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("destroy_notify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // destroy_notify
+                                                       , "user_data"
+                                                       , "last_time"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioClock_destroy_notifyAlign), "destroy_notify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("last_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // last_time
+                                                       , "destroy_notify"
+                                                       , "time_offset"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioClock_last_timeAlign), "last_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("time_offset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(long)) // time_offset
+                                                       , "last_time"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioClock_time_offsetAlign), "time_offset")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "time_offset"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioClock_destroy_notifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify destroy_notify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioClock_last_timeAlign
+               {
+                       sbyte f1;
+                       private ulong last_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioClock_time_offsetAlign
+               {
+                       sbyte f1;
+                       private long time_offset;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioClockGetTimeFunc.cs b/sources/generated/Gst.Audio_AudioClockGetTimeFunc.cs
new file mode 100644 (file)
index 0000000..5e73474
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+
+       public delegate ulong AudioClockGetTimeFunc(Gst.Clock clock);
+
+}
diff --git a/sources/generated/Gst.Audio_AudioConverter.cs b/sources/generated/Gst.Audio_AudioConverter.cs
new file mode 100644 (file)
index 0000000..a9bce48
--- /dev/null
@@ -0,0 +1,146 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioConverter : GLib.Opaque {
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_converter_get_config(IntPtr raw, int in_rate, int out_rate);
+
+               public Gst.Structure GetConfig(int in_rate, int out_rate) {
+                       IntPtr raw_ret = gst_audio_converter_get_config(Handle, in_rate, out_rate);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_audio_converter_get_in_frames(IntPtr raw, UIntPtr out_frames);
+
+               public ulong GetInFrames(ulong out_frames) {
+                       UIntPtr raw_ret = gst_audio_converter_get_in_frames(Handle, new UIntPtr (out_frames));
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_audio_converter_get_max_latency(IntPtr raw);
+
+               public ulong MaxLatency { 
+                       get {
+                               UIntPtr raw_ret = gst_audio_converter_get_max_latency(Handle);
+                               ulong ret = (ulong) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_audio_converter_get_out_frames(IntPtr raw, UIntPtr in_frames);
+
+               public ulong GetOutFrames(ulong in_frames) {
+                       UIntPtr raw_ret = gst_audio_converter_get_out_frames(Handle, new UIntPtr (in_frames));
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_converter_reset(IntPtr raw);
+
+               public void Reset() {
+                       gst_audio_converter_reset(Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_converter_samples(IntPtr raw, int flags, IntPtr in_param, UIntPtr in_frames, IntPtr out_param, UIntPtr out_frames);
+
+               public bool Samples(Gst.Audio.AudioConverterFlags flags, IntPtr in_param, ulong in_frames, IntPtr out_param, ulong out_frames) {
+                       bool raw_ret = gst_audio_converter_samples(Handle, (int) flags, in_param, new UIntPtr (in_frames), out_param, new UIntPtr (out_frames));
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool Samples(Gst.Audio.AudioConverterFlags flags, ulong in_frames, ulong out_frames) {
+                       return Samples (flags, IntPtr.Zero, in_frames, IntPtr.Zero, out_frames);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_converter_supports_inplace(IntPtr raw);
+
+               public bool SupportsInplace() {
+                       bool raw_ret = gst_audio_converter_supports_inplace(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_converter_update_config(IntPtr raw, int in_rate, int out_rate, IntPtr config);
+
+               public bool UpdateConfig(int in_rate, int out_rate, Gst.Structure config) {
+                       config.Owned = false;
+                       bool raw_ret = gst_audio_converter_update_config(Handle, in_rate, out_rate, config == null ? IntPtr.Zero : config.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool UpdateConfig(int in_rate, int out_rate) {
+                       return UpdateConfig (in_rate, out_rate, null);
+               }
+
+               public AudioConverter(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_converter_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_audio_converter_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_audio_converter_free (handle);
+                               return false;
+                       }
+               }
+
+               ~AudioConverter ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioConverterFlags.cs b/sources/generated/Gst.Audio_AudioConverterFlags.cs
new file mode 100644 (file)
index 0000000..c3ef1ef
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Audio.AudioConverterFlagsGType))]
+       public enum AudioConverterFlags {
+
+               None = 0,
+               InWritable = 1,
+               VariableRate = 2,
+       }
+
+       internal class AudioConverterFlagsGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_converter_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_converter_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioDecoder.cs b/sources/generated/Gst.Audio_AudioDecoder.cs
new file mode 100644 (file)
index 0000000..bc838a9
--- /dev/null
@@ -0,0 +1,1660 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioDecoder : Gst.Element {
+
+               protected AudioDecoder (IntPtr raw) : base(raw) {}
+
+               protected AudioDecoder() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_decoder_get_min_latency(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_min_latency(IntPtr raw, ulong num);
+
+               [GLib.Property ("min-latency")]
+               public ulong MinLatency {
+                       get  {
+                               ulong raw_ret = gst_audio_decoder_get_min_latency(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_decoder_set_min_latency(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_decoder_get_plc(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_plc(IntPtr raw, bool enabled);
+
+               [GLib.Property ("plc")]
+               public bool Plc {
+                       get  {
+                               bool raw_ret = gst_audio_decoder_get_plc(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_decoder_set_plc(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_decoder_get_tolerance(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_tolerance(IntPtr raw, ulong tolerance);
+
+               [GLib.Property ("tolerance")]
+               public ulong Tolerance {
+                       get  {
+                               ulong raw_ret = gst_audio_decoder_get_tolerance(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_decoder_set_tolerance(Handle, value);
+                       }
+               }
+
+               public Gst.Pad Sinkpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sinkpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public Gst.Pad Srcpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("srcpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public GLib.RecMutex StreamLock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("stream_lock"));
+                                       return new GLib.RecMutex((*raw_ptr));
+                               }
+                       }
+               }
+
+               public Gst.Segment InputSegment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("input_segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public Gst.Segment OutputSegment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("output_segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static SetFormatNativeDelegate SetFormat_cb_delegate;
+               static SetFormatNativeDelegate SetFormatVMCallback {
+                       get {
+                               if (SetFormat_cb_delegate == null)
+                                       SetFormat_cb_delegate = new SetFormatNativeDelegate (SetFormat_cb);
+                               return SetFormat_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetFormat (GLib.GType gtype)
+               {
+                       OverrideSetFormat (gtype, SetFormatVMCallback);
+               }
+
+               static void OverrideSetFormat (GLib.GType gtype, SetFormatNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_format"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetFormatNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static bool SetFormat_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnSetFormat (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideSetFormat")]
+               protected virtual bool OnSetFormat (Gst.Caps caps)
+               {
+                       return InternalSetFormat (caps);
+               }
+
+               private bool InternalSetFormat (Gst.Caps caps)
+               {
+                       SetFormatNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_format"));
+                               unmanaged = (SetFormatNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetFormatNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result;
+               }
+
+               static ParseNativeDelegate Parse_cb_delegate;
+               static ParseNativeDelegate ParseVMCallback {
+                       get {
+                               if (Parse_cb_delegate == null)
+                                       Parse_cb_delegate = new ParseNativeDelegate (Parse_cb);
+                               return Parse_cb_delegate;
+                       }
+               }
+
+               static void OverrideParse (GLib.GType gtype)
+               {
+                       OverrideParse (gtype, ParseVMCallback);
+               }
+
+               static void OverrideParse (GLib.GType gtype, ParseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("parse"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ParseNativeDelegate (IntPtr inst, IntPtr adapter, int offset, int length);
+
+               static int Parse_cb (IntPtr inst, IntPtr adapter, int offset, int length)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnParse (GLib.Object.GetObject(adapter) as Gst.Base.Adapter, offset, length);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideParse")]
+               protected virtual Gst.FlowReturn OnParse (Gst.Base.Adapter adapter, int offset, int length)
+               {
+                       return InternalParse (adapter, offset, length);
+               }
+
+               private Gst.FlowReturn InternalParse (Gst.Base.Adapter adapter, int offset, int length)
+               {
+                       ParseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("parse"));
+                               unmanaged = (ParseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ParseNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, adapter == null ? IntPtr.Zero : adapter.Handle, offset, length);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static HandleFrameNativeDelegate HandleFrame_cb_delegate;
+               static HandleFrameNativeDelegate HandleFrameVMCallback {
+                       get {
+                               if (HandleFrame_cb_delegate == null)
+                                       HandleFrame_cb_delegate = new HandleFrameNativeDelegate (HandleFrame_cb);
+                               return HandleFrame_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype)
+               {
+                       OverrideHandleFrame (gtype, HandleFrameVMCallback);
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype, HandleFrameNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int HandleFrameNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int HandleFrame_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnHandleFrame (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideHandleFrame")]
+               protected virtual Gst.FlowReturn OnHandleFrame (Gst.Buffer buffer)
+               {
+                       return InternalHandleFrame (buffer);
+               }
+
+               private Gst.FlowReturn InternalHandleFrame (Gst.Buffer buffer)
+               {
+                       HandleFrameNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               unmanaged = (HandleFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleFrameNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static FlushNativeDelegate Flush_cb_delegate;
+               static FlushNativeDelegate FlushVMCallback {
+                       get {
+                               if (Flush_cb_delegate == null)
+                                       Flush_cb_delegate = new FlushNativeDelegate (Flush_cb);
+                               return Flush_cb_delegate;
+                       }
+               }
+
+               static void OverrideFlush (GLib.GType gtype)
+               {
+                       OverrideFlush (gtype, FlushVMCallback);
+               }
+
+               static void OverrideFlush (GLib.GType gtype, FlushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FlushNativeDelegate (IntPtr inst, bool hard);
+
+               static void Flush_cb (IntPtr inst, bool hard)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               __obj.OnFlush (hard);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideFlush")]
+               protected virtual void OnFlush (bool hard)
+               {
+                       InternalFlush (hard);
+               }
+
+               private void InternalFlush (bool hard)
+               {
+                       FlushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               unmanaged = (FlushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, hard);
+               }
+
+               static PrePushNativeDelegate PrePush_cb_delegate;
+               static PrePushNativeDelegate PrePushVMCallback {
+                       get {
+                               if (PrePush_cb_delegate == null)
+                                       PrePush_cb_delegate = new PrePushNativeDelegate (PrePush_cb);
+                               return PrePush_cb_delegate;
+                       }
+               }
+
+               static void OverridePrePush (GLib.GType gtype)
+               {
+                       OverridePrePush (gtype, PrePushVMCallback);
+               }
+
+               static void OverridePrePush (GLib.GType gtype, PrePushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_push"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrePushNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int PrePush_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPrePush (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverridePrePush")]
+               protected virtual Gst.FlowReturn OnPrePush (Gst.Buffer buffer)
+               {
+                       return InternalPrePush (buffer);
+               }
+
+               private Gst.FlowReturn InternalPrePush (Gst.Buffer buffer)
+               {
+                       PrePushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_push"));
+                               unmanaged = (PrePushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrePushNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SinkEventNativeDelegate SinkEvent_cb_delegate;
+               static SinkEventNativeDelegate SinkEventVMCallback {
+                       get {
+                               if (SinkEvent_cb_delegate == null)
+                                       SinkEvent_cb_delegate = new SinkEventNativeDelegate (SinkEvent_cb);
+                               return SinkEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype)
+               {
+                       OverrideSinkEvent (gtype, SinkEventVMCallback);
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype, SinkEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SinkEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnSinkEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideSinkEvent")]
+               protected virtual bool OnSinkEvent (Gst.Event evnt)
+               {
+                       return InternalSinkEvent (evnt);
+               }
+
+               private bool InternalSinkEvent (Gst.Event evnt)
+               {
+                       SinkEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               unmanaged = (SinkEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SrcEventNativeDelegate SrcEvent_cb_delegate;
+               static SrcEventNativeDelegate SrcEventVMCallback {
+                       get {
+                               if (SrcEvent_cb_delegate == null)
+                                       SrcEvent_cb_delegate = new SrcEventNativeDelegate (SrcEvent_cb);
+                               return SrcEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype)
+               {
+                       OverrideSrcEvent (gtype, SrcEventVMCallback);
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype, SrcEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SrcEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnSrcEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideSrcEvent")]
+               protected virtual bool OnSrcEvent (Gst.Event evnt)
+               {
+                       return InternalSrcEvent (evnt);
+               }
+
+               private bool InternalSrcEvent (Gst.Event evnt)
+               {
+                       SrcEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               unmanaged = (SrcEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static OpenNativeDelegate Open_cb_delegate;
+               static OpenNativeDelegate OpenVMCallback {
+                       get {
+                               if (Open_cb_delegate == null)
+                                       Open_cb_delegate = new OpenNativeDelegate (Open_cb);
+                               return Open_cb_delegate;
+                       }
+               }
+
+               static void OverrideOpen (GLib.GType gtype)
+               {
+                       OverrideOpen (gtype, OpenVMCallback);
+               }
+
+               static void OverrideOpen (GLib.GType gtype, OpenNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool OpenNativeDelegate (IntPtr inst);
+
+               static bool Open_cb (IntPtr inst)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnOpen ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideOpen")]
+               protected virtual bool OnOpen ()
+               {
+                       return InternalOpen ();
+               }
+
+               private bool InternalOpen ()
+               {
+                       OpenNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               unmanaged = (OpenNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static CloseNativeDelegate Close_cb_delegate;
+               static CloseNativeDelegate CloseVMCallback {
+                       get {
+                               if (Close_cb_delegate == null)
+                                       Close_cb_delegate = new CloseNativeDelegate (Close_cb);
+                               return Close_cb_delegate;
+                       }
+               }
+
+               static void OverrideClose (GLib.GType gtype)
+               {
+                       OverrideClose (gtype, CloseVMCallback);
+               }
+
+               static void OverrideClose (GLib.GType gtype, CloseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CloseNativeDelegate (IntPtr inst);
+
+               static bool Close_cb (IntPtr inst)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnClose ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideClose")]
+               protected virtual bool OnClose ()
+               {
+                       return InternalClose ();
+               }
+
+               private bool InternalClose ()
+               {
+                       CloseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               unmanaged = (CloseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static NegotiateNativeDelegate Negotiate_cb_delegate;
+               static NegotiateNativeDelegate NegotiateVMCallback {
+                       get {
+                               if (Negotiate_cb_delegate == null)
+                                       Negotiate_cb_delegate = new NegotiateNativeDelegate (Negotiate_cb);
+                               return Negotiate_cb_delegate;
+                       }
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype)
+               {
+                       OverrideNegotiate (gtype, NegotiateVMCallback);
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype, NegotiateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool NegotiateNativeDelegate (IntPtr inst);
+
+               static bool Negotiate_cb (IntPtr inst)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnNegotiate ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideNegotiate")]
+               protected virtual bool OnNegotiate ()
+               {
+                       return InternalNegotiate ();
+               }
+
+               private bool InternalNegotiate ()
+               {
+                       NegotiateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               unmanaged = (NegotiateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NegotiateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static DecideAllocationNativeDelegate DecideAllocation_cb_delegate;
+               static DecideAllocationNativeDelegate DecideAllocationVMCallback {
+                       get {
+                               if (DecideAllocation_cb_delegate == null)
+                                       DecideAllocation_cb_delegate = new DecideAllocationNativeDelegate (DecideAllocation_cb);
+                               return DecideAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype)
+               {
+                       OverrideDecideAllocation (gtype, DecideAllocationVMCallback);
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype, DecideAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DecideAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool DecideAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnDecideAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideDecideAllocation")]
+               protected virtual bool OnDecideAllocation (Gst.Query query)
+               {
+                       return InternalDecideAllocation (query);
+               }
+
+               private bool InternalDecideAllocation (Gst.Query query)
+               {
+                       DecideAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               unmanaged = (DecideAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DecideAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static ProposeAllocationNativeDelegate ProposeAllocation_cb_delegate;
+               static ProposeAllocationNativeDelegate ProposeAllocationVMCallback {
+                       get {
+                               if (ProposeAllocation_cb_delegate == null)
+                                       ProposeAllocation_cb_delegate = new ProposeAllocationNativeDelegate (ProposeAllocation_cb);
+                               return ProposeAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype)
+               {
+                       OverrideProposeAllocation (gtype, ProposeAllocationVMCallback);
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype, ProposeAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ProposeAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool ProposeAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnProposeAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideProposeAllocation")]
+               protected virtual bool OnProposeAllocation (Gst.Query query)
+               {
+                       return InternalProposeAllocation (query);
+               }
+
+               private bool InternalProposeAllocation (Gst.Query query)
+               {
+                       ProposeAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               unmanaged = (ProposeAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProposeAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static SinkQueryNativeDelegate SinkQuery_cb_delegate;
+               static SinkQueryNativeDelegate SinkQueryVMCallback {
+                       get {
+                               if (SinkQuery_cb_delegate == null)
+                                       SinkQuery_cb_delegate = new SinkQueryNativeDelegate (SinkQuery_cb);
+                               return SinkQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype)
+               {
+                       OverrideSinkQuery (gtype, SinkQueryVMCallback);
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype, SinkQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SinkQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnSinkQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideSinkQuery")]
+               protected virtual bool OnSinkQuery (Gst.Query query)
+               {
+                       return InternalSinkQuery (query);
+               }
+
+               private bool InternalSinkQuery (Gst.Query query)
+               {
+                       SinkQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               unmanaged = (SinkQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static SrcQueryNativeDelegate SrcQuery_cb_delegate;
+               static SrcQueryNativeDelegate SrcQueryVMCallback {
+                       get {
+                               if (SrcQuery_cb_delegate == null)
+                                       SrcQuery_cb_delegate = new SrcQueryNativeDelegate (SrcQuery_cb);
+                               return SrcQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype)
+               {
+                       OverrideSrcQuery (gtype, SrcQueryVMCallback);
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype, SrcQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SrcQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnSrcQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideSrcQuery")]
+               protected virtual bool OnSrcQuery (Gst.Query query)
+               {
+                       return InternalSrcQuery (query);
+               }
+
+               private bool InternalSrcQuery (Gst.Query query)
+               {
+                       SrcQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               unmanaged = (SrcQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static GetcapsNativeDelegate Getcaps_cb_delegate;
+               static GetcapsNativeDelegate GetcapsVMCallback {
+                       get {
+                               if (Getcaps_cb_delegate == null)
+                                       Getcaps_cb_delegate = new GetcapsNativeDelegate (Getcaps_cb);
+                               return Getcaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetcaps (GLib.GType gtype)
+               {
+                       OverrideGetcaps (gtype, GetcapsVMCallback);
+               }
+
+               static void OverrideGetcaps (GLib.GType gtype, GetcapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("getcaps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetcapsNativeDelegate (IntPtr inst, IntPtr filter);
+
+               static IntPtr Getcaps_cb (IntPtr inst, IntPtr filter)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               Gst.Caps __result;
+                               __result = __obj.OnGetcaps (filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideGetcaps")]
+               protected virtual Gst.Caps OnGetcaps (Gst.Caps filter)
+               {
+                       return InternalGetcaps (filter);
+               }
+
+               private Gst.Caps InternalGetcaps (Gst.Caps filter)
+               {
+                       GetcapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("getcaps"));
+                               unmanaged = (GetcapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetcapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static TransformMetaNativeDelegate TransformMeta_cb_delegate;
+               static TransformMetaNativeDelegate TransformMetaVMCallback {
+                       get {
+                               if (TransformMeta_cb_delegate == null)
+                                       TransformMeta_cb_delegate = new TransformMetaNativeDelegate (TransformMeta_cb);
+                               return TransformMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype)
+               {
+                       OverrideTransformMeta (gtype, TransformMetaVMCallback);
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype, TransformMetaNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool TransformMetaNativeDelegate (IntPtr inst, IntPtr outbuf, IntPtr meta, IntPtr inbuf);
+
+               static bool TransformMeta_cb (IntPtr inst, IntPtr outbuf, IntPtr meta, IntPtr inbuf)
+               {
+                       try {
+                               AudioDecoder __obj = GLib.Object.GetObject (inst, false) as AudioDecoder;
+                               bool __result;
+                               __result = __obj.OnTransformMeta (outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuf, typeof (Gst.Buffer), false), Gst.Meta.New (meta), inbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (inbuf, typeof (Gst.Buffer), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioDecoder), ConnectionMethod="OverrideTransformMeta")]
+               protected virtual bool OnTransformMeta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf)
+               {
+                       return InternalTransformMeta (outbuf, meta, inbuf);
+               }
+
+               private bool InternalTransformMeta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf)
+               {
+                       TransformMetaNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               unmanaged = (TransformMetaNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformMetaNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = unmanaged (this.Handle, outbuf == null ? IntPtr.Zero : outbuf.Handle, native_meta, inbuf == null ? IntPtr.Zero : inbuf.Handle);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("start"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , null
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "set_format"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_format"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_format
+                                                       , "stop"
+                                                       , "parse"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("parse"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // parse
+                                                       , "set_format"
+                                                       , "handle_frame"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_frame"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_frame
+                                                       , "parse"
+                                                       , "flush"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flush"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush
+                                                       , "handle_frame"
+                                                       , "pre_push"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_push"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_push
+                                                       , "flush"
+                                                       , "sink_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event
+                                                       , "pre_push"
+                                                       , "src_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_event
+                                                       , "sink_event"
+                                                       , "open"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("open"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // open
+                                                       , "src_event"
+                                                       , "close"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("close"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close
+                                                       , "open"
+                                                       , "negotiate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("negotiate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // negotiate
+                                                       , "close"
+                                                       , "decide_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("decide_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // decide_allocation
+                                                       , "negotiate"
+                                                       , "propose_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("propose_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // propose_allocation
+                                                       , "decide_allocation"
+                                                       , "sink_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_query
+                                                       , "propose_allocation"
+                                                       , "src_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_query
+                                                       , "sink_query"
+                                                       , "getcaps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("getcaps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // getcaps
+                                                       , "src_query"
+                                                       , "transform_meta"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_meta"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_meta
+                                                       , "getcaps"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 16 // _gst_reserved
+                                                       , "transform_meta"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_decoder_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_decoder_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_decoder_allocate_output_buffer(IntPtr raw, UIntPtr size);
+
+               public Gst.Buffer AllocateOutputBuffer(ulong size) {
+                       IntPtr raw_ret = gst_audio_decoder_allocate_output_buffer(Handle, new UIntPtr (size));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_decoder_finish_frame(IntPtr raw, IntPtr buf, int frames);
+
+               public Gst.FlowReturn FinishFrame(Gst.Buffer buf, int frames) {
+                       int raw_ret = gst_audio_decoder_finish_frame(Handle, buf == null ? IntPtr.Zero : buf.Handle, frames);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms);
+
+               public void GetAllocator(out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       gst_audio_decoder_get_allocator(Handle, out native_allocator, native_parms);
+                       allocator = GLib.Object.GetObject(native_allocator, true) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_decoder_get_audio_info(IntPtr raw);
+
+               public Gst.Audio.AudioInfo AudioInfo { 
+                       get {
+                               IntPtr raw_ret = gst_audio_decoder_get_audio_info(Handle);
+                               Gst.Audio.AudioInfo ret = raw_ret == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Audio.AudioInfo), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_decoder_get_delay(IntPtr raw);
+
+               public int Delay { 
+                       get {
+                               int raw_ret = gst_audio_decoder_get_delay(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_decoder_get_drainable(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_drainable(IntPtr raw, bool enabled);
+
+               public bool Drainable { 
+                       get {
+                               bool raw_ret = gst_audio_decoder_get_drainable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_decoder_set_drainable(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_decoder_get_estimate_rate(IntPtr raw);
+
+               public int EstimateRate { 
+                       get {
+                               int raw_ret = gst_audio_decoder_get_estimate_rate(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_get_latency(IntPtr raw, out ulong min, out ulong max);
+
+               public void GetLatency(out ulong min, out ulong max) {
+                       gst_audio_decoder_get_latency(Handle, out min, out max);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_decoder_get_max_errors(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_max_errors(IntPtr raw, int num);
+
+               public int MaxErrors { 
+                       get {
+                               int raw_ret = gst_audio_decoder_get_max_errors(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_decoder_set_max_errors(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_decoder_get_needs_format(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_needs_format(IntPtr raw, bool enabled);
+
+               public bool NeedsFormat { 
+                       get {
+                               bool raw_ret = gst_audio_decoder_get_needs_format(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_decoder_set_needs_format(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_get_parse_state(IntPtr raw, bool sync, bool eos);
+
+               public void GetParseState(bool sync, bool eos) {
+                       gst_audio_decoder_get_parse_state(Handle, sync, eos);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_decoder_get_plc_aware(IntPtr raw);
+
+               public int PlcAware { 
+                       get {
+                               int raw_ret = gst_audio_decoder_get_plc_aware(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_merge_tags(IntPtr raw, IntPtr tags, int mode);
+
+               public void MergeTags(Gst.TagList tags, Gst.TagMergeMode mode) {
+                       gst_audio_decoder_merge_tags(Handle, tags == null ? IntPtr.Zero : tags.Handle, (int) mode);
+               }
+
+               public void MergeTags(Gst.TagMergeMode mode) {
+                       MergeTags (null, mode);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_decoder_negotiate(IntPtr raw);
+
+               public bool Negotiate() {
+                       bool raw_ret = gst_audio_decoder_negotiate(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_decoder_proxy_getcaps(IntPtr raw, IntPtr caps, IntPtr filter);
+
+               public Gst.Caps ProxyGetcaps(Gst.Caps caps, Gst.Caps filter) {
+                       IntPtr raw_ret = gst_audio_decoder_proxy_getcaps(Handle, caps == null ? IntPtr.Zero : caps.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public Gst.Caps ProxyGetcaps() {
+                       return ProxyGetcaps (null, null);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_allocation_caps(IntPtr raw, IntPtr allocation_caps);
+
+               public Gst.Caps AllocationCaps { 
+                       set {
+                               gst_audio_decoder_set_allocation_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_estimate_rate(IntPtr raw, bool enabled);
+
+               public void SetEstimateRate(bool enabled) {
+                       gst_audio_decoder_set_estimate_rate(Handle, enabled);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_latency(IntPtr raw, ulong min, ulong max);
+
+               public void SetLatency(ulong min, ulong max) {
+                       gst_audio_decoder_set_latency(Handle, min, max);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_decoder_set_output_format(IntPtr raw, IntPtr info);
+
+               public bool SetOutputFormat(Gst.Audio.AudioInfo info) {
+                       bool raw_ret = gst_audio_decoder_set_output_format(Handle, info == null ? IntPtr.Zero : info.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_plc_aware(IntPtr raw, bool plc);
+
+               public void SetPlcAware(bool plc) {
+                       gst_audio_decoder_set_plc_aware(Handle, plc);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_decoder_set_use_default_pad_acceptcaps(IntPtr raw, bool use);
+
+               public bool UseDefaultPadAcceptcaps { 
+                       set {
+                               gst_audio_decoder_set_use_default_pad_acceptcaps(Handle, value);
+                       }
+               }
+
+
+               static AudioDecoder ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "srcpad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , "sinkpad"
+                                                       , "stream_lock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stream_lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.RecMutex.ABI)) // stream_lock
+                                                       , "srcpad"
+                                                       , "input_segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioDecoder_stream_lockAlign), "stream_lock")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("input_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // input_segment
+                                                       , "stream_lock"
+                                                       , "output_segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioDecoder_input_segmentAlign), "input_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("output_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // output_segment
+                                                       , "input_segment"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioDecoder_output_segmentAlign), "output_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "output_segment"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioDecoder_stream_lockAlign
+               {
+                       sbyte f1;
+                       private GLib.RecMutex.ABI stream_lock;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioDecoder_input_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment input_segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioDecoder_output_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment output_segment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioDitherMethod.cs b/sources/generated/Gst.Audio_AudioDitherMethod.cs
new file mode 100644 (file)
index 0000000..00836f2
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioDitherMethodGType))]
+       public enum AudioDitherMethod {
+
+               None = 0,
+               Rpdf = 1,
+               Tpdf = 2,
+               TpdfHf = 3,
+       }
+
+       internal class AudioDitherMethodGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_dither_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_dither_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioDownmixMeta.cs b/sources/generated/Gst.Audio_AudioDownmixMeta.cs
new file mode 100644 (file)
index 0000000..6b9ce17
--- /dev/null
@@ -0,0 +1,61 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct AudioDownmixMeta : IEquatable<AudioDownmixMeta> {
+
+               public Gst.Meta Meta;
+               private IntPtr _from_position;
+               private IntPtr _to_position;
+               public int FromChannels;
+               public int ToChannels;
+               public float Matrix;
+
+               public static Gst.Audio.AudioDownmixMeta Zero = new Gst.Audio.AudioDownmixMeta ();
+
+               public static Gst.Audio.AudioDownmixMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Audio.AudioDownmixMeta.Zero;
+                       return (Gst.Audio.AudioDownmixMeta) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioDownmixMeta));
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_downmix_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_audio_downmix_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (AudioDownmixMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && _from_position.Equals (other._from_position) && _to_position.Equals (other._to_position) && FromChannels.Equals (other.FromChannels) && ToChannels.Equals (other.ToChannels) && Matrix.Equals (other.Matrix);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is AudioDownmixMeta && Equals ((AudioDownmixMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ _from_position.GetHashCode () ^ _to_position.GetHashCode () ^ FromChannels.GetHashCode () ^ ToChannels.GetHashCode () ^ Matrix.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioEncoder.cs b/sources/generated/Gst.Audio_AudioEncoder.cs
new file mode 100644 (file)
index 0000000..2fdb0cc
--- /dev/null
@@ -0,0 +1,1722 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioEncoder : Gst.Element, Gst.IPreset {
+
+               protected AudioEncoder (IntPtr raw) : base(raw) {}
+
+               protected AudioEncoder() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_encoder_get_hard_resync(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_hard_resync(IntPtr raw, bool enabled);
+
+               [GLib.Property ("hard-resync")]
+               public bool HardResync {
+                       get  {
+                               bool raw_ret = gst_audio_encoder_get_hard_resync(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_encoder_set_hard_resync(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_encoder_get_mark_granule(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_mark_granule(IntPtr raw, bool enabled);
+
+               [GLib.Property ("mark-granule")]
+               public bool MarkGranule {
+                       get  {
+                               bool raw_ret = gst_audio_encoder_get_mark_granule(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_encoder_set_mark_granule(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_encoder_get_perfect_timestamp(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_perfect_timestamp(IntPtr raw, bool enabled);
+
+               [GLib.Property ("perfect-timestamp")]
+               public bool PerfectTimestamp {
+                       get  {
+                               bool raw_ret = gst_audio_encoder_get_perfect_timestamp(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_encoder_set_perfect_timestamp(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_encoder_get_tolerance(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_tolerance(IntPtr raw, ulong tolerance);
+
+               [GLib.Property ("tolerance")]
+               public ulong Tolerance {
+                       get  {
+                               ulong raw_ret = gst_audio_encoder_get_tolerance(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_audio_encoder_set_tolerance(Handle, value);
+                       }
+               }
+
+               public Gst.Pad Sinkpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sinkpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public Gst.Pad Srcpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("srcpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public GLib.RecMutex StreamLock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("stream_lock"));
+                                       return new GLib.RecMutex((*raw_ptr));
+                               }
+                       }
+               }
+
+               public Gst.Segment InputSegment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("input_segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public Gst.Segment OutputSegment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("output_segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static SetFormatNativeDelegate SetFormat_cb_delegate;
+               static SetFormatNativeDelegate SetFormatVMCallback {
+                       get {
+                               if (SetFormat_cb_delegate == null)
+                                       SetFormat_cb_delegate = new SetFormatNativeDelegate (SetFormat_cb);
+                               return SetFormat_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetFormat (GLib.GType gtype)
+               {
+                       OverrideSetFormat (gtype, SetFormatVMCallback);
+               }
+
+               static void OverrideSetFormat (GLib.GType gtype, SetFormatNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_format"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetFormatNativeDelegate (IntPtr inst, IntPtr info);
+
+               static bool SetFormat_cb (IntPtr inst, IntPtr info)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnSetFormat (info == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque (info, typeof (Gst.Audio.AudioInfo), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideSetFormat")]
+               protected virtual bool OnSetFormat (Gst.Audio.AudioInfo info)
+               {
+                       return InternalSetFormat (info);
+               }
+
+               private bool InternalSetFormat (Gst.Audio.AudioInfo info)
+               {
+                       SetFormatNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_format"));
+                               unmanaged = (SetFormatNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetFormatNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, info == null ? IntPtr.Zero : info.Handle);
+                       return __result;
+               }
+
+               static HandleFrameNativeDelegate HandleFrame_cb_delegate;
+               static HandleFrameNativeDelegate HandleFrameVMCallback {
+                       get {
+                               if (HandleFrame_cb_delegate == null)
+                                       HandleFrame_cb_delegate = new HandleFrameNativeDelegate (HandleFrame_cb);
+                               return HandleFrame_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype)
+               {
+                       OverrideHandleFrame (gtype, HandleFrameVMCallback);
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype, HandleFrameNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int HandleFrameNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int HandleFrame_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnHandleFrame (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideHandleFrame")]
+               protected virtual Gst.FlowReturn OnHandleFrame (Gst.Buffer buffer)
+               {
+                       return InternalHandleFrame (buffer);
+               }
+
+               private Gst.FlowReturn InternalHandleFrame (Gst.Buffer buffer)
+               {
+                       HandleFrameNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               unmanaged = (HandleFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleFrameNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static FlushNativeDelegate Flush_cb_delegate;
+               static FlushNativeDelegate FlushVMCallback {
+                       get {
+                               if (Flush_cb_delegate == null)
+                                       Flush_cb_delegate = new FlushNativeDelegate (Flush_cb);
+                               return Flush_cb_delegate;
+                       }
+               }
+
+               static void OverrideFlush (GLib.GType gtype)
+               {
+                       OverrideFlush (gtype, FlushVMCallback);
+               }
+
+               static void OverrideFlush (GLib.GType gtype, FlushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FlushNativeDelegate (IntPtr inst);
+
+               static void Flush_cb (IntPtr inst)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               __obj.OnFlush ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideFlush")]
+               protected virtual void OnFlush ()
+               {
+                       InternalFlush ();
+               }
+
+               private void InternalFlush ()
+               {
+                       FlushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               unmanaged = (FlushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static PrePushNativeDelegate PrePush_cb_delegate;
+               static PrePushNativeDelegate PrePushVMCallback {
+                       get {
+                               if (PrePush_cb_delegate == null)
+                                       PrePush_cb_delegate = new PrePushNativeDelegate (PrePush_cb);
+                               return PrePush_cb_delegate;
+                       }
+               }
+
+               static void OverridePrePush (GLib.GType gtype)
+               {
+                       OverridePrePush (gtype, PrePushVMCallback);
+               }
+
+               static void OverridePrePush (GLib.GType gtype, PrePushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_push"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrePushNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int PrePush_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPrePush (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverridePrePush")]
+               protected virtual Gst.FlowReturn OnPrePush (Gst.Buffer buffer)
+               {
+                       return InternalPrePush (buffer);
+               }
+
+               private Gst.FlowReturn InternalPrePush (Gst.Buffer buffer)
+               {
+                       PrePushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_push"));
+                               unmanaged = (PrePushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrePushNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SinkEventNativeDelegate SinkEvent_cb_delegate;
+               static SinkEventNativeDelegate SinkEventVMCallback {
+                       get {
+                               if (SinkEvent_cb_delegate == null)
+                                       SinkEvent_cb_delegate = new SinkEventNativeDelegate (SinkEvent_cb);
+                               return SinkEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype)
+               {
+                       OverrideSinkEvent (gtype, SinkEventVMCallback);
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype, SinkEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SinkEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnSinkEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideSinkEvent")]
+               protected virtual bool OnSinkEvent (Gst.Event evnt)
+               {
+                       return InternalSinkEvent (evnt);
+               }
+
+               private bool InternalSinkEvent (Gst.Event evnt)
+               {
+                       SinkEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               unmanaged = (SinkEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SrcEventNativeDelegate SrcEvent_cb_delegate;
+               static SrcEventNativeDelegate SrcEventVMCallback {
+                       get {
+                               if (SrcEvent_cb_delegate == null)
+                                       SrcEvent_cb_delegate = new SrcEventNativeDelegate (SrcEvent_cb);
+                               return SrcEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype)
+               {
+                       OverrideSrcEvent (gtype, SrcEventVMCallback);
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype, SrcEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SrcEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnSrcEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideSrcEvent")]
+               protected virtual bool OnSrcEvent (Gst.Event evnt)
+               {
+                       return InternalSrcEvent (evnt);
+               }
+
+               private bool InternalSrcEvent (Gst.Event evnt)
+               {
+                       SrcEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               unmanaged = (SrcEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static GetcapsNativeDelegate Getcaps_cb_delegate;
+               static GetcapsNativeDelegate GetcapsVMCallback {
+                       get {
+                               if (Getcaps_cb_delegate == null)
+                                       Getcaps_cb_delegate = new GetcapsNativeDelegate (Getcaps_cb);
+                               return Getcaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetcaps (GLib.GType gtype)
+               {
+                       OverrideGetcaps (gtype, GetcapsVMCallback);
+               }
+
+               static void OverrideGetcaps (GLib.GType gtype, GetcapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("getcaps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetcapsNativeDelegate (IntPtr inst, IntPtr filter);
+
+               static IntPtr Getcaps_cb (IntPtr inst, IntPtr filter)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               Gst.Caps __result;
+                               __result = __obj.OnGetcaps (filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideGetcaps")]
+               protected virtual Gst.Caps OnGetcaps (Gst.Caps filter)
+               {
+                       return InternalGetcaps (filter);
+               }
+
+               private Gst.Caps InternalGetcaps (Gst.Caps filter)
+               {
+                       GetcapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("getcaps"));
+                               unmanaged = (GetcapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetcapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static OpenNativeDelegate Open_cb_delegate;
+               static OpenNativeDelegate OpenVMCallback {
+                       get {
+                               if (Open_cb_delegate == null)
+                                       Open_cb_delegate = new OpenNativeDelegate (Open_cb);
+                               return Open_cb_delegate;
+                       }
+               }
+
+               static void OverrideOpen (GLib.GType gtype)
+               {
+                       OverrideOpen (gtype, OpenVMCallback);
+               }
+
+               static void OverrideOpen (GLib.GType gtype, OpenNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool OpenNativeDelegate (IntPtr inst);
+
+               static bool Open_cb (IntPtr inst)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnOpen ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideOpen")]
+               protected virtual bool OnOpen ()
+               {
+                       return InternalOpen ();
+               }
+
+               private bool InternalOpen ()
+               {
+                       OpenNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               unmanaged = (OpenNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static CloseNativeDelegate Close_cb_delegate;
+               static CloseNativeDelegate CloseVMCallback {
+                       get {
+                               if (Close_cb_delegate == null)
+                                       Close_cb_delegate = new CloseNativeDelegate (Close_cb);
+                               return Close_cb_delegate;
+                       }
+               }
+
+               static void OverrideClose (GLib.GType gtype)
+               {
+                       OverrideClose (gtype, CloseVMCallback);
+               }
+
+               static void OverrideClose (GLib.GType gtype, CloseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CloseNativeDelegate (IntPtr inst);
+
+               static bool Close_cb (IntPtr inst)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnClose ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideClose")]
+               protected virtual bool OnClose ()
+               {
+                       return InternalClose ();
+               }
+
+               private bool InternalClose ()
+               {
+                       CloseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               unmanaged = (CloseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static NegotiateNativeDelegate Negotiate_cb_delegate;
+               static NegotiateNativeDelegate NegotiateVMCallback {
+                       get {
+                               if (Negotiate_cb_delegate == null)
+                                       Negotiate_cb_delegate = new NegotiateNativeDelegate (Negotiate_cb);
+                               return Negotiate_cb_delegate;
+                       }
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype)
+               {
+                       OverrideNegotiate (gtype, NegotiateVMCallback);
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype, NegotiateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool NegotiateNativeDelegate (IntPtr inst);
+
+               static bool Negotiate_cb (IntPtr inst)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnNegotiate ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideNegotiate")]
+               protected virtual bool OnNegotiate ()
+               {
+                       return InternalNegotiate ();
+               }
+
+               private bool InternalNegotiate ()
+               {
+                       NegotiateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               unmanaged = (NegotiateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NegotiateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static DecideAllocationNativeDelegate DecideAllocation_cb_delegate;
+               static DecideAllocationNativeDelegate DecideAllocationVMCallback {
+                       get {
+                               if (DecideAllocation_cb_delegate == null)
+                                       DecideAllocation_cb_delegate = new DecideAllocationNativeDelegate (DecideAllocation_cb);
+                               return DecideAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype)
+               {
+                       OverrideDecideAllocation (gtype, DecideAllocationVMCallback);
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype, DecideAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DecideAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool DecideAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnDecideAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideDecideAllocation")]
+               protected virtual bool OnDecideAllocation (Gst.Query query)
+               {
+                       return InternalDecideAllocation (query);
+               }
+
+               private bool InternalDecideAllocation (Gst.Query query)
+               {
+                       DecideAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               unmanaged = (DecideAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DecideAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static ProposeAllocationNativeDelegate ProposeAllocation_cb_delegate;
+               static ProposeAllocationNativeDelegate ProposeAllocationVMCallback {
+                       get {
+                               if (ProposeAllocation_cb_delegate == null)
+                                       ProposeAllocation_cb_delegate = new ProposeAllocationNativeDelegate (ProposeAllocation_cb);
+                               return ProposeAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype)
+               {
+                       OverrideProposeAllocation (gtype, ProposeAllocationVMCallback);
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype, ProposeAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ProposeAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool ProposeAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnProposeAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideProposeAllocation")]
+               protected virtual bool OnProposeAllocation (Gst.Query query)
+               {
+                       return InternalProposeAllocation (query);
+               }
+
+               private bool InternalProposeAllocation (Gst.Query query)
+               {
+                       ProposeAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               unmanaged = (ProposeAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProposeAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static TransformMetaNativeDelegate TransformMeta_cb_delegate;
+               static TransformMetaNativeDelegate TransformMetaVMCallback {
+                       get {
+                               if (TransformMeta_cb_delegate == null)
+                                       TransformMeta_cb_delegate = new TransformMetaNativeDelegate (TransformMeta_cb);
+                               return TransformMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype)
+               {
+                       OverrideTransformMeta (gtype, TransformMetaVMCallback);
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype, TransformMetaNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool TransformMetaNativeDelegate (IntPtr inst, IntPtr outbuf, IntPtr meta, IntPtr inbuf);
+
+               static bool TransformMeta_cb (IntPtr inst, IntPtr outbuf, IntPtr meta, IntPtr inbuf)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnTransformMeta (outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuf, typeof (Gst.Buffer), false), Gst.Meta.New (meta), inbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (inbuf, typeof (Gst.Buffer), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideTransformMeta")]
+               protected virtual bool OnTransformMeta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf)
+               {
+                       return InternalTransformMeta (outbuf, meta, inbuf);
+               }
+
+               private bool InternalTransformMeta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf)
+               {
+                       TransformMetaNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               unmanaged = (TransformMetaNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformMetaNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = unmanaged (this.Handle, outbuf == null ? IntPtr.Zero : outbuf.Handle, native_meta, inbuf == null ? IntPtr.Zero : inbuf.Handle);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+
+               static SinkQueryNativeDelegate SinkQuery_cb_delegate;
+               static SinkQueryNativeDelegate SinkQueryVMCallback {
+                       get {
+                               if (SinkQuery_cb_delegate == null)
+                                       SinkQuery_cb_delegate = new SinkQueryNativeDelegate (SinkQuery_cb);
+                               return SinkQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype)
+               {
+                       OverrideSinkQuery (gtype, SinkQueryVMCallback);
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype, SinkQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SinkQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnSinkQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideSinkQuery")]
+               protected virtual bool OnSinkQuery (Gst.Query query)
+               {
+                       return InternalSinkQuery (query);
+               }
+
+               private bool InternalSinkQuery (Gst.Query query)
+               {
+                       SinkQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               unmanaged = (SinkQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static SrcQueryNativeDelegate SrcQuery_cb_delegate;
+               static SrcQueryNativeDelegate SrcQueryVMCallback {
+                       get {
+                               if (SrcQuery_cb_delegate == null)
+                                       SrcQuery_cb_delegate = new SrcQueryNativeDelegate (SrcQuery_cb);
+                               return SrcQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype)
+               {
+                       OverrideSrcQuery (gtype, SrcQueryVMCallback);
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype, SrcQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SrcQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioEncoder __obj = GLib.Object.GetObject (inst, false) as AudioEncoder;
+                               bool __result;
+                               __result = __obj.OnSrcQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioEncoder), ConnectionMethod="OverrideSrcQuery")]
+               protected virtual bool OnSrcQuery (Gst.Query query)
+               {
+                       return InternalSrcQuery (query);
+               }
+
+               private bool InternalSrcQuery (Gst.Query query)
+               {
+                       SrcQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               unmanaged = (SrcQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("start"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , null
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "set_format"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_format"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_format
+                                                       , "stop"
+                                                       , "handle_frame"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_frame"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_frame
+                                                       , "set_format"
+                                                       , "flush"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flush"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush
+                                                       , "handle_frame"
+                                                       , "pre_push"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_push"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_push
+                                                       , "flush"
+                                                       , "sink_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event
+                                                       , "pre_push"
+                                                       , "src_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_event
+                                                       , "sink_event"
+                                                       , "getcaps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("getcaps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // getcaps
+                                                       , "src_event"
+                                                       , "open"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("open"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // open
+                                                       , "getcaps"
+                                                       , "close"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("close"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close
+                                                       , "open"
+                                                       , "negotiate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("negotiate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // negotiate
+                                                       , "close"
+                                                       , "decide_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("decide_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // decide_allocation
+                                                       , "negotiate"
+                                                       , "propose_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("propose_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // propose_allocation
+                                                       , "decide_allocation"
+                                                       , "transform_meta"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_meta"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_meta
+                                                       , "propose_allocation"
+                                                       , "sink_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_query
+                                                       , "transform_meta"
+                                                       , "src_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_query
+                                                       , "sink_query"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 17 // _gst_reserved
+                                                       , "src_query"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_encoder_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_encoder_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_encoder_allocate_output_buffer(IntPtr raw, UIntPtr size);
+
+               public Gst.Buffer AllocateOutputBuffer(ulong size) {
+                       IntPtr raw_ret = gst_audio_encoder_allocate_output_buffer(Handle, new UIntPtr (size));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_encoder_finish_frame(IntPtr raw, IntPtr buffer, int samples);
+
+               public Gst.FlowReturn FinishFrame(Gst.Buffer buffer, int samples) {
+                       int raw_ret = gst_audio_encoder_finish_frame(Handle, buffer == null ? IntPtr.Zero : buffer.Handle, samples);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms);
+
+               public void GetAllocator(out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       gst_audio_encoder_get_allocator(Handle, out native_allocator, native_parms);
+                       allocator = GLib.Object.GetObject(native_allocator, true) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_encoder_get_audio_info(IntPtr raw);
+
+               public Gst.Audio.AudioInfo AudioInfo { 
+                       get {
+                               IntPtr raw_ret = gst_audio_encoder_get_audio_info(Handle);
+                               Gst.Audio.AudioInfo ret = raw_ret == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Audio.AudioInfo), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_encoder_get_drainable(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_drainable(IntPtr raw, bool enabled);
+
+               public bool Drainable { 
+                       get {
+                               bool raw_ret = gst_audio_encoder_get_drainable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_encoder_set_drainable(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_encoder_get_frame_max(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_frame_max(IntPtr raw, int num);
+
+               public int FrameMax { 
+                       get {
+                               int raw_ret = gst_audio_encoder_get_frame_max(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_encoder_set_frame_max(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_encoder_get_frame_samples_max(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_frame_samples_max(IntPtr raw, int num);
+
+               public int FrameSamplesMax { 
+                       get {
+                               int raw_ret = gst_audio_encoder_get_frame_samples_max(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_encoder_set_frame_samples_max(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_encoder_get_frame_samples_min(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_frame_samples_min(IntPtr raw, int num);
+
+               public int FrameSamplesMin { 
+                       get {
+                               int raw_ret = gst_audio_encoder_get_frame_samples_min(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_encoder_set_frame_samples_min(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_encoder_get_hard_min(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_hard_min(IntPtr raw, bool enabled);
+
+               public bool HardMin { 
+                       get {
+                               bool raw_ret = gst_audio_encoder_get_hard_min(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_encoder_set_hard_min(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_get_latency(IntPtr raw, out ulong min, out ulong max);
+
+               public void GetLatency(out ulong min, out ulong max) {
+                       gst_audio_encoder_get_latency(Handle, out min, out max);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_encoder_get_lookahead(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_lookahead(IntPtr raw, int num);
+
+               public int Lookahead { 
+                       get {
+                               int raw_ret = gst_audio_encoder_get_lookahead(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_audio_encoder_set_lookahead(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_merge_tags(IntPtr raw, IntPtr tags, int mode);
+
+               public void MergeTags(Gst.TagList tags, Gst.TagMergeMode mode) {
+                       gst_audio_encoder_merge_tags(Handle, tags == null ? IntPtr.Zero : tags.Handle, (int) mode);
+               }
+
+               public void MergeTags(Gst.TagMergeMode mode) {
+                       MergeTags (null, mode);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_encoder_negotiate(IntPtr raw);
+
+               public bool Negotiate() {
+                       bool raw_ret = gst_audio_encoder_negotiate(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_encoder_proxy_getcaps(IntPtr raw, IntPtr caps, IntPtr filter);
+
+               public Gst.Caps ProxyGetcaps(Gst.Caps caps, Gst.Caps filter) {
+                       IntPtr raw_ret = gst_audio_encoder_proxy_getcaps(Handle, caps == null ? IntPtr.Zero : caps.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public Gst.Caps ProxyGetcaps() {
+                       return ProxyGetcaps (null, null);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_allocation_caps(IntPtr raw, IntPtr allocation_caps);
+
+               public Gst.Caps AllocationCaps { 
+                       set {
+                               gst_audio_encoder_set_allocation_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_headers(IntPtr raw, IntPtr headers);
+
+               public GLib.List Headers { 
+                       set {
+                               gst_audio_encoder_set_headers(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_encoder_set_latency(IntPtr raw, ulong min, ulong max);
+
+               public void SetLatency(ulong min, ulong max) {
+                       gst_audio_encoder_set_latency(Handle, min, max);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_encoder_set_output_format(IntPtr raw, IntPtr caps);
+
+               public bool SetOutputFormat(Gst.Caps caps) {
+                       bool raw_ret = gst_audio_encoder_set_output_format(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_delete_preset(IntPtr raw, IntPtr name);
+
+               public bool DeletePreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_delete_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_get_meta(IntPtr raw, IntPtr name, IntPtr tag, out IntPtr value);
+
+               public bool GetMeta(string name, string tag, out string value) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_preset_get_meta(Handle, native_name, native_tag, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_tag);
+                       value = GLib.Marshaller.PtrToStringGFree(native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_preset_names(IntPtr raw);
+
+               public string[] PresetNames { 
+                       get {
+                               IntPtr raw_ret = gst_preset_get_preset_names(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_property_names(IntPtr raw);
+
+               public string[] PropertyNames { 
+                       get {
+                               IntPtr raw_ret = gst_preset_get_property_names(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_is_editable(IntPtr raw);
+
+               public bool IsEditable { 
+                       get {
+                               bool raw_ret = gst_preset_is_editable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_load_preset(IntPtr raw, IntPtr name);
+
+               public bool LoadPreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_load_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_rename_preset(IntPtr raw, IntPtr old_name, IntPtr new_name);
+
+               public bool RenamePreset(string old_name, string new_name) {
+                       IntPtr native_old_name = GLib.Marshaller.StringToPtrGStrdup (old_name);
+                       IntPtr native_new_name = GLib.Marshaller.StringToPtrGStrdup (new_name);
+                       bool raw_ret = gst_preset_rename_preset(Handle, native_old_name, native_new_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_old_name);
+                       GLib.Marshaller.Free (native_new_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_save_preset(IntPtr raw, IntPtr name);
+
+               public bool SavePreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_save_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_set_meta(IntPtr raw, IntPtr name, IntPtr tag, IntPtr value);
+
+               public bool SetMeta(string name, string tag, string value) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = gst_preset_set_meta(Handle, native_name, native_tag, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_tag);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string name, string tag) {
+                       return SetMeta (name, tag, null);
+               }
+
+
+               static AudioEncoder ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "srcpad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , "sinkpad"
+                                                       , "stream_lock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stream_lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.RecMutex.ABI)) // stream_lock
+                                                       , "srcpad"
+                                                       , "input_segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioEncoder_stream_lockAlign), "stream_lock")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("input_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // input_segment
+                                                       , "stream_lock"
+                                                       , "output_segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioEncoder_input_segmentAlign), "input_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("output_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // output_segment
+                                                       , "input_segment"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioEncoder_output_segmentAlign), "output_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "output_segment"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioEncoder_stream_lockAlign
+               {
+                       sbyte f1;
+                       private GLib.RecMutex.ABI stream_lock;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioEncoder_input_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment input_segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioEncoder_output_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment output_segment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioFilter.cs b/sources/generated/Gst.Audio_AudioFilter.cs
new file mode 100644 (file)
index 0000000..fb6bc4c
--- /dev/null
@@ -0,0 +1,177 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioFilter : Gst.Base.BaseTransform {
+
+               protected AudioFilter (IntPtr raw) : base(raw) {}
+
+               protected AudioFilter() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public Gst.Audio.AudioInfo Info {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("info"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Audio.AudioInfo), false);
+                               }
+                       }
+               }
+
+               static SetupNativeDelegate Setup_cb_delegate;
+               static SetupNativeDelegate SetupVMCallback {
+                       get {
+                               if (Setup_cb_delegate == null)
+                                       Setup_cb_delegate = new SetupNativeDelegate (Setup_cb);
+                               return Setup_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetup (GLib.GType gtype)
+               {
+                       OverrideSetup (gtype, SetupVMCallback);
+               }
+
+               static void OverrideSetup (GLib.GType gtype, SetupNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("setup"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetupNativeDelegate (IntPtr inst, IntPtr info);
+
+               static bool Setup_cb (IntPtr inst, IntPtr info)
+               {
+                       try {
+                               AudioFilter __obj = GLib.Object.GetObject (inst, false) as AudioFilter;
+                               bool __result;
+                               __result = __obj.OnSetup (info == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque (info, typeof (Gst.Audio.AudioInfo), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioFilter), ConnectionMethod="OverrideSetup")]
+               protected virtual bool OnSetup (Gst.Audio.AudioInfo info)
+               {
+                       return InternalSetup (info);
+               }
+
+               private bool InternalSetup (Gst.Audio.AudioInfo info)
+               {
+                       SetupNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("setup"));
+                               unmanaged = (SetupNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetupNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, info == null ? IntPtr.Zero : info.Handle);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("setup"
+                                                       , Gst.Base.BaseTransform.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // setup
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "setup"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_filter_class_add_pad_templates(IntPtr allowed_caps);
+
+               public static void AddAudioPadTemplate(Gst.Caps allowed_caps) {
+                       gst_audio_filter_class_add_pad_templates(allowed_caps == null ? IntPtr.Zero : allowed_caps.Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_filter_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_filter_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static AudioFilter ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("info"
+                                                       , Gst.Base.BaseTransform.abi_info.Fields
+                                                       , Gst.Audio.AudioInfo.abi_info.Size // info
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , Gst.Audio.AudioInfo.abi_info.Align
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "info"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioFlags.cs b/sources/generated/Gst.Audio_AudioFlags.cs
new file mode 100644 (file)
index 0000000..bd5de2d
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Audio.AudioFlagsGType))]
+       public enum AudioFlags {
+
+               None = 0,
+               Unpositioned = 1,
+       }
+
+       internal class AudioFlagsGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioFormat.cs b/sources/generated/Gst.Audio_AudioFormat.cs
new file mode 100644 (file)
index 0000000..2f8b0bd
--- /dev/null
@@ -0,0 +1,72 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioFormatGType))]
+       public enum AudioFormat {
+
+               Unknown = 0,
+               Encoded = 1,
+               S8 = 2,
+               U8 = 3,
+               S16le = 4,
+               S16 = 4,
+               S16be = 5,
+               U16le = 6,
+               U16 = 6,
+               U16be = 7,
+               S2432le = 8,
+               S2432 = 8,
+               S2432be = 9,
+               U2432le = 10,
+               U2432 = 10,
+               U2432be = 11,
+               S32le = 12,
+               S32 = 12,
+               S32be = 13,
+               U32le = 14,
+               U32 = 14,
+               U32be = 15,
+               S24le = 16,
+               S24 = 16,
+               S24be = 17,
+               U24le = 18,
+               U24 = 18,
+               U24be = 19,
+               S20le = 20,
+               S20 = 20,
+               S20be = 21,
+               U20le = 22,
+               U20 = 22,
+               U20be = 23,
+               S18le = 24,
+               S18 = 24,
+               S18be = 25,
+               U18le = 26,
+               U18 = 26,
+               U18be = 27,
+               F32le = 28,
+               F32 = 28,
+               F32be = 29,
+               F64le = 30,
+               F64 = 30,
+               F64be = 31,
+       }
+
+       internal class AudioFormatGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_format_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_format_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioFormatFlags.cs b/sources/generated/Gst.Audio_AudioFormatFlags.cs
new file mode 100644 (file)
index 0000000..57bb4e2
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Audio.AudioFormatFlagsGType))]
+       public enum AudioFormatFlags {
+
+               Integer = 1,
+               Float = 2,
+               Signed = 4,
+               Complex = 16,
+               Unpack = 32,
+       }
+
+       internal class AudioFormatFlagsGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_format_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_format_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioFormatInfo.cs b/sources/generated/Gst.Audio_AudioFormatInfo.cs
new file mode 100644 (file)
index 0000000..51e5784
--- /dev/null
@@ -0,0 +1,68 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct AudioFormatInfo : IEquatable<AudioFormatInfo> {
+
+               public Gst.Audio.AudioFormat Format;
+               public string Name;
+               public string Description;
+               public Gst.Audio.AudioFormatFlags Flags;
+               public int Endianness;
+               public int Width;
+               public int Depth;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=8)]
+               public byte[] Silence;
+               public Gst.Audio.AudioFormat UnpackFormat;
+               private Gst.AudioSharp.AudioFormatUnpackNative _unpack_func;
+               public Gst.Audio.AudioFormatUnpack UnpackFunc {
+                       get {
+                               return Gst.AudioSharp.AudioFormatUnpackWrapper.GetManagedDelegate (_unpack_func);
+                       }
+               }
+               private Gst.AudioSharp.AudioFormatPackNative _pack_func;
+               public Gst.Audio.AudioFormatPack PackFunc {
+                       get {
+                               return Gst.AudioSharp.AudioFormatPackWrapper.GetManagedDelegate (_pack_func);
+                       }
+               }
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Audio.AudioFormatInfo Zero = new Gst.Audio.AudioFormatInfo ();
+
+               public static Gst.Audio.AudioFormatInfo New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Audio.AudioFormatInfo.Zero;
+                       return (Gst.Audio.AudioFormatInfo) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioFormatInfo));
+               }
+
+               public bool Equals (AudioFormatInfo other)
+               {
+                       return true && Format.Equals (other.Format) && Name.Equals (other.Name) && Description.Equals (other.Description) && Flags.Equals (other.Flags) && Endianness.Equals (other.Endianness) && Width.Equals (other.Width) && Depth.Equals (other.Depth) && Silence.Equals (other.Silence) && UnpackFormat.Equals (other.UnpackFormat) && UnpackFunc.Equals (other.UnpackFunc) && PackFunc.Equals (other.PackFunc);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is AudioFormatInfo && Equals ((AudioFormatInfo) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Format.GetHashCode () ^ Name.GetHashCode () ^ Description.GetHashCode () ^ Flags.GetHashCode () ^ Endianness.GetHashCode () ^ Width.GetHashCode () ^ Depth.GetHashCode () ^ Silence.GetHashCode () ^ UnpackFormat.GetHashCode () ^ UnpackFunc.GetHashCode () ^ PackFunc.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioFormatPack.cs b/sources/generated/Gst.Audio_AudioFormatPack.cs
new file mode 100644 (file)
index 0000000..bd45f25
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+
+       public delegate void AudioFormatPack(Gst.Audio.AudioFormatInfo info, Gst.Audio.AudioPackFlags flags, byte[] src, byte[] data);
+
+}
diff --git a/sources/generated/Gst.Audio_AudioFormatUnpack.cs b/sources/generated/Gst.Audio_AudioFormatUnpack.cs
new file mode 100644 (file)
index 0000000..9623e5b
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+
+       public delegate void AudioFormatUnpack(Gst.Audio.AudioFormatInfo info, Gst.Audio.AudioPackFlags flags, byte[] dest, byte[] data);
+
+}
diff --git a/sources/generated/Gst.Audio_AudioInfo.cs b/sources/generated/Gst.Audio_AudioInfo.cs
new file mode 100644 (file)
index 0000000..62977c4
--- /dev/null
@@ -0,0 +1,340 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioInfo : GLib.Opaque {
+
+               public Gst.Audio.AudioFormatInfo Finfo {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("finfo"));
+                                       return Gst.Audio.AudioFormatInfo.New ((*raw_ptr));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("finfo"));
+                                       *raw_ptr = GLib.Marshaller.StructureToPtrAlloc (value);
+                               }
+                       }
+               }
+
+               public Gst.Audio.AudioFlags Flags {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       return (Gst.Audio.AudioFlags) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public Gst.Audio.AudioLayout Layout {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("layout"));
+                                       return (Gst.Audio.AudioLayout) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("layout"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public int Rate {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("rate"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("rate"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int Channels {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("channels"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("channels"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int Bpf {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("bpf"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("bpf"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_info_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_info_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_info_convert(IntPtr raw, int src_fmt, long src_val, int dest_fmt, long dest_val);
+
+               public bool Convert(Gst.Format src_fmt, long src_val, Gst.Format dest_fmt, long dest_val) {
+                       bool raw_ret = gst_audio_info_convert(Handle, (int) src_fmt, src_val, (int) dest_fmt, dest_val);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_info_copy(IntPtr raw);
+
+               public Gst.Audio.AudioInfo Copy() {
+                       IntPtr raw_ret = gst_audio_info_copy(Handle);
+                       Gst.Audio.AudioInfo ret = raw_ret == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Audio.AudioInfo), true);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_info_from_caps(IntPtr raw, IntPtr caps);
+
+               public bool FromCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_audio_info_from_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_info_init(IntPtr raw);
+
+               public void Init() {
+                       gst_audio_info_init(Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_info_is_equal(IntPtr raw, IntPtr other);
+
+               public bool IsEqual(Gst.Audio.AudioInfo other) {
+                       bool raw_ret = gst_audio_info_is_equal(Handle, other == null ? IntPtr.Zero : other.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_info_set_format(IntPtr raw, int format, int rate, int channels, int position);
+
+               public void SetFormat(Gst.Audio.AudioFormat format, int rate, int channels, Gst.Audio.AudioChannelPosition position) {
+                       gst_audio_info_set_format(Handle, (int) format, rate, channels, (int) position);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_info_to_caps(IntPtr raw);
+
+               public Gst.Caps ToCaps() {
+                       IntPtr raw_ret = gst_audio_info_to_caps(Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public AudioInfo(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_info_new();
+
+               public AudioInfo () 
+               {
+                       Raw = gst_audio_info_new();
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_info_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_audio_info_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_audio_info_free (handle);
+                               return false;
+                       }
+               }
+
+               ~AudioInfo ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("finfo"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // finfo
+                                                       , null
+                                                       , "flags"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flags"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Audio.AudioFlags))) // flags
+                                                       , "finfo"
+                                                       , "layout"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioInfo_flagsAlign), "flags")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("layout"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Audio.AudioLayout))) // layout
+                                                       , "flags"
+                                                       , "rate"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioInfo_layoutAlign), "layout")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("rate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // rate
+                                                       , "layout"
+                                                       , "channels"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioInfo_rateAlign), "rate")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("channels"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // channels
+                                                       , "rate"
+                                                       , "bpf"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioInfo_channelsAlign), "channels")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("bpf"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // bpf
+                                                       , "channels"
+                                                       , "position"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioInfo_bpfAlign), "bpf")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("position"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Audio.AudioChannelPosition))) * 64 // position
+                                                       , "bpf"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioInfo_positionAlign), "position")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "position"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioInfo_flagsAlign
+               {
+                       sbyte f1;
+                       private Gst.Audio.AudioFlags flags;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioInfo_layoutAlign
+               {
+                       sbyte f1;
+                       private Gst.Audio.AudioLayout layout;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioInfo_rateAlign
+               {
+                       sbyte f1;
+                       private int rate;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioInfo_channelsAlign
+               {
+                       sbyte f1;
+                       private int channels;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioInfo_bpfAlign
+               {
+                       sbyte f1;
+                       private int bpf;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioInfo_positionAlign
+               {
+                       sbyte f1;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=64)]
+                       private Gst.Audio.AudioChannelPosition[] position;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioLayout.cs b/sources/generated/Gst.Audio_AudioLayout.cs
new file mode 100644 (file)
index 0000000..e47170f
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioLayoutGType))]
+       public enum AudioLayout {
+
+               Interleaved = 0,
+               NonInterleaved = 1,
+       }
+
+       internal class AudioLayoutGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_layout_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_layout_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioNoiseShapingMethod.cs b/sources/generated/Gst.Audio_AudioNoiseShapingMethod.cs
new file mode 100644 (file)
index 0000000..464b032
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioNoiseShapingMethodGType))]
+       public enum AudioNoiseShapingMethod {
+
+               None = 0,
+               ErrorFeedback = 1,
+               Simple = 2,
+               Medium = 3,
+               High = 4,
+       }
+
+       internal class AudioNoiseShapingMethodGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_noise_shaping_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_noise_shaping_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioPackFlags.cs b/sources/generated/Gst.Audio_AudioPackFlags.cs
new file mode 100644 (file)
index 0000000..a0bc83b
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Audio.AudioPackFlagsGType))]
+       public enum AudioPackFlags {
+
+               None = 0,
+               TruncateRange = 1,
+       }
+
+       internal class AudioPackFlagsGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_pack_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_pack_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioQuantize.cs b/sources/generated/Gst.Audio_AudioQuantize.cs
new file mode 100644 (file)
index 0000000..a64390a
--- /dev/null
@@ -0,0 +1,83 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioQuantize : GLib.Opaque {
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_quantize_reset(IntPtr raw);
+
+               public void Reset() {
+                       gst_audio_quantize_reset(Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_quantize_samples(IntPtr raw, IntPtr in_param, IntPtr out_param, uint samples);
+
+               public void Samples(IntPtr in_param, IntPtr out_param, uint samples) {
+                       gst_audio_quantize_samples(Handle, in_param, out_param, samples);
+               }
+
+               public void Samples(uint samples) {
+                       Samples (IntPtr.Zero, IntPtr.Zero, samples);
+               }
+
+               public AudioQuantize(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_quantize_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_audio_quantize_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_audio_quantize_free (handle);
+                               return false;
+                       }
+               }
+
+               ~AudioQuantize ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioQuantizeFlags.cs b/sources/generated/Gst.Audio_AudioQuantizeFlags.cs
new file mode 100644 (file)
index 0000000..ca9d861
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Audio.AudioQuantizeFlagsGType))]
+       public enum AudioQuantizeFlags {
+
+               None = 0,
+               NonInterleaved = 1,
+       }
+
+       internal class AudioQuantizeFlagsGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_quantize_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_quantize_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioResampler.cs b/sources/generated/Gst.Audio_AudioResampler.cs
new file mode 100644 (file)
index 0000000..09f3213
--- /dev/null
@@ -0,0 +1,137 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioResampler : GLib.Opaque {
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_audio_resampler_get_in_frames(IntPtr raw, UIntPtr out_frames);
+
+               public ulong GetInFrames(ulong out_frames) {
+                       UIntPtr raw_ret = gst_audio_resampler_get_in_frames(Handle, new UIntPtr (out_frames));
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_audio_resampler_get_max_latency(IntPtr raw);
+
+               public ulong MaxLatency { 
+                       get {
+                               UIntPtr raw_ret = gst_audio_resampler_get_max_latency(Handle);
+                               ulong ret = (ulong) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_audio_resampler_get_out_frames(IntPtr raw, UIntPtr in_frames);
+
+               public ulong GetOutFrames(ulong in_frames) {
+                       UIntPtr raw_ret = gst_audio_resampler_get_out_frames(Handle, new UIntPtr (in_frames));
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_resampler_resample(IntPtr raw, IntPtr in_param, UIntPtr in_frames, IntPtr out_param, UIntPtr out_frames);
+
+               public void Resample(IntPtr in_param, ulong in_frames, IntPtr out_param, ulong out_frames) {
+                       gst_audio_resampler_resample(Handle, in_param, new UIntPtr (in_frames), out_param, new UIntPtr (out_frames));
+               }
+
+               public void Resample(ulong in_frames, ulong out_frames) {
+                       Resample (IntPtr.Zero, in_frames, IntPtr.Zero, out_frames);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_resampler_reset(IntPtr raw);
+
+               public void Reset() {
+                       gst_audio_resampler_reset(Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_resampler_update(IntPtr raw, int in_rate, int out_rate, IntPtr options);
+
+               public bool Update(int in_rate, int out_rate, Gst.Structure options) {
+                       bool raw_ret = gst_audio_resampler_update(Handle, in_rate, out_rate, options == null ? IntPtr.Zero : options.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_resampler_new(int method, int flags, int format, int channels, int in_rate, int out_rate, IntPtr options);
+
+               public static Gst.Audio.AudioResampler New(Gst.Audio.AudioResamplerMethod method, Gst.Audio.AudioResamplerFlags flags, Gst.Audio.AudioFormat format, int channels, int in_rate, int out_rate, Gst.Structure options) {
+                       IntPtr raw_ret = gst_audio_resampler_new((int) method, (int) flags, (int) format, channels, in_rate, out_rate, options == null ? IntPtr.Zero : options.Handle);
+                       Gst.Audio.AudioResampler ret = raw_ret == IntPtr.Zero ? null : (Gst.Audio.AudioResampler) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Audio.AudioResampler), true);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_resampler_options_set_quality(int method, uint quality, int in_rate, int out_rate, IntPtr options);
+
+               public static void OptionsSetQuality(Gst.Audio.AudioResamplerMethod method, uint quality, int in_rate, int out_rate, Gst.Structure options) {
+                       gst_audio_resampler_options_set_quality((int) method, quality, in_rate, out_rate, options == null ? IntPtr.Zero : options.Handle);
+               }
+
+               public AudioResampler(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_resampler_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_audio_resampler_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_audio_resampler_free (handle);
+                               return false;
+                       }
+               }
+
+               ~AudioResampler ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioResamplerFilterInterpolation.cs b/sources/generated/Gst.Audio_AudioResamplerFilterInterpolation.cs
new file mode 100644 (file)
index 0000000..1e3d258
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioResamplerFilterInterpolationGType))]
+       public enum AudioResamplerFilterInterpolation {
+
+               None = 0,
+               Linear = 1,
+               Cubic = 2,
+       }
+
+       internal class AudioResamplerFilterInterpolationGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_resampler_filter_interpolation_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_resampler_filter_interpolation_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioResamplerFilterMode.cs b/sources/generated/Gst.Audio_AudioResamplerFilterMode.cs
new file mode 100644 (file)
index 0000000..dd7d1a0
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioResamplerFilterModeGType))]
+       public enum AudioResamplerFilterMode {
+
+               Interpolated = 0,
+               Full = 1,
+               Auto = 2,
+       }
+
+       internal class AudioResamplerFilterModeGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_resampler_filter_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_resampler_filter_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioResamplerFlags.cs b/sources/generated/Gst.Audio_AudioResamplerFlags.cs
new file mode 100644 (file)
index 0000000..5cdc368
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Audio.AudioResamplerFlagsGType))]
+       public enum AudioResamplerFlags {
+
+               None = 0,
+               NonInterleavedIn = 1,
+               NonInterleavedOut = 2,
+               VariableRate = 4,
+       }
+
+       internal class AudioResamplerFlagsGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_resampler_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_resampler_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioResamplerMethod.cs b/sources/generated/Gst.Audio_AudioResamplerMethod.cs
new file mode 100644 (file)
index 0000000..5926c7e
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioResamplerMethodGType))]
+       public enum AudioResamplerMethod {
+
+               Nearest = 0,
+               Linear = 1,
+               Cubic = 2,
+               BlackmanNuttall = 3,
+               Kaiser = 4,
+       }
+
+       internal class AudioResamplerMethodGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_resampler_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_resampler_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioRingBuffer.cs b/sources/generated/Gst.Audio_AudioRingBuffer.cs
new file mode 100644 (file)
index 0000000..a76e4ff
--- /dev/null
@@ -0,0 +1,1551 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioRingBuffer : Gst.Object {
+
+               protected AudioRingBuffer (IntPtr raw) : base(raw) {}
+
+               protected AudioRingBuffer() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public GLib.Cond Cond {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("cond"));
+                                       return new GLib.Cond((*raw_ptr));
+                               }
+                       }
+               }
+
+               public bool Open {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("open"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool Acquired {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("acquired"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public byte Memory {
+                       get {
+                               unsafe {
+                                       byte* raw_ptr = (byte*)(((byte*)Handle) + abi_info.GetFieldOffset("memory"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong Size {
+                       get {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       return (ulong) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong Timestamps {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("timestamps"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Audio.AudioRingBufferSpec Spec {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("spec"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Audio.AudioRingBufferSpec) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Audio.AudioRingBufferSpec), false);
+                               }
+                       }
+               }
+
+               public int SamplesPerSeg {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("samples_per_seg"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public byte EmptySeg {
+                       get {
+                               unsafe {
+                                       byte* raw_ptr = (byte*)(((byte*)Handle) + abi_info.GetFieldOffset("empty_seg"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int State {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("state"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int Segdone {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("segdone"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int Segbase {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("segbase"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int Waiting {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("waiting"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_set_flushing(IntPtr raw, bool flushing);
+
+               public bool Flushing {
+                       set  {
+                               gst_audio_ring_buffer_set_flushing(Handle, value);
+                       }
+               }
+
+               static OpenDeviceNativeDelegate OpenDevice_cb_delegate;
+               static OpenDeviceNativeDelegate OpenDeviceVMCallback {
+                       get {
+                               if (OpenDevice_cb_delegate == null)
+                                       OpenDevice_cb_delegate = new OpenDeviceNativeDelegate (OpenDevice_cb);
+                               return OpenDevice_cb_delegate;
+                       }
+               }
+
+               static void OverrideOpenDevice (GLib.GType gtype)
+               {
+                       OverrideOpenDevice (gtype, OpenDeviceVMCallback);
+               }
+
+               static void OverrideOpenDevice (GLib.GType gtype, OpenDeviceNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open_device"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool OpenDeviceNativeDelegate (IntPtr inst);
+
+               static bool OpenDevice_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnOpenDevice ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideOpenDevice")]
+               protected virtual bool OnOpenDevice ()
+               {
+                       return InternalOpenDevice ();
+               }
+
+               private bool InternalOpenDevice ()
+               {
+                       OpenDeviceNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open_device"));
+                               unmanaged = (OpenDeviceNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenDeviceNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static AcquireNativeDelegate Acquire_cb_delegate;
+               static AcquireNativeDelegate AcquireVMCallback {
+                       get {
+                               if (Acquire_cb_delegate == null)
+                                       Acquire_cb_delegate = new AcquireNativeDelegate (Acquire_cb);
+                               return Acquire_cb_delegate;
+                       }
+               }
+
+               static void OverrideAcquire (GLib.GType gtype)
+               {
+                       OverrideAcquire (gtype, AcquireVMCallback);
+               }
+
+               static void OverrideAcquire (GLib.GType gtype, AcquireNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("acquire"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool AcquireNativeDelegate (IntPtr inst, IntPtr spec);
+
+               static bool Acquire_cb (IntPtr inst, IntPtr spec)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnAcquire (spec == IntPtr.Zero ? null : (Gst.Audio.AudioRingBufferSpec) GLib.Opaque.GetOpaque (spec, typeof (Gst.Audio.AudioRingBufferSpec), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideAcquire")]
+               protected virtual bool OnAcquire (Gst.Audio.AudioRingBufferSpec spec)
+               {
+                       return InternalAcquire (spec);
+               }
+
+               private bool InternalAcquire (Gst.Audio.AudioRingBufferSpec spec)
+               {
+                       AcquireNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("acquire"));
+                               unmanaged = (AcquireNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AcquireNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, spec == null ? IntPtr.Zero : spec.Handle);
+                       return __result;
+               }
+
+               static ReleaseNativeDelegate Release_cb_delegate;
+               static ReleaseNativeDelegate ReleaseVMCallback {
+                       get {
+                               if (Release_cb_delegate == null)
+                                       Release_cb_delegate = new ReleaseNativeDelegate (Release_cb);
+                               return Release_cb_delegate;
+                       }
+               }
+
+               static void OverrideRelease (GLib.GType gtype)
+               {
+                       OverrideRelease (gtype, ReleaseVMCallback);
+               }
+
+               static void OverrideRelease (GLib.GType gtype, ReleaseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("release"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ReleaseNativeDelegate (IntPtr inst);
+
+               static bool Release_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnRelease ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideRelease")]
+               protected virtual bool OnRelease ()
+               {
+                       return InternalRelease ();
+               }
+
+               private bool InternalRelease ()
+               {
+                       ReleaseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("release"));
+                               unmanaged = (ReleaseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ReleaseNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static CloseDeviceNativeDelegate CloseDevice_cb_delegate;
+               static CloseDeviceNativeDelegate CloseDeviceVMCallback {
+                       get {
+                               if (CloseDevice_cb_delegate == null)
+                                       CloseDevice_cb_delegate = new CloseDeviceNativeDelegate (CloseDevice_cb);
+                               return CloseDevice_cb_delegate;
+                       }
+               }
+
+               static void OverrideCloseDevice (GLib.GType gtype)
+               {
+                       OverrideCloseDevice (gtype, CloseDeviceVMCallback);
+               }
+
+               static void OverrideCloseDevice (GLib.GType gtype, CloseDeviceNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close_device"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CloseDeviceNativeDelegate (IntPtr inst);
+
+               static bool CloseDevice_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnCloseDevice ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideCloseDevice")]
+               protected virtual bool OnCloseDevice ()
+               {
+                       return InternalCloseDevice ();
+               }
+
+               private bool InternalCloseDevice ()
+               {
+                       CloseDeviceNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close_device"));
+                               unmanaged = (CloseDeviceNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseDeviceNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static PauseNativeDelegate Pause_cb_delegate;
+               static PauseNativeDelegate PauseVMCallback {
+                       get {
+                               if (Pause_cb_delegate == null)
+                                       Pause_cb_delegate = new PauseNativeDelegate (Pause_cb);
+                               return Pause_cb_delegate;
+                       }
+               }
+
+               static void OverridePause (GLib.GType gtype)
+               {
+                       OverridePause (gtype, PauseVMCallback);
+               }
+
+               static void OverridePause (GLib.GType gtype, PauseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pause"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool PauseNativeDelegate (IntPtr inst);
+
+               static bool Pause_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnPause ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverridePause")]
+               protected virtual bool OnPause ()
+               {
+                       return InternalPause ();
+               }
+
+               private bool InternalPause ()
+               {
+                       PauseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pause"));
+                               unmanaged = (PauseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PauseNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static ResumeNativeDelegate Resume_cb_delegate;
+               static ResumeNativeDelegate ResumeVMCallback {
+                       get {
+                               if (Resume_cb_delegate == null)
+                                       Resume_cb_delegate = new ResumeNativeDelegate (Resume_cb);
+                               return Resume_cb_delegate;
+                       }
+               }
+
+               static void OverrideResume (GLib.GType gtype)
+               {
+                       OverrideResume (gtype, ResumeVMCallback);
+               }
+
+               static void OverrideResume (GLib.GType gtype, ResumeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("resume"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ResumeNativeDelegate (IntPtr inst);
+
+               static bool Resume_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnResume ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideResume")]
+               protected virtual bool OnResume ()
+               {
+                       return InternalResume ();
+               }
+
+               private bool InternalResume ()
+               {
+                       ResumeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("resume"));
+                               unmanaged = (ResumeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResumeNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static DelayNativeDelegate Delay_cb_delegate;
+               static DelayNativeDelegate DelayVMCallback {
+                       get {
+                               if (Delay_cb_delegate == null)
+                                       Delay_cb_delegate = new DelayNativeDelegate (Delay_cb);
+                               return Delay_cb_delegate;
+                       }
+               }
+
+               static void OverrideDelay (GLib.GType gtype)
+               {
+                       OverrideDelay (gtype, DelayVMCallback);
+               }
+
+               static void OverrideDelay (GLib.GType gtype, DelayNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("delay"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate uint DelayNativeDelegate (IntPtr inst);
+
+               static uint Delay_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               uint __result;
+                               __result = __obj.OnDelay ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideDelay")]
+               protected virtual uint OnDelay ()
+               {
+                       return InternalDelay ();
+               }
+
+               private uint InternalDelay ()
+               {
+                       DelayNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("delay"));
+                               unmanaged = (DelayNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DelayNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       uint __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static ActivateNativeDelegate Activate_cb_delegate;
+               static ActivateNativeDelegate ActivateVMCallback {
+                       get {
+                               if (Activate_cb_delegate == null)
+                                       Activate_cb_delegate = new ActivateNativeDelegate (Activate_cb);
+                               return Activate_cb_delegate;
+                       }
+               }
+
+               static void OverrideActivate (GLib.GType gtype)
+               {
+                       OverrideActivate (gtype, ActivateVMCallback);
+               }
+
+               static void OverrideActivate (GLib.GType gtype, ActivateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("activate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ActivateNativeDelegate (IntPtr inst, bool active);
+
+               static bool Activate_cb (IntPtr inst, bool active)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               bool __result;
+                               __result = __obj.OnActivate (active);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideActivate")]
+               protected virtual bool OnActivate (bool active)
+               {
+                       return InternalActivate (active);
+               }
+
+               private bool InternalActivate (bool active)
+               {
+                       ActivateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("activate"));
+                               unmanaged = (ActivateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ActivateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, active);
+                       return __result;
+               }
+
+               static CommitNativeDelegate Commit_cb_delegate;
+               static CommitNativeDelegate CommitVMCallback {
+                       get {
+                               if (Commit_cb_delegate == null)
+                                       Commit_cb_delegate = new CommitNativeDelegate (Commit_cb);
+                               return Commit_cb_delegate;
+                       }
+               }
+
+               static void OverrideCommit (GLib.GType gtype)
+               {
+                       OverrideCommit (gtype, CommitVMCallback);
+               }
+
+               static void OverrideCommit (GLib.GType gtype, CommitNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("commit"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate uint CommitNativeDelegate (IntPtr inst, ulong sample, byte data, int in_samples, int out_samples, int accum);
+
+               static uint Commit_cb (IntPtr inst, ulong sample, byte data, int in_samples, int out_samples, int accum)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               uint __result;
+                               __result = __obj.OnCommit (sample, data, in_samples, out_samples, accum);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideCommit")]
+               protected virtual uint OnCommit (ulong sample, byte data, int in_samples, int out_samples, int accum)
+               {
+                       return InternalCommit (sample, data, in_samples, out_samples, accum);
+               }
+
+               private uint InternalCommit (ulong sample, byte data, int in_samples, int out_samples, int accum)
+               {
+                       CommitNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("commit"));
+                               unmanaged = (CommitNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CommitNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       uint __result = unmanaged (this.Handle, sample, data, in_samples, out_samples, accum);
+                       return __result;
+               }
+
+               static ClearAllNativeDelegate ClearAll_cb_delegate;
+               static ClearAllNativeDelegate ClearAllVMCallback {
+                       get {
+                               if (ClearAll_cb_delegate == null)
+                                       ClearAll_cb_delegate = new ClearAllNativeDelegate (ClearAll_cb);
+                               return ClearAll_cb_delegate;
+                       }
+               }
+
+               static void OverrideClearAll (GLib.GType gtype)
+               {
+                       OverrideClearAll (gtype, ClearAllVMCallback);
+               }
+
+               static void OverrideClearAll (GLib.GType gtype, ClearAllNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("clear_all"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ClearAllNativeDelegate (IntPtr inst);
+
+               static void ClearAll_cb (IntPtr inst)
+               {
+                       try {
+                               AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+                               __obj.OnClearAll ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioRingBuffer), ConnectionMethod="OverrideClearAll")]
+               protected virtual void OnClearAll ()
+               {
+                       InternalClearAll ();
+               }
+
+               private void InternalClearAll ()
+               {
+                       ClearAllNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("clear_all"));
+                               unmanaged = (ClearAllNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ClearAllNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("open_device"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // open_device
+                                                       , null
+                                                       , "acquire"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("acquire"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // acquire
+                                                       , "open_device"
+                                                       , "release"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("release"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // release
+                                                       , "acquire"
+                                                       , "close_device"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("close_device"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close_device
+                                                       , "release"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "close_device"
+                                                       , "pause"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pause"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pause
+                                                       , "start"
+                                                       , "resume"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("resume"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // resume
+                                                       , "pause"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "resume"
+                                                       , "delay"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("delay"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // delay
+                                                       , "stop"
+                                                       , "activate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("activate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // activate
+                                                       , "delay"
+                                                       , "commit"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("commit"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // commit
+                                                       , "activate"
+                                                       , "clear_all"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clear_all"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // clear_all
+                                                       , "commit"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "clear_all"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_ring_buffer_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_ring_buffer_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_debug_spec_buff(IntPtr spec);
+
+               public static void DebugSpecBuff(Gst.Audio.AudioRingBufferSpec spec) {
+                       gst_audio_ring_buffer_debug_spec_buff(spec == null ? IntPtr.Zero : spec.Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_debug_spec_caps(IntPtr spec);
+
+               public static void DebugSpecCaps(Gst.Audio.AudioRingBufferSpec spec) {
+                       gst_audio_ring_buffer_debug_spec_caps(spec == null ? IntPtr.Zero : spec.Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_parse_caps(IntPtr spec, IntPtr caps);
+
+               public static bool ParseCaps(Gst.Audio.AudioRingBufferSpec spec, Gst.Caps caps) {
+                       bool raw_ret = gst_audio_ring_buffer_parse_caps(spec == null ? IntPtr.Zero : spec.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_acquire(IntPtr raw, IntPtr spec);
+
+               public bool Acquire(Gst.Audio.AudioRingBufferSpec spec) {
+                       bool raw_ret = gst_audio_ring_buffer_acquire(Handle, spec == null ? IntPtr.Zero : spec.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_activate(IntPtr raw, bool active);
+
+               public bool Activate(bool active) {
+                       bool raw_ret = gst_audio_ring_buffer_activate(Handle, active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_advance(IntPtr raw, uint advance);
+
+               public void Advance(uint advance) {
+                       gst_audio_ring_buffer_advance(Handle, advance);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_clear(IntPtr raw, int segment);
+
+               public void Clear(int segment) {
+                       gst_audio_ring_buffer_clear(Handle, segment);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_clear_all(IntPtr raw);
+
+               public void ClearAll() {
+                       gst_audio_ring_buffer_clear_all(Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_close_device(IntPtr raw);
+
+               public bool CloseDevice() {
+                       bool raw_ret = gst_audio_ring_buffer_close_device(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_audio_ring_buffer_commit(IntPtr raw, ulong sample, byte data, int in_samples, int out_samples, int accum);
+
+               public uint Commit(ulong sample, byte data, int in_samples, int out_samples, int accum) {
+                       uint raw_ret = gst_audio_ring_buffer_commit(Handle, sample, data, in_samples, out_samples, accum);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_convert(IntPtr raw, int src_fmt, long src_val, int dest_fmt, long dest_val);
+
+               public bool Convert(Gst.Format src_fmt, long src_val, Gst.Format dest_fmt, long dest_val) {
+                       bool raw_ret = gst_audio_ring_buffer_convert(Handle, (int) src_fmt, src_val, (int) dest_fmt, dest_val);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_audio_ring_buffer_delay(IntPtr raw);
+
+               public uint Delay() {
+                       uint raw_ret = gst_audio_ring_buffer_delay(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_device_is_open(IntPtr raw);
+
+               public bool DeviceIsOpen() {
+                       bool raw_ret = gst_audio_ring_buffer_device_is_open(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_is_acquired(IntPtr raw);
+
+               public bool IsAcquired { 
+                       get {
+                               bool raw_ret = gst_audio_ring_buffer_is_acquired(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_is_active(IntPtr raw);
+
+               public bool IsActive { 
+                       get {
+                               bool raw_ret = gst_audio_ring_buffer_is_active(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_is_flushing(IntPtr raw);
+
+               public bool IsFlushing { 
+                       get {
+                               bool raw_ret = gst_audio_ring_buffer_is_flushing(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_may_start(IntPtr raw, bool allowed);
+
+               public void MayStart(bool allowed) {
+                       gst_audio_ring_buffer_may_start(Handle, allowed);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_open_device(IntPtr raw);
+
+               public bool OpenDevice() {
+                       bool raw_ret = gst_audio_ring_buffer_open_device(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_pause(IntPtr raw);
+
+               public bool Pause() {
+                       bool raw_ret = gst_audio_ring_buffer_pause(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_prepare_read(IntPtr raw, int segment, byte readptr, int len);
+
+               public bool PrepareRead(int segment, byte readptr, int len) {
+                       bool raw_ret = gst_audio_ring_buffer_prepare_read(Handle, segment, readptr, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_audio_ring_buffer_read(IntPtr raw, ulong sample, byte data, uint len, ulong timestamp);
+
+               public uint Read(ulong sample, byte data, uint len, ulong timestamp) {
+                       uint raw_ret = gst_audio_ring_buffer_read(Handle, sample, data, len, timestamp);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_release(IntPtr raw);
+
+               public bool Release() {
+                       bool raw_ret = gst_audio_ring_buffer_release(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_ring_buffer_samples_done(IntPtr raw);
+
+               public ulong SamplesDone() {
+                       ulong raw_ret = gst_audio_ring_buffer_samples_done(Handle);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_set_callback_full(IntPtr raw, Gst.AudioSharp.AudioRingBufferCallbackNative cb, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.Audio.AudioRingBufferCallback CallbackFull { 
+                       set {
+                               Gst.AudioSharp.AudioRingBufferCallbackWrapper value_wrapper = new Gst.AudioSharp.AudioRingBufferCallbackWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_audio_ring_buffer_set_callback_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_set_channel_positions(IntPtr raw, int position);
+
+               public Gst.Audio.AudioChannelPosition ChannelPositions { 
+                       set {
+                               gst_audio_ring_buffer_set_channel_positions(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_set_sample(IntPtr raw, ulong sample);
+
+               public ulong Sample { 
+                       set {
+                               gst_audio_ring_buffer_set_sample(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_ring_buffer_set_timestamp(IntPtr raw, int readseg, ulong timestamp);
+
+               public void SetTimestamp(int readseg, ulong timestamp) {
+                       gst_audio_ring_buffer_set_timestamp(Handle, readseg, timestamp);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_start(IntPtr raw);
+
+               public bool Start() {
+                       bool raw_ret = gst_audio_ring_buffer_start(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_ring_buffer_stop(IntPtr raw);
+
+               public bool Stop() {
+                       bool raw_ret = gst_audio_ring_buffer_stop(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               static AudioRingBuffer ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("cond"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Cond.ABI)) // cond
+                                                       , null
+                                                       , "open"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_condAlign), "cond")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("open"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // open
+                                                       , "cond"
+                                                       , "acquired"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_openAlign), "open")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("acquired"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // acquired
+                                                       , "open"
+                                                       , "memory"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_acquiredAlign), "acquired")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("memory"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(byte)) // memory
+                                                       , "acquired"
+                                                       , "size"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_memoryAlign), "memory")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // size
+                                                       , "memory"
+                                                       , "timestamps"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_sizeAlign), "size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("timestamps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // timestamps
+                                                       , "size"
+                                                       , "spec"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_timestampsAlign), "timestamps")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("spec"
+                                                       , -1
+                                                       , Gst.Audio.AudioRingBufferSpec.abi_info.Size // spec
+                                                       , "timestamps"
+                                                       , "samples_per_seg"
+                                                       , Gst.Audio.AudioRingBufferSpec.abi_info.Align
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("samples_per_seg"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // samples_per_seg
+                                                       , "spec"
+                                                       , "empty_seg"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_samples_per_segAlign), "samples_per_seg")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("empty_seg"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // empty_seg
+                                                       , "samples_per_seg"
+                                                       , "state"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // state
+                                                       , "empty_seg"
+                                                       , "segdone"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_stateAlign), "state")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segdone"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // segdone
+                                                       , "state"
+                                                       , "segbase"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_segdoneAlign), "segdone")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segbase"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // segbase
+                                                       , "segdone"
+                                                       , "waiting"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_segbaseAlign), "segbase")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("waiting"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // waiting
+                                                       , "segbase"
+                                                       , "callback"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_waitingAlign), "waiting")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("callback"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // callback
+                                                       , "waiting"
+                                                       , "cb_data"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cb_data"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // cb_data
+                                                       , "callback"
+                                                       , "need_reorder"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("need_reorder"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // need_reorder
+                                                       , "cb_data"
+                                                       , "channel_reorder_map"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_need_reorderAlign), "need_reorder")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("channel_reorder_map"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) * 64 // channel_reorder_map
+                                                       , "need_reorder"
+                                                       , "flushing"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_channel_reorder_mapAlign), "channel_reorder_map")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flushing"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // flushing
+                                                       , "channel_reorder_map"
+                                                       , "may_start"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_flushingAlign), "flushing")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("may_start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // may_start
+                                                       , "flushing"
+                                                       , "active"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_may_startAlign), "may_start")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("active"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // active
+                                                       , "may_start"
+                                                       , "cb_data_notify"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_activeAlign), "active")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cb_data_notify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // cb_data_notify
+                                                       , "active"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBuffer_cb_data_notifyAlign), "cb_data_notify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _gst_reserved
+                                                       , "cb_data_notify"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_condAlign
+               {
+                       sbyte f1;
+                       private GLib.Cond.ABI cond;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_openAlign
+               {
+                       sbyte f1;
+                       private bool open;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_acquiredAlign
+               {
+                       sbyte f1;
+                       private bool acquired;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_memoryAlign
+               {
+                       sbyte f1;
+                       private byte memory;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_sizeAlign
+               {
+                       sbyte f1;
+                       private UIntPtr size;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_timestampsAlign
+               {
+                       sbyte f1;
+                       private ulong timestamps;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_samples_per_segAlign
+               {
+                       sbyte f1;
+                       private int samples_per_seg;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_stateAlign
+               {
+                       sbyte f1;
+                       private int state;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_segdoneAlign
+               {
+                       sbyte f1;
+                       private int segdone;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_segbaseAlign
+               {
+                       sbyte f1;
+                       private int segbase;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_waitingAlign
+               {
+                       sbyte f1;
+                       private int waiting;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_need_reorderAlign
+               {
+                       sbyte f1;
+                       private bool need_reorder;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_channel_reorder_mapAlign
+               {
+                       sbyte f1;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=64)]
+                       private int[] channel_reorder_map;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_flushingAlign
+               {
+                       sbyte f1;
+                       private bool flushing;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_may_startAlign
+               {
+                       sbyte f1;
+                       private int may_start;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_activeAlign
+               {
+                       sbyte f1;
+                       private bool active;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBuffer_cb_data_notifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify cb_data_notify;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioRingBufferCallback.cs b/sources/generated/Gst.Audio_AudioRingBufferCallback.cs
new file mode 100644 (file)
index 0000000..03b5cc9
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+
+       public delegate void AudioRingBufferCallback(Gst.Audio.AudioRingBuffer rbuf, byte[] data, uint len);
+
+}
diff --git a/sources/generated/Gst.Audio_AudioRingBufferFormatType.cs b/sources/generated/Gst.Audio_AudioRingBufferFormatType.cs
new file mode 100644 (file)
index 0000000..0cfd7b0
--- /dev/null
@@ -0,0 +1,41 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioRingBufferFormatTypeGType))]
+       public enum AudioRingBufferFormatType {
+
+               Raw = 0,
+               MuLaw = 1,
+               ALaw = 2,
+               ImaAdpcm = 3,
+               Mpeg = 4,
+               Gsm = 5,
+               Iec958 = 6,
+               Ac3 = 7,
+               Eac3 = 8,
+               Dts = 9,
+               Mpeg2Aac = 10,
+               Mpeg4Aac = 11,
+               Mpeg2AacRaw = 12,
+               Mpeg4AacRaw = 13,
+               Flac = 14,
+       }
+
+       internal class AudioRingBufferFormatTypeGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_ring_buffer_format_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_ring_buffer_format_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioRingBufferSpec.cs b/sources/generated/Gst.Audio_AudioRingBufferSpec.cs
new file mode 100644 (file)
index 0000000..92756a6
--- /dev/null
@@ -0,0 +1,268 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioRingBufferSpec : GLib.Opaque {
+
+               public Gst.Caps Caps {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("caps"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Caps), false);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("caps"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               public Gst.Audio.AudioRingBufferFormatType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (Gst.Audio.AudioRingBufferFormatType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public Gst.Audio.AudioInfo Info {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("info"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Audio.AudioInfo), false);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("info"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               public ulong LatencyTime {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("latency_time"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("latency_time"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ulong BufferTime {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffer_time"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffer_time"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int Segsize {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("segsize"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("segsize"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int Segtotal {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("segtotal"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("segtotal"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int Seglatency {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("seglatency"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("seglatency"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public AudioRingBufferSpec(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("caps"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // caps
+                                                       , null
+                                                       , "type"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("type"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Audio.AudioRingBufferFormatType))) // type
+                                                       , "caps"
+                                                       , "info"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBufferSpec_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("info"
+                                                       , -1
+                                                       , Gst.Audio.AudioInfo.abi_info.Size // info
+                                                       , "type"
+                                                       , "latency_time"
+                                                       , Gst.Audio.AudioInfo.abi_info.Align
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("latency_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // latency_time
+                                                       , "info"
+                                                       , "buffer_time"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBufferSpec_latency_timeAlign), "latency_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("buffer_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // buffer_time
+                                                       , "latency_time"
+                                                       , "segsize"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBufferSpec_buffer_timeAlign), "buffer_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segsize"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // segsize
+                                                       , "buffer_time"
+                                                       , "segtotal"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBufferSpec_segsizeAlign), "segsize")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segtotal"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // segtotal
+                                                       , "segsize"
+                                                       , "seglatency"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBufferSpec_segtotalAlign), "segtotal")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("seglatency"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // seglatency
+                                                       , "segtotal"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioRingBufferSpec_seglatencyAlign), "seglatency")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "seglatency"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBufferSpec_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.Audio.AudioRingBufferFormatType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBufferSpec_latency_timeAlign
+               {
+                       sbyte f1;
+                       private ulong latency_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBufferSpec_buffer_timeAlign
+               {
+                       sbyte f1;
+                       private ulong buffer_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBufferSpec_segsizeAlign
+               {
+                       sbyte f1;
+                       private int segsize;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBufferSpec_segtotalAlign
+               {
+                       sbyte f1;
+                       private int segtotal;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioRingBufferSpec_seglatencyAlign
+               {
+                       sbyte f1;
+                       private int seglatency;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioRingBufferState.cs b/sources/generated/Gst.Audio_AudioRingBufferState.cs
new file mode 100644 (file)
index 0000000..959d573
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Audio.AudioRingBufferStateGType))]
+       public enum AudioRingBufferState {
+
+               Stopped = 0,
+               Paused = 1,
+               Started = 2,
+               Error = 3,
+       }
+
+       internal class AudioRingBufferStateGType {
+               [DllImport ("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_ring_buffer_state_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_ring_buffer_state_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_AudioSink.cs b/sources/generated/Gst.Audio_AudioSink.cs
new file mode 100644 (file)
index 0000000..5a312c4
--- /dev/null
@@ -0,0 +1,552 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioSink : Gst.Audio.AudioBaseSink {
+
+               public AudioSink (IntPtr raw) : base(raw) {}
+
+               protected AudioSink() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               static OpenNativeDelegate Open_cb_delegate;
+               static OpenNativeDelegate OpenVMCallback {
+                       get {
+                               if (Open_cb_delegate == null)
+                                       Open_cb_delegate = new OpenNativeDelegate (Open_cb);
+                               return Open_cb_delegate;
+                       }
+               }
+
+               static void OverrideOpen (GLib.GType gtype)
+               {
+                       OverrideOpen (gtype, OpenVMCallback);
+               }
+
+               static void OverrideOpen (GLib.GType gtype, OpenNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool OpenNativeDelegate (IntPtr inst);
+
+               static bool Open_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+                               bool __result;
+                               __result = __obj.OnOpen ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideOpen")]
+               protected virtual bool OnOpen ()
+               {
+                       return InternalOpen ();
+               }
+
+               private bool InternalOpen ()
+               {
+                       OpenNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               unmanaged = (OpenNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static PrepareNativeDelegate Prepare_cb_delegate;
+               static PrepareNativeDelegate PrepareVMCallback {
+                       get {
+                               if (Prepare_cb_delegate == null)
+                                       Prepare_cb_delegate = new PrepareNativeDelegate (Prepare_cb);
+                               return Prepare_cb_delegate;
+                       }
+               }
+
+               static void OverridePrepare (GLib.GType gtype)
+               {
+                       OverridePrepare (gtype, PrepareVMCallback);
+               }
+
+               static void OverridePrepare (GLib.GType gtype, PrepareNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool PrepareNativeDelegate (IntPtr inst, IntPtr spec);
+
+               static bool Prepare_cb (IntPtr inst, IntPtr spec)
+               {
+                       try {
+                               AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+                               bool __result;
+                               __result = __obj.OnPrepare (spec == IntPtr.Zero ? null : (Gst.Audio.AudioRingBufferSpec) GLib.Opaque.GetOpaque (spec, typeof (Gst.Audio.AudioRingBufferSpec), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverridePrepare")]
+               protected virtual bool OnPrepare (Gst.Audio.AudioRingBufferSpec spec)
+               {
+                       return InternalPrepare (spec);
+               }
+
+               private bool InternalPrepare (Gst.Audio.AudioRingBufferSpec spec)
+               {
+                       PrepareNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
+                               unmanaged = (PrepareNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, spec == null ? IntPtr.Zero : spec.Handle);
+                       return __result;
+               }
+
+               static UnprepareNativeDelegate Unprepare_cb_delegate;
+               static UnprepareNativeDelegate UnprepareVMCallback {
+                       get {
+                               if (Unprepare_cb_delegate == null)
+                                       Unprepare_cb_delegate = new UnprepareNativeDelegate (Unprepare_cb);
+                               return Unprepare_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnprepare (GLib.GType gtype)
+               {
+                       OverrideUnprepare (gtype, UnprepareVMCallback);
+               }
+
+               static void OverrideUnprepare (GLib.GType gtype, UnprepareNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unprepare"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool UnprepareNativeDelegate (IntPtr inst);
+
+               static bool Unprepare_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+                               bool __result;
+                               __result = __obj.OnUnprepare ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideUnprepare")]
+               protected virtual bool OnUnprepare ()
+               {
+                       return InternalUnprepare ();
+               }
+
+               private bool InternalUnprepare ()
+               {
+                       UnprepareNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unprepare"));
+                               unmanaged = (UnprepareNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnprepareNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static CloseNativeDelegate Close_cb_delegate;
+               static CloseNativeDelegate CloseVMCallback {
+                       get {
+                               if (Close_cb_delegate == null)
+                                       Close_cb_delegate = new CloseNativeDelegate (Close_cb);
+                               return Close_cb_delegate;
+                       }
+               }
+
+               static void OverrideClose (GLib.GType gtype)
+               {
+                       OverrideClose (gtype, CloseVMCallback);
+               }
+
+               static void OverrideClose (GLib.GType gtype, CloseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CloseNativeDelegate (IntPtr inst);
+
+               static bool Close_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+                               bool __result;
+                               __result = __obj.OnClose ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideClose")]
+               protected virtual bool OnClose ()
+               {
+                       return InternalClose ();
+               }
+
+               private bool InternalClose ()
+               {
+                       CloseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               unmanaged = (CloseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static WriteNativeDelegate Write_cb_delegate;
+               static WriteNativeDelegate WriteVMCallback {
+                       get {
+                               if (Write_cb_delegate == null)
+                                       Write_cb_delegate = new WriteNativeDelegate (Write_cb);
+                               return Write_cb_delegate;
+                       }
+               }
+
+               static void OverrideWrite (GLib.GType gtype)
+               {
+                       OverrideWrite (gtype, WriteVMCallback);
+               }
+
+               static void OverrideWrite (GLib.GType gtype, WriteNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("write"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int WriteNativeDelegate (IntPtr inst, IntPtr data, uint length);
+
+               static int Write_cb (IntPtr inst, IntPtr data, uint length)
+               {
+                       try {
+                               AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+                               int __result;
+                               __result = __obj.OnWrite (data, length);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideWrite")]
+               protected virtual int OnWrite (IntPtr data, uint length)
+               {
+                       return InternalWrite (data, length);
+               }
+
+               private int InternalWrite (IntPtr data, uint length)
+               {
+                       WriteNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("write"));
+                               unmanaged = (WriteNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(WriteNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       int __result = unmanaged (this.Handle, data, length);
+                       return __result;
+               }
+
+               static DelayNativeDelegate Delay_cb_delegate;
+               static DelayNativeDelegate DelayVMCallback {
+                       get {
+                               if (Delay_cb_delegate == null)
+                                       Delay_cb_delegate = new DelayNativeDelegate (Delay_cb);
+                               return Delay_cb_delegate;
+                       }
+               }
+
+               static void OverrideDelay (GLib.GType gtype)
+               {
+                       OverrideDelay (gtype, DelayVMCallback);
+               }
+
+               static void OverrideDelay (GLib.GType gtype, DelayNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("delay"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate uint DelayNativeDelegate (IntPtr inst);
+
+               static uint Delay_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+                               uint __result;
+                               __result = __obj.OnDelay ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideDelay")]
+               protected virtual uint OnDelay ()
+               {
+                       return InternalDelay ();
+               }
+
+               private uint InternalDelay ()
+               {
+                       DelayNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("delay"));
+                               unmanaged = (DelayNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DelayNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       uint __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static ResetNativeDelegate Reset_cb_delegate;
+               static ResetNativeDelegate ResetVMCallback {
+                       get {
+                               if (Reset_cb_delegate == null)
+                                       Reset_cb_delegate = new ResetNativeDelegate (Reset_cb);
+                               return Reset_cb_delegate;
+                       }
+               }
+
+               static void OverrideReset (GLib.GType gtype)
+               {
+                       OverrideReset (gtype, ResetVMCallback);
+               }
+
+               static void OverrideReset (GLib.GType gtype, ResetNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ResetNativeDelegate (IntPtr inst);
+
+               static void Reset_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+                               __obj.OnReset ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideReset")]
+               protected virtual void OnReset ()
+               {
+                       InternalReset ();
+               }
+
+               private void InternalReset ()
+               {
+                       ResetNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
+                               unmanaged = (ResetNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResetNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("open"
+                                                       , Gst.Audio.AudioBaseSink.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // open
+                                                       , null
+                                                       , "prepare"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prepare"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare
+                                                       , "open"
+                                                       , "unprepare"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unprepare"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unprepare
+                                                       , "prepare"
+                                                       , "close"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("close"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close
+                                                       , "unprepare"
+                                                       , "write"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("write"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // write
+                                                       , "close"
+                                                       , "delay"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("delay"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // delay
+                                                       , "write"
+                                                       , "reset"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("reset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // reset
+                                                       , "delay"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "reset"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_sink_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_sink_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static AudioSink ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("thread"
+                                                       , Gst.Audio.AudioBaseSink.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // thread
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "thread"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioSrc.cs b/sources/generated/Gst.Audio_AudioSrc.cs
new file mode 100644 (file)
index 0000000..78f0c7b
--- /dev/null
@@ -0,0 +1,552 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioSrc : Gst.Audio.AudioBaseSrc {
+
+               public AudioSrc (IntPtr raw) : base(raw) {}
+
+               protected AudioSrc() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               static OpenNativeDelegate Open_cb_delegate;
+               static OpenNativeDelegate OpenVMCallback {
+                       get {
+                               if (Open_cb_delegate == null)
+                                       Open_cb_delegate = new OpenNativeDelegate (Open_cb);
+                               return Open_cb_delegate;
+                       }
+               }
+
+               static void OverrideOpen (GLib.GType gtype)
+               {
+                       OverrideOpen (gtype, OpenVMCallback);
+               }
+
+               static void OverrideOpen (GLib.GType gtype, OpenNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool OpenNativeDelegate (IntPtr inst);
+
+               static bool Open_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSrc __obj = GLib.Object.GetObject (inst, false) as AudioSrc;
+                               bool __result;
+                               __result = __obj.OnOpen ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSrc), ConnectionMethod="OverrideOpen")]
+               protected virtual bool OnOpen ()
+               {
+                       return InternalOpen ();
+               }
+
+               private bool InternalOpen ()
+               {
+                       OpenNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               unmanaged = (OpenNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static PrepareNativeDelegate Prepare_cb_delegate;
+               static PrepareNativeDelegate PrepareVMCallback {
+                       get {
+                               if (Prepare_cb_delegate == null)
+                                       Prepare_cb_delegate = new PrepareNativeDelegate (Prepare_cb);
+                               return Prepare_cb_delegate;
+                       }
+               }
+
+               static void OverridePrepare (GLib.GType gtype)
+               {
+                       OverridePrepare (gtype, PrepareVMCallback);
+               }
+
+               static void OverridePrepare (GLib.GType gtype, PrepareNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool PrepareNativeDelegate (IntPtr inst, IntPtr spec);
+
+               static bool Prepare_cb (IntPtr inst, IntPtr spec)
+               {
+                       try {
+                               AudioSrc __obj = GLib.Object.GetObject (inst, false) as AudioSrc;
+                               bool __result;
+                               __result = __obj.OnPrepare (spec == IntPtr.Zero ? null : (Gst.Audio.AudioRingBufferSpec) GLib.Opaque.GetOpaque (spec, typeof (Gst.Audio.AudioRingBufferSpec), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSrc), ConnectionMethod="OverridePrepare")]
+               protected virtual bool OnPrepare (Gst.Audio.AudioRingBufferSpec spec)
+               {
+                       return InternalPrepare (spec);
+               }
+
+               private bool InternalPrepare (Gst.Audio.AudioRingBufferSpec spec)
+               {
+                       PrepareNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
+                               unmanaged = (PrepareNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, spec == null ? IntPtr.Zero : spec.Handle);
+                       return __result;
+               }
+
+               static UnprepareNativeDelegate Unprepare_cb_delegate;
+               static UnprepareNativeDelegate UnprepareVMCallback {
+                       get {
+                               if (Unprepare_cb_delegate == null)
+                                       Unprepare_cb_delegate = new UnprepareNativeDelegate (Unprepare_cb);
+                               return Unprepare_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnprepare (GLib.GType gtype)
+               {
+                       OverrideUnprepare (gtype, UnprepareVMCallback);
+               }
+
+               static void OverrideUnprepare (GLib.GType gtype, UnprepareNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unprepare"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool UnprepareNativeDelegate (IntPtr inst);
+
+               static bool Unprepare_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSrc __obj = GLib.Object.GetObject (inst, false) as AudioSrc;
+                               bool __result;
+                               __result = __obj.OnUnprepare ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSrc), ConnectionMethod="OverrideUnprepare")]
+               protected virtual bool OnUnprepare ()
+               {
+                       return InternalUnprepare ();
+               }
+
+               private bool InternalUnprepare ()
+               {
+                       UnprepareNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unprepare"));
+                               unmanaged = (UnprepareNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnprepareNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static CloseNativeDelegate Close_cb_delegate;
+               static CloseNativeDelegate CloseVMCallback {
+                       get {
+                               if (Close_cb_delegate == null)
+                                       Close_cb_delegate = new CloseNativeDelegate (Close_cb);
+                               return Close_cb_delegate;
+                       }
+               }
+
+               static void OverrideClose (GLib.GType gtype)
+               {
+                       OverrideClose (gtype, CloseVMCallback);
+               }
+
+               static void OverrideClose (GLib.GType gtype, CloseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CloseNativeDelegate (IntPtr inst);
+
+               static bool Close_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSrc __obj = GLib.Object.GetObject (inst, false) as AudioSrc;
+                               bool __result;
+                               __result = __obj.OnClose ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSrc), ConnectionMethod="OverrideClose")]
+               protected virtual bool OnClose ()
+               {
+                       return InternalClose ();
+               }
+
+               private bool InternalClose ()
+               {
+                       CloseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               unmanaged = (CloseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static ReadNativeDelegate Read_cb_delegate;
+               static ReadNativeDelegate ReadVMCallback {
+                       get {
+                               if (Read_cb_delegate == null)
+                                       Read_cb_delegate = new ReadNativeDelegate (Read_cb);
+                               return Read_cb_delegate;
+                       }
+               }
+
+               static void OverrideRead (GLib.GType gtype)
+               {
+                       OverrideRead (gtype, ReadVMCallback);
+               }
+
+               static void OverrideRead (GLib.GType gtype, ReadNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("read"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate uint ReadNativeDelegate (IntPtr inst, IntPtr data, uint length, ulong timestamp);
+
+               static uint Read_cb (IntPtr inst, IntPtr data, uint length, ulong timestamp)
+               {
+                       try {
+                               AudioSrc __obj = GLib.Object.GetObject (inst, false) as AudioSrc;
+                               uint __result;
+                               __result = __obj.OnRead (data, length, timestamp);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSrc), ConnectionMethod="OverrideRead")]
+               protected virtual uint OnRead (IntPtr data, uint length, ulong timestamp)
+               {
+                       return InternalRead (data, length, timestamp);
+               }
+
+               private uint InternalRead (IntPtr data, uint length, ulong timestamp)
+               {
+                       ReadNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("read"));
+                               unmanaged = (ReadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ReadNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       uint __result = unmanaged (this.Handle, data, length, timestamp);
+                       return __result;
+               }
+
+               static DelayNativeDelegate Delay_cb_delegate;
+               static DelayNativeDelegate DelayVMCallback {
+                       get {
+                               if (Delay_cb_delegate == null)
+                                       Delay_cb_delegate = new DelayNativeDelegate (Delay_cb);
+                               return Delay_cb_delegate;
+                       }
+               }
+
+               static void OverrideDelay (GLib.GType gtype)
+               {
+                       OverrideDelay (gtype, DelayVMCallback);
+               }
+
+               static void OverrideDelay (GLib.GType gtype, DelayNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("delay"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate uint DelayNativeDelegate (IntPtr inst);
+
+               static uint Delay_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSrc __obj = GLib.Object.GetObject (inst, false) as AudioSrc;
+                               uint __result;
+                               __result = __obj.OnDelay ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSrc), ConnectionMethod="OverrideDelay")]
+               protected virtual uint OnDelay ()
+               {
+                       return InternalDelay ();
+               }
+
+               private uint InternalDelay ()
+               {
+                       DelayNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("delay"));
+                               unmanaged = (DelayNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DelayNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       uint __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static ResetNativeDelegate Reset_cb_delegate;
+               static ResetNativeDelegate ResetVMCallback {
+                       get {
+                               if (Reset_cb_delegate == null)
+                                       Reset_cb_delegate = new ResetNativeDelegate (Reset_cb);
+                               return Reset_cb_delegate;
+                       }
+               }
+
+               static void OverrideReset (GLib.GType gtype)
+               {
+                       OverrideReset (gtype, ResetVMCallback);
+               }
+
+               static void OverrideReset (GLib.GType gtype, ResetNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ResetNativeDelegate (IntPtr inst);
+
+               static void Reset_cb (IntPtr inst)
+               {
+                       try {
+                               AudioSrc __obj = GLib.Object.GetObject (inst, false) as AudioSrc;
+                               __obj.OnReset ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSrc), ConnectionMethod="OverrideReset")]
+               protected virtual void OnReset ()
+               {
+                       InternalReset ();
+               }
+
+               private void InternalReset ()
+               {
+                       ResetNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
+                               unmanaged = (ResetNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResetNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("open"
+                                                       , Gst.Audio.AudioBaseSrc.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // open
+                                                       , null
+                                                       , "prepare"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prepare"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare
+                                                       , "open"
+                                                       , "unprepare"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unprepare"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unprepare
+                                                       , "prepare"
+                                                       , "close"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("close"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close
+                                                       , "unprepare"
+                                                       , "read"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("read"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // read
+                                                       , "close"
+                                                       , "delay"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("delay"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // delay
+                                                       , "read"
+                                                       , "reset"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("reset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // reset
+                                                       , "delay"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "reset"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_src_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_src_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static AudioSrc ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("thread"
+                                                       , Gst.Audio.AudioBaseSrc.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // thread
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "thread"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_AudioStreamAlign.cs b/sources/generated/Gst.Audio_AudioStreamAlign.cs
new file mode 100644 (file)
index 0000000..766dcbf
--- /dev/null
@@ -0,0 +1,207 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct AudioStreamAlign : IEquatable<AudioStreamAlign> {
+
+
+               public static Gst.Audio.AudioStreamAlign Zero = new Gst.Audio.AudioStreamAlign ();
+
+               public static Gst.Audio.AudioStreamAlign New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Audio.AudioStreamAlign.Zero;
+                       return (Gst.Audio.AudioStreamAlign) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioStreamAlign));
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_stream_align_new(int rate, ulong alignment_threshold, ulong discont_wait);
+
+               public static AudioStreamAlign New(int rate, ulong alignment_threshold, ulong discont_wait)
+               {
+                       AudioStreamAlign result = AudioStreamAlign.New (gst_audio_stream_align_new(rate, alignment_threshold, discont_wait));
+                       return result;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_stream_align_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_stream_align_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_stream_align_get_alignment_threshold(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_stream_align_set_alignment_threshold(IntPtr raw, ulong alignment_threshold);
+
+               public ulong AlignmentThreshold { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               ulong raw_ret = gst_audio_stream_align_get_alignment_threshold(this_as_native);
+                               ulong ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_audio_stream_align_set_alignment_threshold(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_stream_align_get_discont_wait(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_stream_align_set_discont_wait(IntPtr raw, ulong discont_wait);
+
+               public ulong DiscontWait { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               ulong raw_ret = gst_audio_stream_align_get_discont_wait(this_as_native);
+                               ulong ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_audio_stream_align_set_discont_wait(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_stream_align_get_rate(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_stream_align_set_rate(IntPtr raw, int rate);
+
+               public int Rate { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               int raw_ret = gst_audio_stream_align_get_rate(this_as_native);
+                               int ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_audio_stream_align_set_rate(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_stream_align_get_samples_since_discont(IntPtr raw);
+
+               public ulong SamplesSinceDiscont { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               ulong raw_ret = gst_audio_stream_align_get_samples_since_discont(this_as_native);
+                               ulong ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_stream_align_get_timestamp_at_discont(IntPtr raw);
+
+               public ulong TimestampAtDiscont { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               ulong raw_ret = gst_audio_stream_align_get_timestamp_at_discont(this_as_native);
+                               ulong ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_stream_align_mark_discont(IntPtr raw);
+
+               public void MarkDiscont() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_audio_stream_align_mark_discont(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_stream_align_process(IntPtr raw, bool discont, ulong timestamp, uint n_samples, out ulong out_timestamp, out ulong out_duration, out ulong out_sample_position);
+
+               public bool Process(bool discont, ulong timestamp, uint n_samples, out ulong out_timestamp, out ulong out_duration, out ulong out_sample_position) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_audio_stream_align_process(this_as_native, discont, timestamp, n_samples, out out_timestamp, out out_duration, out out_sample_position);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Audio.AudioStreamAlign target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (AudioStreamAlign other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is AudioStreamAlign && Equals ((AudioStreamAlign) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Audio.AudioStreamAlign boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Audio.AudioStreamAlign.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Audio.AudioStreamAlign (GLib.Value val)
+               {
+                       return (Gst.Audio.AudioStreamAlign) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_Constants.cs b/sources/generated/Gst.Audio_Constants.cs
new file mode 100644 (file)
index 0000000..edbe7d7
--- /dev/null
@@ -0,0 +1,49 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const string AUDIO_CHANNELS_RANGE = @"(int) [ 1, max ]";
+               public const string AUDIO_CONVERTER_OPT_DITHER_METHOD = @"GstAudioConverter.dither-method";
+               public const string AUDIO_CONVERTER_OPT_MIX_MATRIX = @"GstAudioConverter.mix-matrix";
+               public const string AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD = @"GstAudioConverter.noise-shaping-method";
+               public const string AUDIO_CONVERTER_OPT_QUANTIZATION = @"GstAudioConverter.quantization";
+               public const string AUDIO_CONVERTER_OPT_RESAMPLER_METHOD = @"GstAudioConverter.resampler-method";
+               public const int AUDIO_DECODER_MAX_ERRORS = 10;
+               public const string AUDIO_DECODER_SINK_NAME = @"sink";
+               public const string AUDIO_DECODER_SRC_NAME = @"src";
+               public const int AUDIO_DEF_CHANNELS = 2;
+               public const string AUDIO_DEF_FORMAT = @"S16LE";
+               public const int AUDIO_DEF_RATE = 44100;
+               public const string AUDIO_ENCODER_SINK_NAME = @"sink";
+               public const string AUDIO_ENCODER_SRC_NAME = @"src";
+               public const string AUDIO_FORMATS_ALL = @" { S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }";
+               public const string AUDIO_RATE_RANGE = @"(int) [ 1, max ]";
+               public const string AUDIO_RESAMPLER_OPT_CUBIC_B = @"GstAudioResampler.cubic-b";
+               public const string AUDIO_RESAMPLER_OPT_CUBIC_C = @"GstAudioResampler.cubic-c";
+               public const string AUDIO_RESAMPLER_OPT_CUTOFF = @"GstAudioResampler.cutoff";
+               public const string AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION = @"GstAudioResampler.filter-interpolation";
+               public const string AUDIO_RESAMPLER_OPT_FILTER_MODE = @"GstAudioResampler.filter-mode";
+               public const string AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD = @"GstAudioResampler.filter-mode-threshold";
+               public const string AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE = @"GstAudioResampler.filter-oversample";
+               public const string AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR = @"GstAudioResampler.max-phase-error";
+               public const string AUDIO_RESAMPLER_OPT_N_TAPS = @"GstAudioResampler.n-taps";
+               public const string AUDIO_RESAMPLER_OPT_STOP_ATTENUATION = @"GstAudioResampler.stop-attenutation";
+               public const string AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH = @"GstAudioResampler.transition-bandwidth";
+               public const int AUDIO_RESAMPLER_QUALITY_DEFAULT = 4;
+               public const int AUDIO_RESAMPLER_QUALITY_MAX = 10;
+               public const int AUDIO_RESAMPLER_QUALITY_MIN = 0;
+               public const string META_TAG_AUDIO_CHANNELS_STR = @"channels";
+               public const string META_TAG_AUDIO_RATE_STR = @"rate";
+               public const string META_TAG_AUDIO_STR = @"audio";
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_Global.cs b/sources/generated/Gst.Audio_Global.cs
new file mode 100644 (file)
index 0000000..1ddde9e
--- /dev/null
@@ -0,0 +1,327 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_buffer_clip(IntPtr buffer, IntPtr segment, int rate, int bpf);
+
+               public static Gst.Buffer AudioBufferClip(Gst.Buffer buffer, Gst.Segment segment, int rate, int bpf) {
+                       buffer.Owned = false;
+                       IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+                       IntPtr raw_ret = gst_audio_buffer_clip(buffer == null ? IntPtr.Zero : buffer.Handle, native_segment, rate, bpf);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       Marshal.FreeHGlobal (native_segment);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_buffer_reorder_channels(IntPtr buffer, int format, int channels, int[] from, int[] to);
+
+               public static bool AudioBufferReorderChannels(Gst.Buffer buffer, Gst.Audio.AudioFormat format, int channels, Gst.Audio.AudioChannelPosition[] from, Gst.Audio.AudioChannelPosition[] to) {
+                       int cnt_from = from == null ? 0 : from.Length;
+                       int[] native_from = new int [cnt_from];
+                       for (int i = 0; i < cnt_from; i++)
+                               native_from [i] = (int) from[i];
+                       int cnt_to = to == null ? 0 : to.Length;
+                       int[] native_to = new int [cnt_to];
+                       for (int i = 0; i < cnt_to; i++)
+                               native_to [i] = (int) to[i];
+                       bool raw_ret = gst_audio_buffer_reorder_channels(buffer == null ? IntPtr.Zero : buffer.Handle, (int) format, channels, native_from, native_to);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_audio_channel_get_fallback_mask(int channels);
+
+               public static ulong AudioChannelGetFallbackMask(int channels) {
+                       ulong raw_ret = gst_audio_channel_get_fallback_mask(channels);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_channel_positions_from_mask(int channels, ulong channel_mask, int[] position);
+
+               public static bool AudioChannelPositionsFromMask(int channels, ulong channel_mask, Gst.Audio.AudioChannelPosition[] position) {
+                       int cnt_position = position == null ? 0 : position.Length;
+                       int[] native_position = new int [cnt_position];
+                       for (int i = 0; i < cnt_position; i++)
+                               native_position [i] = (int) position[i];
+                       bool raw_ret = gst_audio_channel_positions_from_mask(channels, channel_mask, native_position);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_channel_positions_to_mask(int[] position, int channels, bool force_order, out ulong channel_mask);
+
+               public static bool AudioChannelPositionsToMask(Gst.Audio.AudioChannelPosition[] position, int channels, bool force_order, out ulong channel_mask) {
+                       int cnt_position = position == null ? 0 : position.Length;
+                       int[] native_position = new int [cnt_position];
+                       for (int i = 0; i < cnt_position; i++)
+                               native_position [i] = (int) position[i];
+                       bool raw_ret = gst_audio_channel_positions_to_mask(native_position, channels, force_order, out channel_mask);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_channel_positions_to_string(int[] position, int channels);
+
+               public static string AudioChannelPositionsToString(Gst.Audio.AudioChannelPosition[] position, int channels) {
+                       int cnt_position = position == null ? 0 : position.Length;
+                       int[] native_position = new int [cnt_position];
+                       for (int i = 0; i < cnt_position; i++)
+                               native_position [i] = (int) position[i];
+                       IntPtr raw_ret = gst_audio_channel_positions_to_string(native_position, channels);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_channel_positions_to_valid_order(int[] position, int channels);
+
+               public static bool AudioChannelPositionsToValidOrder(Gst.Audio.AudioChannelPosition[] position, int channels) {
+                       int cnt_position = position == null ? 0 : position.Length;
+                       int[] native_position = new int [cnt_position];
+                       for (int i = 0; i < cnt_position; i++)
+                               native_position [i] = (int) position[i];
+                       bool raw_ret = gst_audio_channel_positions_to_valid_order(native_position, channels);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_check_valid_channel_positions(int[] position, int channels, bool force_order);
+
+               public static bool AudioCheckValidChannelPositions(Gst.Audio.AudioChannelPosition[] position, int channels, bool force_order) {
+                       int cnt_position = position == null ? 0 : position.Length;
+                       int[] native_position = new int [cnt_position];
+                       for (int i = 0; i < cnt_position; i++)
+                               native_position [i] = (int) position[i];
+                       bool raw_ret = gst_audio_check_valid_channel_positions(native_position, channels, force_order);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_clipping_meta_api_get_type();
+
+               public static GLib.GType AudioClippingMetaApiGetType() {
+                       IntPtr raw_ret = gst_audio_clipping_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_clipping_meta_get_info();
+
+               public static Gst.MetaInfo AudioClippingMetaGetInfo() {
+                       IntPtr raw_ret = gst_audio_clipping_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_downmix_meta_api_get_type();
+
+               public static GLib.GType AudioDownmixMetaApiGetType() {
+                       IntPtr raw_ret = gst_audio_downmix_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_downmix_meta_get_info();
+
+               public static Gst.MetaInfo AudioDownmixMetaGetInfo() {
+                       IntPtr raw_ret = gst_audio_downmix_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_format_build_integer(bool sign, int endianness, int width, int depth);
+
+               public static Gst.Audio.AudioFormat AudioFormatBuildInteger(bool sign, int endianness, int width, int depth) {
+                       int raw_ret = gst_audio_format_build_integer(sign, endianness, width, depth);
+                       Gst.Audio.AudioFormat ret = (Gst.Audio.AudioFormat) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_format_fill_silence(IntPtr info, byte[] dest, UIntPtr n_length);
+
+               public static void AudioFormatFillSilence(Gst.Audio.AudioFormatInfo info, byte[] dest) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       gst_audio_format_fill_silence(native_info, dest, new UIntPtr ((ulong) (dest == null ? 0 : dest.Length)));
+                       Marshal.FreeHGlobal (native_info);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_audio_format_from_string(IntPtr format);
+
+               public static Gst.Audio.AudioFormat AudioFormatFromString(string format) {
+                       IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+                       int raw_ret = gst_audio_format_from_string(native_format);
+                       Gst.Audio.AudioFormat ret = (Gst.Audio.AudioFormat) raw_ret;
+                       GLib.Marshaller.Free (native_format);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_format_get_info(int format);
+
+               public static Gst.Audio.AudioFormatInfo AudioFormatGetInfo(Gst.Audio.AudioFormat format) {
+                       IntPtr raw_ret = gst_audio_format_get_info((int) format);
+                       Gst.Audio.AudioFormatInfo ret = Gst.Audio.AudioFormatInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_format_info_get_type();
+
+               public static GLib.GType AudioFormatInfoGetType() {
+                       IntPtr raw_ret = gst_audio_format_info_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_format_to_string(int format);
+
+               public static string AudioFormatToString(Gst.Audio.AudioFormat format) {
+                       IntPtr raw_ret = gst_audio_format_to_string((int) format);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_get_channel_reorder_map(int channels, int[] from, int[] to, int[] reorder_map);
+
+               public static bool AudioGetChannelReorderMap(int channels, Gst.Audio.AudioChannelPosition[] from, Gst.Audio.AudioChannelPosition[] to, int[] reorder_map) {
+                       int cnt_from = from == null ? 0 : from.Length;
+                       int[] native_from = new int [cnt_from];
+                       for (int i = 0; i < cnt_from; i++)
+                               native_from [i] = (int) from[i];
+                       int cnt_to = to == null ? 0 : to.Length;
+                       int[] native_to = new int [cnt_to];
+                       for (int i = 0; i < cnt_to; i++)
+                               native_to [i] = (int) to[i];
+                       bool raw_ret = gst_audio_get_channel_reorder_map(channels, native_from, native_to, reorder_map);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_audio_iec61937_frame_size(IntPtr spec);
+
+               public static uint AudioIec61937FrameSize(Gst.Audio.AudioRingBufferSpec spec) {
+                       uint raw_ret = gst_audio_iec61937_frame_size(spec == null ? IntPtr.Zero : spec.Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_iec61937_payload(byte[] src, uint src_n, byte[] dst, uint dst_n, IntPtr spec, int endianness);
+
+               public static bool AudioIec61937Payload(byte[] src, uint src_n, byte[] dst, uint dst_n, Gst.Audio.AudioRingBufferSpec spec, int endianness) {
+                       bool raw_ret = gst_audio_iec61937_payload(src, src_n, dst, dst_n, spec == null ? IntPtr.Zero : spec.Handle, endianness);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_audio_reorder_channels(byte[] data, UIntPtr n_length, int format, int channels, int[] from, int[] to);
+
+               public static bool AudioReorderChannels(byte[] data, Gst.Audio.AudioFormat format, int channels, Gst.Audio.AudioChannelPosition[] from, Gst.Audio.AudioChannelPosition[] to) {
+                       int cnt_from = from == null ? 0 : from.Length;
+                       int[] native_from = new int [cnt_from];
+                       for (int i = 0; i < cnt_from; i++)
+                               native_from [i] = (int) from[i];
+                       int cnt_to = to == null ? 0 : to.Length;
+                       int[] native_to = new int [cnt_to];
+                       for (int i = 0; i < cnt_to; i++)
+                               native_to [i] = (int) to[i];
+                       bool raw_ret = gst_audio_reorder_channels(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)), (int) format, channels, native_from, native_to);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_resampler_new(int method, int flags, int format, int channels, int in_rate, int out_rate, IntPtr options);
+
+               public static Gst.Audio.AudioResampler AudioResamplerNew(Gst.Audio.AudioResamplerMethod method, Gst.Audio.AudioResamplerFlags flags, Gst.Audio.AudioFormat format, int channels, int in_rate, int out_rate, Gst.Structure options) {
+                       IntPtr raw_ret = gst_audio_resampler_new((int) method, (int) flags, (int) format, channels, in_rate, out_rate, options == null ? IntPtr.Zero : options.Handle);
+                       Gst.Audio.AudioResampler ret = raw_ret == IntPtr.Zero ? null : (Gst.Audio.AudioResampler) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Audio.AudioResampler), true);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_audio_resampler_options_set_quality(int method, uint quality, int in_rate, int out_rate, IntPtr options);
+
+               public static void AudioResamplerOptionsSetQuality(Gst.Audio.AudioResamplerMethod method, uint quality, int in_rate, int out_rate, Gst.Structure options) {
+                       gst_audio_resampler_options_set_quality((int) method, quality, in_rate, out_rate, options == null ? IntPtr.Zero : options.Handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_audio_clipping_meta(IntPtr buffer, int format, ulong start, ulong end);
+
+               public static Gst.Audio.AudioClippingMeta BufferAddAudioClippingMeta(Gst.Buffer buffer, Gst.Format format, ulong start, ulong end) {
+                       IntPtr raw_ret = gst_buffer_add_audio_clipping_meta(buffer == null ? IntPtr.Zero : buffer.Handle, (int) format, start, end);
+                       Gst.Audio.AudioClippingMeta ret = Gst.Audio.AudioClippingMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_audio_downmix_meta(IntPtr buffer, int[] from_position, int from_channels, int[] to_position, int to_channels, float matrix);
+
+               public static Gst.Audio.AudioDownmixMeta BufferAddAudioDownmixMeta(Gst.Buffer buffer, Gst.Audio.AudioChannelPosition[] from_position, int from_channels, Gst.Audio.AudioChannelPosition[] to_position, int to_channels, float matrix) {
+                       int cnt_from_position = from_position == null ? 0 : from_position.Length;
+                       int[] native_from_position = new int [cnt_from_position];
+                       for (int i = 0; i < cnt_from_position; i++)
+                               native_from_position [i] = (int) from_position[i];
+                       int cnt_to_position = to_position == null ? 0 : to_position.Length;
+                       int[] native_to_position = new int [cnt_to_position];
+                       for (int i = 0; i < cnt_to_position; i++)
+                               native_to_position [i] = (int) to_position[i];
+                       IntPtr raw_ret = gst_buffer_add_audio_downmix_meta(buffer == null ? IntPtr.Zero : buffer.Handle, native_from_position, from_channels, native_to_position, to_channels, matrix);
+                       Gst.Audio.AudioDownmixMeta ret = Gst.Audio.AudioDownmixMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_audio_downmix_meta_for_channels(IntPtr buffer, int[] to_position, int to_channels);
+
+               public static Gst.Audio.AudioDownmixMeta BufferGetAudioDownmixMetaForChannels(Gst.Buffer buffer, Gst.Audio.AudioChannelPosition[] to_position, int to_channels) {
+                       int cnt_to_position = to_position == null ? 0 : to_position.Length;
+                       int[] native_to_position = new int [cnt_to_position];
+                       for (int i = 0; i < cnt_to_position; i++)
+                               native_to_position [i] = (int) to_position[i];
+                       IntPtr raw_ret = gst_buffer_get_audio_downmix_meta_for_channels(buffer == null ? IntPtr.Zero : buffer.Handle, native_to_position, to_channels);
+                       Gst.Audio.AudioDownmixMeta ret = Gst.Audio.AudioDownmixMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_stream_volume_convert_volume(int from, int to, double val);
+
+               public static double StreamVolumeConvertVolume(Gst.Audio.StreamVolumeFormat from, Gst.Audio.StreamVolumeFormat to, double val) {
+                       double raw_ret = gst_stream_volume_convert_volume((int) from, (int) to, val);
+                       double ret = raw_ret;
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative.cs b/sources/generated/Gst.Audio_Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative.cs
new file mode 100644 (file)
index 0000000..04cd762
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.AudioSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void AudioBaseSinkCustomSlavingCallbackNative(IntPtr sink, ulong etime, ulong itime, long requested_skew, int discont_reason, IntPtr user_data);
+
+       internal class AudioBaseSinkCustomSlavingCallbackInvoker {
+
+               AudioBaseSinkCustomSlavingCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~AudioBaseSinkCustomSlavingCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal AudioBaseSinkCustomSlavingCallbackInvoker (AudioBaseSinkCustomSlavingCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal AudioBaseSinkCustomSlavingCallbackInvoker (AudioBaseSinkCustomSlavingCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal AudioBaseSinkCustomSlavingCallbackInvoker (AudioBaseSinkCustomSlavingCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Audio.AudioBaseSinkCustomSlavingCallback Handler {
+                       get {
+                               return new Gst.Audio.AudioBaseSinkCustomSlavingCallback(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Audio.AudioBaseSink sink, ulong etime, ulong itime, long requested_skew, Gst.Audio.AudioBaseSinkDiscontReason discont_reason)
+               {
+                       native_cb (sink == null ? IntPtr.Zero : sink.Handle, etime, itime, requested_skew, (int) discont_reason, __data);
+               }
+       }
+
+       internal class AudioBaseSinkCustomSlavingCallbackWrapper {
+
+               public void NativeCallback (IntPtr sink, ulong etime, ulong itime, long requested_skew, int discont_reason, IntPtr user_data)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(sink) as Gst.Audio.AudioBaseSink, etime, itime, requested_skew, (Gst.Audio.AudioBaseSinkDiscontReason) discont_reason);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal AudioBaseSinkCustomSlavingCallbackNative NativeDelegate;
+               Gst.Audio.AudioBaseSinkCustomSlavingCallback managed;
+
+               public AudioBaseSinkCustomSlavingCallbackWrapper (Gst.Audio.AudioBaseSinkCustomSlavingCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new AudioBaseSinkCustomSlavingCallbackNative (NativeCallback);
+               }
+
+               public static Gst.Audio.AudioBaseSinkCustomSlavingCallback GetManagedDelegate (AudioBaseSinkCustomSlavingCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       AudioBaseSinkCustomSlavingCallbackWrapper wrapper = (AudioBaseSinkCustomSlavingCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_Gst.AudioSharp.AudioClockGetTimeFuncNative.cs b/sources/generated/Gst.Audio_Gst.AudioSharp.AudioClockGetTimeFuncNative.cs
new file mode 100644 (file)
index 0000000..e043dc2
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.AudioSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate ulong AudioClockGetTimeFuncNative(IntPtr clock, IntPtr user_data);
+
+       internal class AudioClockGetTimeFuncInvoker {
+
+               AudioClockGetTimeFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~AudioClockGetTimeFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal AudioClockGetTimeFuncInvoker (AudioClockGetTimeFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal AudioClockGetTimeFuncInvoker (AudioClockGetTimeFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal AudioClockGetTimeFuncInvoker (AudioClockGetTimeFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Audio.AudioClockGetTimeFunc Handler {
+                       get {
+                               return new Gst.Audio.AudioClockGetTimeFunc(InvokeNative);
+                       }
+               }
+
+               ulong InvokeNative (Gst.Clock clock)
+               {
+                       ulong __result = native_cb (clock == null ? IntPtr.Zero : clock.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class AudioClockGetTimeFuncWrapper {
+
+               public ulong NativeCallback (IntPtr clock, IntPtr user_data)
+               {
+                       try {
+                               ulong __ret = managed (GLib.Object.GetObject(clock) as Gst.Clock);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal AudioClockGetTimeFuncNative NativeDelegate;
+               Gst.Audio.AudioClockGetTimeFunc managed;
+
+               public AudioClockGetTimeFuncWrapper (Gst.Audio.AudioClockGetTimeFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new AudioClockGetTimeFuncNative (NativeCallback);
+               }
+
+               public static Gst.Audio.AudioClockGetTimeFunc GetManagedDelegate (AudioClockGetTimeFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       AudioClockGetTimeFuncWrapper wrapper = (AudioClockGetTimeFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_Gst.AudioSharp.AudioFormatPackNative.cs b/sources/generated/Gst.Audio_Gst.AudioSharp.AudioFormatPackNative.cs
new file mode 100644 (file)
index 0000000..7e19ad6
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.AudioSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void AudioFormatPackNative(IntPtr info, int flags, byte[] src, byte[] data, int n_length);
+
+       internal class AudioFormatPackInvoker {
+
+               AudioFormatPackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~AudioFormatPackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal AudioFormatPackInvoker (AudioFormatPackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal AudioFormatPackInvoker (AudioFormatPackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal AudioFormatPackInvoker (AudioFormatPackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Audio.AudioFormatPack Handler {
+                       get {
+                               return new Gst.Audio.AudioFormatPack(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Audio.AudioFormatInfo info, Gst.Audio.AudioPackFlags flags, byte[] src, byte[] data)
+               {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       native_cb (native_info, (int) flags, src, data, (data == null ? 0 : data.Length));
+                       Marshal.FreeHGlobal (native_info);
+               }
+       }
+
+       internal class AudioFormatPackWrapper {
+
+               public void NativeCallback (IntPtr info, int flags, byte[] src, byte[] data, int n_length)
+               {
+                       try {
+                               managed (Gst.Audio.AudioFormatInfo.New (info), (Gst.Audio.AudioPackFlags) flags, src, data);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal AudioFormatPackNative NativeDelegate;
+               Gst.Audio.AudioFormatPack managed;
+
+               public AudioFormatPackWrapper (Gst.Audio.AudioFormatPack managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new AudioFormatPackNative (NativeCallback);
+               }
+
+               public static Gst.Audio.AudioFormatPack GetManagedDelegate (AudioFormatPackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       AudioFormatPackWrapper wrapper = (AudioFormatPackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_Gst.AudioSharp.AudioFormatUnpackNative.cs b/sources/generated/Gst.Audio_Gst.AudioSharp.AudioFormatUnpackNative.cs
new file mode 100644 (file)
index 0000000..ff8cbaf
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.AudioSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void AudioFormatUnpackNative(IntPtr info, int flags, byte[] dest, byte[] data, int n_length);
+
+       internal class AudioFormatUnpackInvoker {
+
+               AudioFormatUnpackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~AudioFormatUnpackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal AudioFormatUnpackInvoker (AudioFormatUnpackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal AudioFormatUnpackInvoker (AudioFormatUnpackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal AudioFormatUnpackInvoker (AudioFormatUnpackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Audio.AudioFormatUnpack Handler {
+                       get {
+                               return new Gst.Audio.AudioFormatUnpack(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Audio.AudioFormatInfo info, Gst.Audio.AudioPackFlags flags, byte[] dest, byte[] data)
+               {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       native_cb (native_info, (int) flags, dest, data, (data == null ? 0 : data.Length));
+                       Marshal.FreeHGlobal (native_info);
+               }
+       }
+
+       internal class AudioFormatUnpackWrapper {
+
+               public void NativeCallback (IntPtr info, int flags, byte[] dest, byte[] data, int n_length)
+               {
+                       try {
+                               managed (Gst.Audio.AudioFormatInfo.New (info), (Gst.Audio.AudioPackFlags) flags, dest, data);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal AudioFormatUnpackNative NativeDelegate;
+               Gst.Audio.AudioFormatUnpack managed;
+
+               public AudioFormatUnpackWrapper (Gst.Audio.AudioFormatUnpack managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new AudioFormatUnpackNative (NativeCallback);
+               }
+
+               public static Gst.Audio.AudioFormatUnpack GetManagedDelegate (AudioFormatUnpackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       AudioFormatUnpackWrapper wrapper = (AudioFormatUnpackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_Gst.AudioSharp.AudioRingBufferCallbackNative.cs b/sources/generated/Gst.Audio_Gst.AudioSharp.AudioRingBufferCallbackNative.cs
new file mode 100644 (file)
index 0000000..d2e3dd4
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.AudioSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void AudioRingBufferCallbackNative(IntPtr rbuf, byte[] data, uint len, IntPtr user_data);
+
+       internal class AudioRingBufferCallbackInvoker {
+
+               AudioRingBufferCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~AudioRingBufferCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal AudioRingBufferCallbackInvoker (AudioRingBufferCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal AudioRingBufferCallbackInvoker (AudioRingBufferCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal AudioRingBufferCallbackInvoker (AudioRingBufferCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Audio.AudioRingBufferCallback Handler {
+                       get {
+                               return new Gst.Audio.AudioRingBufferCallback(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Audio.AudioRingBuffer rbuf, byte[] data, uint len)
+               {
+                       native_cb (rbuf == null ? IntPtr.Zero : rbuf.Handle, data, len, __data);
+               }
+       }
+
+       internal class AudioRingBufferCallbackWrapper {
+
+               public void NativeCallback (IntPtr rbuf, byte[] data, uint len, IntPtr user_data)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(rbuf) as Gst.Audio.AudioRingBuffer, data, len);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal AudioRingBufferCallbackNative NativeDelegate;
+               Gst.Audio.AudioRingBufferCallback managed;
+
+               public AudioRingBufferCallbackWrapper (Gst.Audio.AudioRingBufferCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new AudioRingBufferCallbackNative (NativeCallback);
+               }
+
+               public static Gst.Audio.AudioRingBufferCallback GetManagedDelegate (AudioRingBufferCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       AudioRingBufferCallbackWrapper wrapper = (AudioRingBufferCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_IStreamVolume.cs b/sources/generated/Gst.Audio_IStreamVolume.cs
new file mode 100644 (file)
index 0000000..7615560
--- /dev/null
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IStreamVolume : GLib.IWrapper {
+
+               double GetVolume(Gst.Audio.StreamVolumeFormat format);
+               void SetVolume(Gst.Audio.StreamVolumeFormat format, double val);
+               bool Mute {
+                       get; set;
+               }
+       }
+
+       [GLib.GInterface (typeof (StreamVolumeAdapter))]
+       public partial interface IStreamVolumeImplementor : GLib.IWrapper {
+
+               [GLib.Property ("mute")]
+               bool Mute {
+                       get; set;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Audio_StreamVolumeAdapter.cs b/sources/generated/Gst.Audio_StreamVolumeAdapter.cs
new file mode 100644 (file)
index 0000000..48d71b0
--- /dev/null
@@ -0,0 +1,148 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class StreamVolumeAdapter : GLib.GInterfaceAdapter, Gst.Audio.IStreamVolume {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstStreamVolumeInterface {
+               }
+
+               static GstStreamVolumeInterface iface;
+
+               static StreamVolumeAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (StreamVolumeAdapter));
+               }
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+               }
+
+               GLib.Object implementor;
+
+               public StreamVolumeAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public StreamVolumeAdapter (IStreamVolumeImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public StreamVolumeAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_volume_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_stream_volume_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IStreamVolume GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IStreamVolume GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IStreamVolumeImplementor)
+                               return new StreamVolumeAdapter (obj as IStreamVolumeImplementor);
+                       else if (obj as IStreamVolume == null)
+                               return new StreamVolumeAdapter (obj.Handle);
+                       else
+                               return obj as IStreamVolume;
+               }
+
+               public IStreamVolumeImplementor Implementor {
+                       get {
+                               return implementor as IStreamVolumeImplementor;
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_stream_volume_get_mute(IntPtr raw);
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_stream_volume_set_mute(IntPtr raw, bool mute);
+
+               [GLib.Property ("mute")]
+               public bool Mute {
+                       get  {
+                               bool raw_ret = gst_stream_volume_get_mute(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_stream_volume_set_mute(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_stream_volume_convert_volume(int from, int to, double val);
+
+               public static double ConvertVolume(Gst.Audio.StreamVolumeFormat from, Gst.Audio.StreamVolumeFormat to, double val) {
+                       double raw_ret = gst_stream_volume_convert_volume((int) from, (int) to, val);
+                       double ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_stream_volume_get_volume(IntPtr raw, int format);
+
+               public double GetVolume(Gst.Audio.StreamVolumeFormat format) {
+                       double raw_ret = gst_stream_volume_get_volume(Handle, (int) format);
+                       double ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_stream_volume_set_volume(IntPtr raw, int format, double val);
+
+               public void SetVolume(Gst.Audio.StreamVolumeFormat format, double val) {
+                       gst_stream_volume_set_volume(Handle, (int) format, val);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Audio_StreamVolumeFormat.cs b/sources/generated/Gst.Audio_StreamVolumeFormat.cs
new file mode 100644 (file)
index 0000000..d5d6628
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Audio {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum StreamVolumeFormat {
+
+               Linear = 0,
+               Cubic = 1,
+               Db = 2,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Adapter.cs b/sources/generated/Gst.Base_Adapter.cs
new file mode 100644 (file)
index 0000000..7194667
--- /dev/null
@@ -0,0 +1,303 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Adapter : GLib.Object {
+
+               public Adapter (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_new();
+
+               public Adapter () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Adapter)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_adapter_new();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (GLib.Object.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_adapter_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_adapter_available(IntPtr raw);
+
+               public ulong Available() {
+                       UIntPtr raw_ret = gst_adapter_available(Handle);
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_adapter_available_fast(IntPtr raw);
+
+               public ulong AvailableFast() {
+                       UIntPtr raw_ret = gst_adapter_available_fast(Handle);
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_adapter_clear(IntPtr raw);
+
+               public void Clear() {
+                       gst_adapter_clear(Handle);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_copy_bytes(IntPtr raw, UIntPtr offset, UIntPtr size);
+
+               public GLib.Bytes CopyBytes(ulong offset, ulong size) {
+                       IntPtr raw_ret = gst_adapter_copy_bytes(Handle, new UIntPtr (offset), new UIntPtr (size));
+                       GLib.Bytes ret = new GLib.Bytes(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_distance_from_discont(IntPtr raw);
+
+               public ulong DistanceFromDiscont() {
+                       ulong raw_ret = gst_adapter_distance_from_discont(Handle);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_dts_at_discont(IntPtr raw);
+
+               public ulong DtsAtDiscont() {
+                       ulong raw_ret = gst_adapter_dts_at_discont(Handle);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_adapter_flush(IntPtr raw, UIntPtr flush);
+
+               public void Flush(ulong flush) {
+                       gst_adapter_flush(Handle, new UIntPtr (flush));
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_get_buffer(IntPtr raw, UIntPtr nbytes);
+
+               public Gst.Buffer GetBuffer(ulong nbytes) {
+                       IntPtr raw_ret = gst_adapter_get_buffer(Handle, new UIntPtr (nbytes));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_get_buffer_fast(IntPtr raw, UIntPtr nbytes);
+
+               public Gst.Buffer GetBufferFast(ulong nbytes) {
+                       IntPtr raw_ret = gst_adapter_get_buffer_fast(Handle, new UIntPtr (nbytes));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_get_buffer_list(IntPtr raw, UIntPtr nbytes);
+
+               public Gst.BufferList GetBufferList(ulong nbytes) {
+                       IntPtr raw_ret = gst_adapter_get_buffer_list(Handle, new UIntPtr (nbytes));
+                       Gst.BufferList ret = raw_ret == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.BufferList), true);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_get_list(IntPtr raw, UIntPtr nbytes);
+
+               public GLib.List[] GetList(ulong nbytes) {
+                       IntPtr raw_ret = gst_adapter_get_list(Handle, new UIntPtr (nbytes));
+                       GLib.List[] ret = (GLib.List[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GLib.List));
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_masked_scan_uint32(IntPtr raw, uint mask, uint pattern, UIntPtr offset, UIntPtr size);
+
+               public long MaskedScanUint32(uint mask, uint pattern, ulong offset, ulong size) {
+                       IntPtr raw_ret = gst_adapter_masked_scan_uint32(Handle, mask, pattern, new UIntPtr (offset), new UIntPtr (size));
+                       long ret = (long) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_masked_scan_uint32_peek(IntPtr raw, uint mask, uint pattern, UIntPtr offset, UIntPtr size, out uint value);
+
+               public long MaskedScanUint32Peek(uint mask, uint pattern, ulong offset, ulong size, out uint value) {
+                       IntPtr raw_ret = gst_adapter_masked_scan_uint32_peek(Handle, mask, pattern, new UIntPtr (offset), new UIntPtr (size), out value);
+                       long ret = (long) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_offset_at_discont(IntPtr raw);
+
+               public ulong OffsetAtDiscont() {
+                       ulong raw_ret = gst_adapter_offset_at_discont(Handle);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_prev_dts(IntPtr raw, out ulong distance);
+
+               public ulong PrevDts(out ulong distance) {
+                       ulong raw_ret = gst_adapter_prev_dts(Handle, out distance);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_prev_dts_at_offset(IntPtr raw, UIntPtr offset, out ulong distance);
+
+               public ulong PrevDtsAtOffset(ulong offset, out ulong distance) {
+                       ulong raw_ret = gst_adapter_prev_dts_at_offset(Handle, new UIntPtr (offset), out distance);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_prev_offset(IntPtr raw, out ulong distance);
+
+               public ulong PrevOffset(out ulong distance) {
+                       ulong raw_ret = gst_adapter_prev_offset(Handle, out distance);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_prev_pts(IntPtr raw, out ulong distance);
+
+               public ulong PrevPts(out ulong distance) {
+                       ulong raw_ret = gst_adapter_prev_pts(Handle, out distance);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_prev_pts_at_offset(IntPtr raw, UIntPtr offset, out ulong distance);
+
+               public ulong PrevPtsAtOffset(ulong offset, out ulong distance) {
+                       ulong raw_ret = gst_adapter_prev_pts_at_offset(Handle, new UIntPtr (offset), out distance);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_adapter_pts_at_discont(IntPtr raw);
+
+               public ulong PtsAtDiscont() {
+                       ulong raw_ret = gst_adapter_pts_at_discont(Handle);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_adapter_push(IntPtr raw, IntPtr buf);
+
+               public void Push(Gst.Buffer buf) {
+                       buf.Owned = false;
+                       gst_adapter_push(Handle, buf == null ? IntPtr.Zero : buf.Handle);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_take_buffer(IntPtr raw, UIntPtr nbytes);
+
+               public Gst.Buffer TakeBuffer(ulong nbytes) {
+                       IntPtr raw_ret = gst_adapter_take_buffer(Handle, new UIntPtr (nbytes));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_take_buffer_fast(IntPtr raw, UIntPtr nbytes);
+
+               public Gst.Buffer TakeBufferFast(ulong nbytes) {
+                       IntPtr raw_ret = gst_adapter_take_buffer_fast(Handle, new UIntPtr (nbytes));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_take_buffer_list(IntPtr raw, UIntPtr nbytes);
+
+               public Gst.BufferList TakeBufferList(ulong nbytes) {
+                       IntPtr raw_ret = gst_adapter_take_buffer_list(Handle, new UIntPtr (nbytes));
+                       Gst.BufferList ret = raw_ret == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.BufferList), true);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_adapter_take_list(IntPtr raw, UIntPtr nbytes);
+
+               public GLib.List[] TakeList(ulong nbytes) {
+                       IntPtr raw_ret = gst_adapter_take_list(Handle, new UIntPtr (nbytes));
+                       GLib.List[] ret = (GLib.List[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GLib.List));
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_adapter_unmap(IntPtr raw);
+
+               public void Unmap() {
+                       gst_adapter_unmap(Handle);
+               }
+
+
+               static Adapter ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (GLib.Object.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_Aggregator.cs b/sources/generated/Gst.Base_Aggregator.cs
new file mode 100644 (file)
index 0000000..bffa325
--- /dev/null
@@ -0,0 +1,1348 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Aggregator : Gst.Element {
+
+               protected Aggregator (IntPtr raw) : base(raw) {}
+
+               protected Aggregator() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_aggregator_get_latency(IntPtr raw);
+
+               [GLib.Property ("latency")]
+               public ulong Latency {
+                       get  {
+                               ulong raw_ret = gst_aggregator_get_latency(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("latency", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("start-time")]
+               public ulong StartTime {
+                       get {
+                               GLib.Value val = GetProperty ("start-time");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("start-time", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public Gst.Pad Srcpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("srcpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public Gst.Segment Segment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               static FlushNativeDelegate Flush_cb_delegate;
+               static FlushNativeDelegate FlushVMCallback {
+                       get {
+                               if (Flush_cb_delegate == null)
+                                       Flush_cb_delegate = new FlushNativeDelegate (Flush_cb);
+                               return Flush_cb_delegate;
+                       }
+               }
+
+               static void OverrideFlush (GLib.GType gtype)
+               {
+                       OverrideFlush (gtype, FlushVMCallback);
+               }
+
+               static void OverrideFlush (GLib.GType gtype, FlushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int FlushNativeDelegate (IntPtr inst);
+
+               static int Flush_cb (IntPtr inst)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnFlush ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideFlush")]
+               protected virtual Gst.FlowReturn OnFlush ()
+               {
+                       return InternalFlush ();
+               }
+
+               private Gst.FlowReturn InternalFlush ()
+               {
+                       FlushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               unmanaged = (FlushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static ClipNativeDelegate Clip_cb_delegate;
+               static ClipNativeDelegate ClipVMCallback {
+                       get {
+                               if (Clip_cb_delegate == null)
+                                       Clip_cb_delegate = new ClipNativeDelegate (Clip_cb);
+                               return Clip_cb_delegate;
+                       }
+               }
+
+               static void OverrideClip (GLib.GType gtype)
+               {
+                       OverrideClip (gtype, ClipVMCallback);
+               }
+
+               static void OverrideClip (GLib.GType gtype, ClipNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("clip"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr ClipNativeDelegate (IntPtr inst, IntPtr aggregator_pad, IntPtr buf);
+
+               static IntPtr Clip_cb (IntPtr inst, IntPtr aggregator_pad, IntPtr buf)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               Gst.Buffer __result;
+                               __result = __obj.OnClip (GLib.Object.GetObject(aggregator_pad) as Gst.Base.AggregatorPad, buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideClip")]
+               protected virtual Gst.Buffer OnClip (Gst.Base.AggregatorPad aggregator_pad, Gst.Buffer buf)
+               {
+                       return InternalClip (aggregator_pad, buf);
+               }
+
+               private Gst.Buffer InternalClip (Gst.Base.AggregatorPad aggregator_pad, Gst.Buffer buf)
+               {
+                       ClipNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("clip"));
+                               unmanaged = (ClipNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ClipNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, aggregator_pad == null ? IntPtr.Zero : aggregator_pad.Handle, buf == null ? IntPtr.Zero : buf.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (__result, typeof (Gst.Buffer), true);
+               }
+
+               static FinishBufferNativeDelegate FinishBuffer_cb_delegate;
+               static FinishBufferNativeDelegate FinishBufferVMCallback {
+                       get {
+                               if (FinishBuffer_cb_delegate == null)
+                                       FinishBuffer_cb_delegate = new FinishBufferNativeDelegate (FinishBuffer_cb);
+                               return FinishBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideFinishBuffer (GLib.GType gtype)
+               {
+                       OverrideFinishBuffer (gtype, FinishBufferVMCallback);
+               }
+
+               static void OverrideFinishBuffer (GLib.GType gtype, FinishBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("finish_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int FinishBufferNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int FinishBuffer_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnFinishBuffer (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), true));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideFinishBuffer")]
+               protected virtual Gst.FlowReturn OnFinishBuffer (Gst.Buffer buffer)
+               {
+                       return InternalFinishBuffer (buffer);
+               }
+
+               private Gst.FlowReturn InternalFinishBuffer (Gst.Buffer buffer)
+               {
+                       FinishBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("finish_buffer"));
+                               unmanaged = (FinishBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FinishBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       buffer.Owned = false;
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SinkEventNativeDelegate SinkEvent_cb_delegate;
+               static SinkEventNativeDelegate SinkEventVMCallback {
+                       get {
+                               if (SinkEvent_cb_delegate == null)
+                                       SinkEvent_cb_delegate = new SinkEventNativeDelegate (SinkEvent_cb);
+                               return SinkEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype)
+               {
+                       OverrideSinkEvent (gtype, SinkEventVMCallback);
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype, SinkEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkEventNativeDelegate (IntPtr inst, IntPtr aggregator_pad, IntPtr evnt);
+
+               static bool SinkEvent_cb (IntPtr inst, IntPtr aggregator_pad, IntPtr evnt)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnSinkEvent (GLib.Object.GetObject(aggregator_pad) as Gst.Base.AggregatorPad, evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideSinkEvent")]
+               protected virtual bool OnSinkEvent (Gst.Base.AggregatorPad aggregator_pad, Gst.Event evnt)
+               {
+                       return InternalSinkEvent (aggregator_pad, evnt);
+               }
+
+               private bool InternalSinkEvent (Gst.Base.AggregatorPad aggregator_pad, Gst.Event evnt)
+               {
+                       SinkEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               unmanaged = (SinkEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, aggregator_pad == null ? IntPtr.Zero : aggregator_pad.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SinkQueryNativeDelegate SinkQuery_cb_delegate;
+               static SinkQueryNativeDelegate SinkQueryVMCallback {
+                       get {
+                               if (SinkQuery_cb_delegate == null)
+                                       SinkQuery_cb_delegate = new SinkQueryNativeDelegate (SinkQuery_cb);
+                               return SinkQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype)
+               {
+                       OverrideSinkQuery (gtype, SinkQueryVMCallback);
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype, SinkQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkQueryNativeDelegate (IntPtr inst, IntPtr aggregator_pad, IntPtr query);
+
+               static bool SinkQuery_cb (IntPtr inst, IntPtr aggregator_pad, IntPtr query)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnSinkQuery (GLib.Object.GetObject(aggregator_pad) as Gst.Base.AggregatorPad, query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideSinkQuery")]
+               protected virtual bool OnSinkQuery (Gst.Base.AggregatorPad aggregator_pad, Gst.Query query)
+               {
+                       return InternalSinkQuery (aggregator_pad, query);
+               }
+
+               private bool InternalSinkQuery (Gst.Base.AggregatorPad aggregator_pad, Gst.Query query)
+               {
+                       SinkQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               unmanaged = (SinkQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, aggregator_pad == null ? IntPtr.Zero : aggregator_pad.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static SrcEventNativeDelegate SrcEvent_cb_delegate;
+               static SrcEventNativeDelegate SrcEventVMCallback {
+                       get {
+                               if (SrcEvent_cb_delegate == null)
+                                       SrcEvent_cb_delegate = new SrcEventNativeDelegate (SrcEvent_cb);
+                               return SrcEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype)
+               {
+                       OverrideSrcEvent (gtype, SrcEventVMCallback);
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype, SrcEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SrcEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnSrcEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideSrcEvent")]
+               protected virtual bool OnSrcEvent (Gst.Event evnt)
+               {
+                       return InternalSrcEvent (evnt);
+               }
+
+               private bool InternalSrcEvent (Gst.Event evnt)
+               {
+                       SrcEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               unmanaged = (SrcEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SrcQueryNativeDelegate SrcQuery_cb_delegate;
+               static SrcQueryNativeDelegate SrcQueryVMCallback {
+                       get {
+                               if (SrcQuery_cb_delegate == null)
+                                       SrcQuery_cb_delegate = new SrcQueryNativeDelegate (SrcQuery_cb);
+                               return SrcQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype)
+               {
+                       OverrideSrcQuery (gtype, SrcQueryVMCallback);
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype, SrcQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SrcQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnSrcQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideSrcQuery")]
+               protected virtual bool OnSrcQuery (Gst.Query query)
+               {
+                       return InternalSrcQuery (query);
+               }
+
+               private bool InternalSrcQuery (Gst.Query query)
+               {
+                       SrcQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               unmanaged = (SrcQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static SrcActivateNativeDelegate SrcActivate_cb_delegate;
+               static SrcActivateNativeDelegate SrcActivateVMCallback {
+                       get {
+                               if (SrcActivate_cb_delegate == null)
+                                       SrcActivate_cb_delegate = new SrcActivateNativeDelegate (SrcActivate_cb);
+                               return SrcActivate_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcActivate (GLib.GType gtype)
+               {
+                       OverrideSrcActivate (gtype, SrcActivateVMCallback);
+               }
+
+               static void OverrideSrcActivate (GLib.GType gtype, SrcActivateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_activate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcActivateNativeDelegate (IntPtr inst, int mode, bool active);
+
+               static bool SrcActivate_cb (IntPtr inst, int mode, bool active)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnSrcActivate ((Gst.PadMode) mode, active);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideSrcActivate")]
+               protected virtual bool OnSrcActivate (Gst.PadMode mode, bool active)
+               {
+                       return InternalSrcActivate (mode, active);
+               }
+
+               private bool InternalSrcActivate (Gst.PadMode mode, bool active)
+               {
+                       SrcActivateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_activate"));
+                               unmanaged = (SrcActivateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcActivateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, (int) mode, active);
+                       return __result;
+               }
+
+               static AggregateNativeDelegate Aggregate_cb_delegate;
+               static AggregateNativeDelegate AggregateVMCallback {
+                       get {
+                               if (Aggregate_cb_delegate == null)
+                                       Aggregate_cb_delegate = new AggregateNativeDelegate (Aggregate_cb);
+                               return Aggregate_cb_delegate;
+                       }
+               }
+
+               static void OverrideAggregate (GLib.GType gtype)
+               {
+                       OverrideAggregate (gtype, AggregateVMCallback);
+               }
+
+               static void OverrideAggregate (GLib.GType gtype, AggregateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("aggregate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AggregateNativeDelegate (IntPtr inst, bool timeout);
+
+               static int Aggregate_cb (IntPtr inst, bool timeout)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnAggregate (timeout);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideAggregate")]
+               protected virtual Gst.FlowReturn OnAggregate (bool timeout)
+               {
+                       return InternalAggregate (timeout);
+               }
+
+               private Gst.FlowReturn InternalAggregate (bool timeout)
+               {
+                       AggregateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("aggregate"));
+                               unmanaged = (AggregateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AggregateNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, timeout);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static GetNextTimeNativeDelegate GetNextTime_cb_delegate;
+               static GetNextTimeNativeDelegate GetNextTimeVMCallback {
+                       get {
+                               if (GetNextTime_cb_delegate == null)
+                                       GetNextTime_cb_delegate = new GetNextTimeNativeDelegate (GetNextTime_cb);
+                               return GetNextTime_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetNextTime (GLib.GType gtype)
+               {
+                       OverrideGetNextTime (gtype, GetNextTimeVMCallback);
+               }
+
+               static void OverrideGetNextTime (GLib.GType gtype, GetNextTimeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_next_time"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate ulong GetNextTimeNativeDelegate (IntPtr inst);
+
+               static ulong GetNextTime_cb (IntPtr inst)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               ulong __result;
+                               __result = __obj.OnGetNextTime ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideGetNextTime")]
+               protected virtual ulong OnGetNextTime ()
+               {
+                       return InternalGetNextTime ();
+               }
+
+               private ulong InternalGetNextTime ()
+               {
+                       GetNextTimeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_next_time"));
+                               unmanaged = (GetNextTimeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetNextTimeNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       ulong __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static UpdateSrcCapsNativeDelegate UpdateSrcCaps_cb_delegate;
+               static UpdateSrcCapsNativeDelegate UpdateSrcCapsVMCallback {
+                       get {
+                               if (UpdateSrcCaps_cb_delegate == null)
+                                       UpdateSrcCaps_cb_delegate = new UpdateSrcCapsNativeDelegate (UpdateSrcCaps_cb);
+                               return UpdateSrcCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideUpdateSrcCaps (GLib.GType gtype)
+               {
+                       OverrideUpdateSrcCaps (gtype, UpdateSrcCapsVMCallback);
+               }
+
+               static void OverrideUpdateSrcCaps (GLib.GType gtype, UpdateSrcCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("update_src_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int UpdateSrcCapsNativeDelegate (IntPtr inst, IntPtr caps, IntPtr _ret);
+
+               static int UpdateSrcCaps_cb (IntPtr inst, IntPtr caps, IntPtr _ret)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnUpdateSrcCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false), _ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (_ret, typeof (Gst.Caps), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideUpdateSrcCaps")]
+               protected virtual Gst.FlowReturn OnUpdateSrcCaps (Gst.Caps caps, Gst.Caps _ret)
+               {
+                       return InternalUpdateSrcCaps (caps, _ret);
+               }
+
+               private Gst.FlowReturn InternalUpdateSrcCaps (Gst.Caps caps, Gst.Caps _ret)
+               {
+                       UpdateSrcCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("update_src_caps"));
+                               unmanaged = (UpdateSrcCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UpdateSrcCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle, _ret == null ? IntPtr.Zero : _ret.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static FixateSrcCapsNativeDelegate FixateSrcCaps_cb_delegate;
+               static FixateSrcCapsNativeDelegate FixateSrcCapsVMCallback {
+                       get {
+                               if (FixateSrcCaps_cb_delegate == null)
+                                       FixateSrcCaps_cb_delegate = new FixateSrcCapsNativeDelegate (FixateSrcCaps_cb);
+                               return FixateSrcCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideFixateSrcCaps (GLib.GType gtype)
+               {
+                       OverrideFixateSrcCaps (gtype, FixateSrcCapsVMCallback);
+               }
+
+               static void OverrideFixateSrcCaps (GLib.GType gtype, FixateSrcCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("fixate_src_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr FixateSrcCapsNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static IntPtr FixateSrcCaps_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               Gst.Caps __result;
+                               __result = __obj.OnFixateSrcCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideFixateSrcCaps")]
+               protected virtual Gst.Caps OnFixateSrcCaps (Gst.Caps caps)
+               {
+                       return InternalFixateSrcCaps (caps);
+               }
+
+               private Gst.Caps InternalFixateSrcCaps (Gst.Caps caps)
+               {
+                       FixateSrcCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("fixate_src_caps"));
+                               unmanaged = (FixateSrcCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FixateSrcCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static NegotiatedSrcCapsNativeDelegate NegotiatedSrcCaps_cb_delegate;
+               static NegotiatedSrcCapsNativeDelegate NegotiatedSrcCapsVMCallback {
+                       get {
+                               if (NegotiatedSrcCaps_cb_delegate == null)
+                                       NegotiatedSrcCaps_cb_delegate = new NegotiatedSrcCapsNativeDelegate (NegotiatedSrcCaps_cb);
+                               return NegotiatedSrcCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideNegotiatedSrcCaps (GLib.GType gtype)
+               {
+                       OverrideNegotiatedSrcCaps (gtype, NegotiatedSrcCapsVMCallback);
+               }
+
+               static void OverrideNegotiatedSrcCaps (GLib.GType gtype, NegotiatedSrcCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiated_src_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool NegotiatedSrcCapsNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static bool NegotiatedSrcCaps_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnNegotiatedSrcCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideNegotiatedSrcCaps")]
+               protected virtual bool OnNegotiatedSrcCaps (Gst.Caps caps)
+               {
+                       return InternalNegotiatedSrcCaps (caps);
+               }
+
+               private bool InternalNegotiatedSrcCaps (Gst.Caps caps)
+               {
+                       NegotiatedSrcCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiated_src_caps"));
+                               unmanaged = (NegotiatedSrcCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NegotiatedSrcCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result;
+               }
+
+               static DecideAllocationNativeDelegate DecideAllocation_cb_delegate;
+               static DecideAllocationNativeDelegate DecideAllocationVMCallback {
+                       get {
+                               if (DecideAllocation_cb_delegate == null)
+                                       DecideAllocation_cb_delegate = new DecideAllocationNativeDelegate (DecideAllocation_cb);
+                               return DecideAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype)
+               {
+                       OverrideDecideAllocation (gtype, DecideAllocationVMCallback);
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype, DecideAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DecideAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool DecideAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnDecideAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideDecideAllocation")]
+               protected virtual bool OnDecideAllocation (Gst.Query query)
+               {
+                       return InternalDecideAllocation (query);
+               }
+
+               private bool InternalDecideAllocation (Gst.Query query)
+               {
+                       DecideAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               unmanaged = (DecideAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DecideAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static ProposeAllocationNativeDelegate ProposeAllocation_cb_delegate;
+               static ProposeAllocationNativeDelegate ProposeAllocationVMCallback {
+                       get {
+                               if (ProposeAllocation_cb_delegate == null)
+                                       ProposeAllocation_cb_delegate = new ProposeAllocationNativeDelegate (ProposeAllocation_cb);
+                               return ProposeAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype)
+               {
+                       OverrideProposeAllocation (gtype, ProposeAllocationVMCallback);
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype, ProposeAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ProposeAllocationNativeDelegate (IntPtr inst, IntPtr pad, IntPtr decide_query, IntPtr query);
+
+               static bool ProposeAllocation_cb (IntPtr inst, IntPtr pad, IntPtr decide_query, IntPtr query)
+               {
+                       try {
+                               Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+                               bool __result;
+                               __result = __obj.OnProposeAllocation (GLib.Object.GetObject(pad) as Gst.Base.AggregatorPad, decide_query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (decide_query, typeof (Gst.Query), false), query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideProposeAllocation")]
+               protected virtual bool OnProposeAllocation (Gst.Base.AggregatorPad pad, Gst.Query decide_query, Gst.Query query)
+               {
+                       return InternalProposeAllocation (pad, decide_query, query);
+               }
+
+               private bool InternalProposeAllocation (Gst.Base.AggregatorPad pad, Gst.Query decide_query, Gst.Query query)
+               {
+                       ProposeAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               unmanaged = (ProposeAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProposeAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, pad == null ? IntPtr.Zero : pad.Handle, decide_query == null ? IntPtr.Zero : decide_query.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("flush"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush
+                                                       , null
+                                                       , "clip"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clip"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // clip
+                                                       , "flush"
+                                                       , "finish_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("finish_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // finish_buffer
+                                                       , "clip"
+                                                       , "sink_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event
+                                                       , "finish_buffer"
+                                                       , "sink_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_query
+                                                       , "sink_event"
+                                                       , "src_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_event
+                                                       , "sink_query"
+                                                       , "src_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_query
+                                                       , "src_event"
+                                                       , "src_activate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_activate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_activate
+                                                       , "src_query"
+                                                       , "aggregate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("aggregate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // aggregate
+                                                       , "src_activate"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "aggregate"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "stop"
+                                                       , "get_next_time"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_next_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_next_time
+                                                       , "start"
+                                                       , "create_new_pad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create_new_pad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_new_pad
+                                                       , "get_next_time"
+                                                       , "update_src_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("update_src_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // update_src_caps
+                                                       , "create_new_pad"
+                                                       , "fixate_src_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("fixate_src_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // fixate_src_caps
+                                                       , "update_src_caps"
+                                                       , "negotiated_src_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("negotiated_src_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // negotiated_src_caps
+                                                       , "fixate_src_caps"
+                                                       , "decide_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("decide_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // decide_allocation
+                                                       , "negotiated_src_caps"
+                                                       , "propose_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("propose_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // propose_allocation
+                                                       , "decide_allocation"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "propose_allocation"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_aggregator_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_aggregator_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_aggregator_finish_buffer(IntPtr raw, IntPtr buffer);
+
+               public Gst.FlowReturn FinishBuffer(Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       int raw_ret = gst_aggregator_finish_buffer(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_aggregator_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms);
+
+               public void GetAllocator(out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       gst_aggregator_get_allocator(Handle, out native_allocator, native_parms);
+                       allocator = GLib.Object.GetObject(native_allocator, true) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_aggregator_get_buffer_pool(IntPtr raw);
+
+               public Gst.BufferPool BufferPool { 
+                       get {
+                               IntPtr raw_ret = gst_aggregator_get_buffer_pool(Handle);
+                               Gst.BufferPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.BufferPool;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_aggregator_set_latency(IntPtr raw, ulong min_latency, ulong max_latency);
+
+               public void SetLatency(ulong min_latency, ulong max_latency) {
+                       gst_aggregator_set_latency(Handle, min_latency, max_latency);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_aggregator_set_src_caps(IntPtr raw, IntPtr caps);
+
+               public Gst.Caps SrcCaps { 
+                       set {
+                               gst_aggregator_set_src_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+
+               static Aggregator ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("srcpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , null
+                                                       , "segment"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment
+                                                       , "srcpad"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAggregator_segmentAlign), "segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "segment"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAggregator_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment segment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_AggregatorPad.cs b/sources/generated/Gst.Base_AggregatorPad.cs
new file mode 100644 (file)
index 0000000..6c5a434
--- /dev/null
@@ -0,0 +1,289 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AggregatorPad : Gst.Pad {
+
+               public AggregatorPad (IntPtr raw) : base(raw) {}
+
+               protected AggregatorPad() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public Gst.Segment Segment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               static FlushNativeDelegate Flush_cb_delegate;
+               static FlushNativeDelegate FlushVMCallback {
+                       get {
+                               if (Flush_cb_delegate == null)
+                                       Flush_cb_delegate = new FlushNativeDelegate (Flush_cb);
+                               return Flush_cb_delegate;
+                       }
+               }
+
+               static void OverrideFlush (GLib.GType gtype)
+               {
+                       OverrideFlush (gtype, FlushVMCallback);
+               }
+
+               static void OverrideFlush (GLib.GType gtype, FlushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int FlushNativeDelegate (IntPtr inst, IntPtr aggregator);
+
+               static int Flush_cb (IntPtr inst, IntPtr aggregator)
+               {
+                       try {
+                               AggregatorPad __obj = GLib.Object.GetObject (inst, false) as AggregatorPad;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnFlush (GLib.Object.GetObject(aggregator) as Gst.Base.Aggregator);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.AggregatorPad), ConnectionMethod="OverrideFlush")]
+               protected virtual Gst.FlowReturn OnFlush (Gst.Base.Aggregator aggregator)
+               {
+                       return InternalFlush (aggregator);
+               }
+
+               private Gst.FlowReturn InternalFlush (Gst.Base.Aggregator aggregator)
+               {
+                       FlushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               unmanaged = (FlushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, aggregator == null ? IntPtr.Zero : aggregator.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SkipBufferNativeDelegate SkipBuffer_cb_delegate;
+               static SkipBufferNativeDelegate SkipBufferVMCallback {
+                       get {
+                               if (SkipBuffer_cb_delegate == null)
+                                       SkipBuffer_cb_delegate = new SkipBufferNativeDelegate (SkipBuffer_cb);
+                               return SkipBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideSkipBuffer (GLib.GType gtype)
+               {
+                       OverrideSkipBuffer (gtype, SkipBufferVMCallback);
+               }
+
+               static void OverrideSkipBuffer (GLib.GType gtype, SkipBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("skip_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SkipBufferNativeDelegate (IntPtr inst, IntPtr aggregator, IntPtr buffer);
+
+               static bool SkipBuffer_cb (IntPtr inst, IntPtr aggregator, IntPtr buffer)
+               {
+                       try {
+                               AggregatorPad __obj = GLib.Object.GetObject (inst, false) as AggregatorPad;
+                               bool __result;
+                               __result = __obj.OnSkipBuffer (GLib.Object.GetObject(aggregator) as Gst.Base.Aggregator, buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.AggregatorPad), ConnectionMethod="OverrideSkipBuffer")]
+               protected virtual bool OnSkipBuffer (Gst.Base.Aggregator aggregator, Gst.Buffer buffer)
+               {
+                       return InternalSkipBuffer (aggregator, buffer);
+               }
+
+               private bool InternalSkipBuffer (Gst.Base.Aggregator aggregator, Gst.Buffer buffer)
+               {
+                       SkipBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("skip_buffer"));
+                               unmanaged = (SkipBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SkipBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, aggregator == null ? IntPtr.Zero : aggregator.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("flush"
+                                                       , Gst.Pad.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush
+                                                       , null
+                                                       , "skip_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("skip_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // skip_buffer
+                                                       , "flush"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "skip_buffer"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_aggregator_pad_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_aggregator_pad_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_aggregator_pad_drop_buffer(IntPtr raw);
+
+               public bool DropBuffer() {
+                       bool raw_ret = gst_aggregator_pad_drop_buffer(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_aggregator_pad_is_eos(IntPtr raw);
+
+               public bool IsEos { 
+                       get {
+                               bool raw_ret = gst_aggregator_pad_is_eos(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_aggregator_pad_peek_buffer(IntPtr raw);
+
+               public Gst.Buffer PeekBuffer() {
+                       IntPtr raw_ret = gst_aggregator_pad_peek_buffer(Handle);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_aggregator_pad_pop_buffer(IntPtr raw);
+
+               public Gst.Buffer PopBuffer() {
+                       IntPtr raw_ret = gst_aggregator_pad_pop_buffer(Handle);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+
+               static AggregatorPad ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("segment"
+                                                       , Gst.Pad.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment
+                                                       , null
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAggregatorPad_segmentAlign), "segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "segment"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAggregatorPad_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment segment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_BaseParse.cs b/sources/generated/Gst.Base_BaseParse.cs
new file mode 100644 (file)
index 0000000..7d694b7
--- /dev/null
@@ -0,0 +1,1139 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BaseParse : Gst.Element {
+
+               protected BaseParse (IntPtr raw) : base(raw) {}
+
+               protected BaseParse() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("disable-passthrough")]
+               public bool DisablePassthrough {
+                       get {
+                               GLib.Value val = GetProperty ("disable-passthrough");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("disable-passthrough", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public Gst.Pad Sinkpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sinkpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public Gst.Pad Srcpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("srcpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public uint Flags {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Segment Segment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static SetSinkCapsNativeDelegate SetSinkCaps_cb_delegate;
+               static SetSinkCapsNativeDelegate SetSinkCapsVMCallback {
+                       get {
+                               if (SetSinkCaps_cb_delegate == null)
+                                       SetSinkCaps_cb_delegate = new SetSinkCapsNativeDelegate (SetSinkCaps_cb);
+                               return SetSinkCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetSinkCaps (GLib.GType gtype)
+               {
+                       OverrideSetSinkCaps (gtype, SetSinkCapsVMCallback);
+               }
+
+               static void OverrideSetSinkCaps (GLib.GType gtype, SetSinkCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_sink_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetSinkCapsNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static bool SetSinkCaps_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               bool __result;
+                               __result = __obj.OnSetSinkCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideSetSinkCaps")]
+               protected virtual bool OnSetSinkCaps (Gst.Caps caps)
+               {
+                       return InternalSetSinkCaps (caps);
+               }
+
+               private bool InternalSetSinkCaps (Gst.Caps caps)
+               {
+                       SetSinkCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_sink_caps"));
+                               unmanaged = (SetSinkCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetSinkCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result;
+               }
+
+               static HandleFrameNativeDelegate HandleFrame_cb_delegate;
+               static HandleFrameNativeDelegate HandleFrameVMCallback {
+                       get {
+                               if (HandleFrame_cb_delegate == null)
+                                       HandleFrame_cb_delegate = new HandleFrameNativeDelegate (HandleFrame_cb);
+                               return HandleFrame_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype)
+               {
+                       OverrideHandleFrame (gtype, HandleFrameVMCallback);
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype, HandleFrameNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int HandleFrameNativeDelegate (IntPtr inst, IntPtr frame, int skipsize);
+
+               static int HandleFrame_cb (IntPtr inst, IntPtr frame, int skipsize)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnHandleFrame (Gst.Base.BaseParseFrame.New (frame), skipsize);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideHandleFrame")]
+               protected virtual Gst.FlowReturn OnHandleFrame (Gst.Base.BaseParseFrame frame, int skipsize)
+               {
+                       return InternalHandleFrame (frame, skipsize);
+               }
+
+               private Gst.FlowReturn InternalHandleFrame (Gst.Base.BaseParseFrame frame, int skipsize)
+               {
+                       HandleFrameNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               unmanaged = (HandleFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleFrameNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int __result = unmanaged (this.Handle, native_frame, skipsize);
+                       Marshal.FreeHGlobal (native_frame);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static PrePushFrameNativeDelegate PrePushFrame_cb_delegate;
+               static PrePushFrameNativeDelegate PrePushFrameVMCallback {
+                       get {
+                               if (PrePushFrame_cb_delegate == null)
+                                       PrePushFrame_cb_delegate = new PrePushFrameNativeDelegate (PrePushFrame_cb);
+                               return PrePushFrame_cb_delegate;
+                       }
+               }
+
+               static void OverridePrePushFrame (GLib.GType gtype)
+               {
+                       OverridePrePushFrame (gtype, PrePushFrameVMCallback);
+               }
+
+               static void OverridePrePushFrame (GLib.GType gtype, PrePushFrameNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_push_frame"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrePushFrameNativeDelegate (IntPtr inst, IntPtr frame);
+
+               static int PrePushFrame_cb (IntPtr inst, IntPtr frame)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPrePushFrame (Gst.Base.BaseParseFrame.New (frame));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverridePrePushFrame")]
+               protected virtual Gst.FlowReturn OnPrePushFrame (Gst.Base.BaseParseFrame frame)
+               {
+                       return InternalPrePushFrame (frame);
+               }
+
+               private Gst.FlowReturn InternalPrePushFrame (Gst.Base.BaseParseFrame frame)
+               {
+                       PrePushFrameNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_push_frame"));
+                               unmanaged = (PrePushFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrePushFrameNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int __result = unmanaged (this.Handle, native_frame);
+                       Marshal.FreeHGlobal (native_frame);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static ConvertNativeDelegate Convert_cb_delegate;
+               static ConvertNativeDelegate ConvertVMCallback {
+                       get {
+                               if (Convert_cb_delegate == null)
+                                       Convert_cb_delegate = new ConvertNativeDelegate (Convert_cb);
+                               return Convert_cb_delegate;
+                       }
+               }
+
+               static void OverrideConvert (GLib.GType gtype)
+               {
+                       OverrideConvert (gtype, ConvertVMCallback);
+               }
+
+               static void OverrideConvert (GLib.GType gtype, ConvertNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("convert"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ConvertNativeDelegate (IntPtr inst, int src_format, long src_value, int dest_format, long dest_value);
+
+               static bool Convert_cb (IntPtr inst, int src_format, long src_value, int dest_format, long dest_value)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               bool __result;
+                               __result = __obj.OnConvert ((Gst.Format) src_format, src_value, (Gst.Format) dest_format, dest_value);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideConvert")]
+               protected virtual bool OnConvert (Gst.Format src_format, long src_value, Gst.Format dest_format, long dest_value)
+               {
+                       return InternalConvert (src_format, src_value, dest_format, dest_value);
+               }
+
+               private bool InternalConvert (Gst.Format src_format, long src_value, Gst.Format dest_format, long dest_value)
+               {
+                       ConvertNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("convert"));
+                               unmanaged = (ConvertNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ConvertNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, (int) src_format, src_value, (int) dest_format, dest_value);
+                       return __result;
+               }
+
+               static SinkEventNativeDelegate SinkEvent_cb_delegate;
+               static SinkEventNativeDelegate SinkEventVMCallback {
+                       get {
+                               if (SinkEvent_cb_delegate == null)
+                                       SinkEvent_cb_delegate = new SinkEventNativeDelegate (SinkEvent_cb);
+                               return SinkEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype)
+               {
+                       OverrideSinkEvent (gtype, SinkEventVMCallback);
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype, SinkEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SinkEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               bool __result;
+                               __result = __obj.OnSinkEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideSinkEvent")]
+               protected virtual bool OnSinkEvent (Gst.Event evnt)
+               {
+                       return InternalSinkEvent (evnt);
+               }
+
+               private bool InternalSinkEvent (Gst.Event evnt)
+               {
+                       SinkEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               unmanaged = (SinkEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SrcEventNativeDelegate SrcEvent_cb_delegate;
+               static SrcEventNativeDelegate SrcEventVMCallback {
+                       get {
+                               if (SrcEvent_cb_delegate == null)
+                                       SrcEvent_cb_delegate = new SrcEventNativeDelegate (SrcEvent_cb);
+                               return SrcEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype)
+               {
+                       OverrideSrcEvent (gtype, SrcEventVMCallback);
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype, SrcEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SrcEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               bool __result;
+                               __result = __obj.OnSrcEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideSrcEvent")]
+               protected virtual bool OnSrcEvent (Gst.Event evnt)
+               {
+                       return InternalSrcEvent (evnt);
+               }
+
+               private bool InternalSrcEvent (Gst.Event evnt)
+               {
+                       SrcEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               unmanaged = (SrcEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static GetSinkCapsNativeDelegate GetSinkCaps_cb_delegate;
+               static GetSinkCapsNativeDelegate GetSinkCapsVMCallback {
+                       get {
+                               if (GetSinkCaps_cb_delegate == null)
+                                       GetSinkCaps_cb_delegate = new GetSinkCapsNativeDelegate (GetSinkCaps_cb);
+                               return GetSinkCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetSinkCaps (GLib.GType gtype)
+               {
+                       OverrideGetSinkCaps (gtype, GetSinkCapsVMCallback);
+               }
+
+               static void OverrideGetSinkCaps (GLib.GType gtype, GetSinkCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_sink_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetSinkCapsNativeDelegate (IntPtr inst, IntPtr filter);
+
+               static IntPtr GetSinkCaps_cb (IntPtr inst, IntPtr filter)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               Gst.Caps __result;
+                               __result = __obj.OnGetSinkCaps (filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideGetSinkCaps")]
+               protected virtual Gst.Caps OnGetSinkCaps (Gst.Caps filter)
+               {
+                       return InternalGetSinkCaps (filter);
+               }
+
+               private Gst.Caps InternalGetSinkCaps (Gst.Caps filter)
+               {
+                       GetSinkCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_sink_caps"));
+                               unmanaged = (GetSinkCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetSinkCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static DetectNativeDelegate Detect_cb_delegate;
+               static DetectNativeDelegate DetectVMCallback {
+                       get {
+                               if (Detect_cb_delegate == null)
+                                       Detect_cb_delegate = new DetectNativeDelegate (Detect_cb);
+                               return Detect_cb_delegate;
+                       }
+               }
+
+               static void OverrideDetect (GLib.GType gtype)
+               {
+                       OverrideDetect (gtype, DetectVMCallback);
+               }
+
+               static void OverrideDetect (GLib.GType gtype, DetectNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("detect"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int DetectNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int Detect_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnDetect (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideDetect")]
+               protected virtual Gst.FlowReturn OnDetect (Gst.Buffer buffer)
+               {
+                       return InternalDetect (buffer);
+               }
+
+               private Gst.FlowReturn InternalDetect (Gst.Buffer buffer)
+               {
+                       DetectNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("detect"));
+                               unmanaged = (DetectNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DetectNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SinkQueryNativeDelegate SinkQuery_cb_delegate;
+               static SinkQueryNativeDelegate SinkQueryVMCallback {
+                       get {
+                               if (SinkQuery_cb_delegate == null)
+                                       SinkQuery_cb_delegate = new SinkQueryNativeDelegate (SinkQuery_cb);
+                               return SinkQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype)
+               {
+                       OverrideSinkQuery (gtype, SinkQueryVMCallback);
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype, SinkQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SinkQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               bool __result;
+                               __result = __obj.OnSinkQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideSinkQuery")]
+               protected virtual bool OnSinkQuery (Gst.Query query)
+               {
+                       return InternalSinkQuery (query);
+               }
+
+               private bool InternalSinkQuery (Gst.Query query)
+               {
+                       SinkQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               unmanaged = (SinkQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static SrcQueryNativeDelegate SrcQuery_cb_delegate;
+               static SrcQueryNativeDelegate SrcQueryVMCallback {
+                       get {
+                               if (SrcQuery_cb_delegate == null)
+                                       SrcQuery_cb_delegate = new SrcQueryNativeDelegate (SrcQuery_cb);
+                               return SrcQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype)
+               {
+                       OverrideSrcQuery (gtype, SrcQueryVMCallback);
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype, SrcQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SrcQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               BaseParse __obj = GLib.Object.GetObject (inst, false) as BaseParse;
+                               bool __result;
+                               __result = __obj.OnSrcQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseParse), ConnectionMethod="OverrideSrcQuery")]
+               protected virtual bool OnSrcQuery (Gst.Query query)
+               {
+                       return InternalSrcQuery (query);
+               }
+
+               private bool InternalSrcQuery (Gst.Query query)
+               {
+                       SrcQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               unmanaged = (SrcQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("start"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , null
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "set_sink_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_sink_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_sink_caps
+                                                       , "stop"
+                                                       , "handle_frame"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_frame"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_frame
+                                                       , "set_sink_caps"
+                                                       , "pre_push_frame"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_push_frame"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_push_frame
+                                                       , "handle_frame"
+                                                       , "convert"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("convert"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // convert
+                                                       , "pre_push_frame"
+                                                       , "sink_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event
+                                                       , "convert"
+                                                       , "src_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_event
+                                                       , "sink_event"
+                                                       , "get_sink_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_sink_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_sink_caps
+                                                       , "src_event"
+                                                       , "detect"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("detect"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // detect
+                                                       , "get_sink_caps"
+                                                       , "sink_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_query
+                                                       , "detect"
+                                                       , "src_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_query
+                                                       , "sink_query"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 18 // _gst_reserved
+                                                       , "src_query"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_parse_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_base_parse_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_parse_add_index_entry(IntPtr raw, ulong offset, ulong ts, bool key, bool force);
+
+               public bool AddIndexEntry(ulong offset, ulong ts, bool key, bool force) {
+                       bool raw_ret = gst_base_parse_add_index_entry(Handle, offset, ts, key, force);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_parse_convert_default(IntPtr raw, int src_format, long src_value, int dest_format, long dest_value);
+
+               public bool ConvertDefault(Gst.Format src_format, long src_value, Gst.Format dest_format, long dest_value) {
+                       bool raw_ret = gst_base_parse_convert_default(Handle, (int) src_format, src_value, (int) dest_format, dest_value);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_drain(IntPtr raw);
+
+               public void Drain() {
+                       gst_base_parse_drain(Handle);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_base_parse_finish_frame(IntPtr raw, IntPtr frame, int size);
+
+               public Gst.FlowReturn FinishFrame(Gst.Base.BaseParseFrame frame, int size) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int raw_ret = gst_base_parse_finish_frame(Handle, native_frame, size);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_merge_tags(IntPtr raw, IntPtr tags, int mode);
+
+               public void MergeTags(Gst.TagList tags, Gst.TagMergeMode mode) {
+                       gst_base_parse_merge_tags(Handle, tags == null ? IntPtr.Zero : tags.Handle, (int) mode);
+               }
+
+               public void MergeTags(Gst.TagMergeMode mode) {
+                       MergeTags (null, mode);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_base_parse_push_frame(IntPtr raw, IntPtr frame);
+
+               public Gst.FlowReturn PushFrame(Gst.Base.BaseParseFrame frame) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int raw_ret = gst_base_parse_push_frame(Handle, native_frame);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_average_bitrate(IntPtr raw, uint bitrate);
+
+               public uint AverageBitrate { 
+                       set {
+                               gst_base_parse_set_average_bitrate(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_duration(IntPtr raw, int fmt, long duration, int interval);
+
+               public void SetDuration(Gst.Format fmt, long duration, int interval) {
+                       gst_base_parse_set_duration(Handle, (int) fmt, duration, interval);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_frame_rate(IntPtr raw, uint fps_num, uint fps_den, uint lead_in, uint lead_out);
+
+               public void SetFrameRate(uint fps_num, uint fps_den, uint lead_in, uint lead_out) {
+                       gst_base_parse_set_frame_rate(Handle, fps_num, fps_den, lead_in, lead_out);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_has_timing_info(IntPtr raw, bool has_timing);
+
+               public bool HasTimingInfo { 
+                       set {
+                               gst_base_parse_set_has_timing_info(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_infer_ts(IntPtr raw, bool infer_ts);
+
+               public bool InferTs { 
+                       set {
+                               gst_base_parse_set_infer_ts(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_latency(IntPtr raw, ulong min_latency, ulong max_latency);
+
+               public void SetLatency(ulong min_latency, ulong max_latency) {
+                       gst_base_parse_set_latency(Handle, min_latency, max_latency);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_min_frame_size(IntPtr raw, uint min_size);
+
+               public uint MinFrameSize { 
+                       set {
+                               gst_base_parse_set_min_frame_size(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_passthrough(IntPtr raw, bool passthrough);
+
+               public bool Passthrough { 
+                       set {
+                               gst_base_parse_set_passthrough(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_pts_interpolation(IntPtr raw, bool pts_interpolate);
+
+               public bool PtsInterpolation { 
+                       set {
+                               gst_base_parse_set_pts_interpolation(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_syncable(IntPtr raw, bool syncable);
+
+               public bool Syncable { 
+                       set {
+                               gst_base_parse_set_syncable(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_set_ts_at_offset(IntPtr raw, UIntPtr offset);
+
+               public ulong TsAtOffset { 
+                       set {
+                               gst_base_parse_set_ts_at_offset(Handle, new UIntPtr (value));
+                       }
+               }
+
+
+               static BaseParse ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "srcpad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , "sinkpad"
+                                                       , "flags"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flags"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // flags
+                                                       , "srcpad"
+                                                       , "segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseParse_flagsAlign), "flags")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment
+                                                       , "flags"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseParse_segmentAlign), "segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "segment"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "_gst_reserved"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseParse_flagsAlign
+               {
+                       sbyte f1;
+                       private uint flags;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseParse_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment segment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_BaseParseFrame.cs b/sources/generated/Gst.Base_BaseParseFrame.cs
new file mode 100644 (file)
index 0000000..36a843d
--- /dev/null
@@ -0,0 +1,116 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct BaseParseFrame : IEquatable<BaseParseFrame> {
+
+               private IntPtr _buffer;
+               public Gst.Buffer Buffer {
+                       get {
+                               return _buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _out_buffer;
+               public Gst.Buffer OutBuffer {
+                       get {
+                               return _out_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_out_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _out_buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public uint Flags;
+               public ulong Offset;
+               public int Overhead;
+               private int size;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=2)]
+               private uint[] _gstGstReservedI;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=2)]
+               private IntPtr[] _gstGstReservedP;
+               private uint _private_flags;
+
+               public static Gst.Base.BaseParseFrame Zero = new Gst.Base.BaseParseFrame ();
+
+               public static Gst.Base.BaseParseFrame New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Base.BaseParseFrame.Zero;
+                       return (Gst.Base.BaseParseFrame) Marshal.PtrToStructure (raw, typeof (Gst.Base.BaseParseFrame));
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_parse_frame_new(IntPtr buffer, int flags, int overhead);
+
+               public static BaseParseFrame New(Gst.Buffer buffer, Gst.Base.BaseParseFrameFlags flags, int overhead)
+               {
+                       BaseParseFrame result = BaseParseFrame.New (gst_base_parse_frame_new(buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags, overhead));
+                       return result;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_parse_frame_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_base_parse_frame_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_parse_frame_init(IntPtr raw);
+
+               public void Init() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_base_parse_frame_init(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Base.BaseParseFrame target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (BaseParseFrame other)
+               {
+                       return true && Buffer.Equals (other.Buffer) && OutBuffer.Equals (other.OutBuffer) && Flags.Equals (other.Flags) && Offset.Equals (other.Offset) && Overhead.Equals (other.Overhead) && size.Equals (other.size) && _private_flags.Equals (other._private_flags);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is BaseParseFrame && Equals ((BaseParseFrame) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Buffer.GetHashCode () ^ OutBuffer.GetHashCode () ^ Flags.GetHashCode () ^ Offset.GetHashCode () ^ Overhead.GetHashCode () ^ size.GetHashCode () ^ _private_flags.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Base.BaseParseFrame boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Base.BaseParseFrame.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Base.BaseParseFrame (GLib.Value val)
+               {
+                       return (Gst.Base.BaseParseFrame) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_BaseParseFrameFlags.cs b/sources/generated/Gst.Base_BaseParseFrameFlags.cs
new file mode 100644 (file)
index 0000000..7469d9d
--- /dev/null
@@ -0,0 +1,21 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       public enum BaseParseFrameFlags {
+
+               None = 0,
+               NewFrame = 1,
+               NoFrame = 2,
+               Clip = 4,
+               Drop = 8,
+               Queue = 16,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_BaseSink.cs b/sources/generated/Gst.Base_BaseSink.cs
new file mode 100644 (file)
index 0000000..74b7592
--- /dev/null
@@ -0,0 +1,1960 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BaseSink : Gst.Element {
+
+               protected BaseSink (IntPtr raw) : base(raw) {}
+
+               protected BaseSink() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("async")]
+               public bool Async {
+                       get {
+                               GLib.Value val = GetProperty ("async");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("async", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_base_sink_get_blocksize(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_blocksize(IntPtr raw, uint blocksize);
+
+               [GLib.Property ("blocksize")]
+               public uint Blocksize {
+                       get  {
+                               uint raw_ret = gst_base_sink_get_blocksize(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_sink_set_blocksize(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("enable-last-sample")]
+               public bool EnableLastSample {
+                       get {
+                               GLib.Value val = GetProperty ("enable-last-sample");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("enable-last-sample", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_sink_get_last_sample(IntPtr raw);
+
+               [GLib.Property ("last-sample")]
+               public Gst.Sample LastSample {
+                       get  {
+                               IntPtr raw_ret = gst_base_sink_get_last_sample(Handle);
+                               Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_base_sink_get_max_bitrate(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_max_bitrate(IntPtr raw, ulong max_bitrate);
+
+               [GLib.Property ("max-bitrate")]
+               public ulong MaxBitrate {
+                       get  {
+                               ulong raw_ret = gst_base_sink_get_max_bitrate(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_sink_set_max_bitrate(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_base_sink_get_max_lateness(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_max_lateness(IntPtr raw, long max_lateness);
+
+               [GLib.Property ("max-lateness")]
+               public long MaxLateness {
+                       get  {
+                               long raw_ret = gst_base_sink_get_max_lateness(Handle);
+                               long ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_sink_set_max_lateness(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("qos")]
+               public bool Qos {
+                       get {
+                               GLib.Value val = GetProperty ("qos");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("qos", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_base_sink_get_render_delay(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_render_delay(IntPtr raw, ulong delay);
+
+               [GLib.Property ("render-delay")]
+               public ulong RenderDelay {
+                       get  {
+                               ulong raw_ret = gst_base_sink_get_render_delay(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_sink_set_render_delay(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_sink_get_sync(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_sync(IntPtr raw, bool sync);
+
+               [GLib.Property ("sync")]
+               public bool Sync {
+                       get  {
+                               bool raw_ret = gst_base_sink_get_sync(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_sink_set_sync(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_base_sink_get_throttle_time(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_throttle_time(IntPtr raw, ulong throttle);
+
+               [GLib.Property ("throttle-time")]
+               public ulong ThrottleTime {
+                       get  {
+                               ulong raw_ret = gst_base_sink_get_throttle_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_sink_set_throttle_time(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_base_sink_get_ts_offset(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_ts_offset(IntPtr raw, long offset);
+
+               [GLib.Property ("ts-offset")]
+               public long TsOffset {
+                       get  {
+                               long raw_ret = gst_base_sink_get_ts_offset(Handle);
+                               long ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_sink_set_ts_offset(Handle, value);
+                       }
+               }
+
+               public Gst.Pad Sinkpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sinkpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public Gst.PadMode PadMode {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("pad_mode"));
+                                       return (Gst.PadMode) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong Offset {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("offset"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool CanActivatePull {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("can_activate_pull"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool CanActivatePush {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("can_activate_push"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public GLib.Mutex PrerollLock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("preroll_lock"));
+                                       return new GLib.Mutex((*raw_ptr));
+                               }
+                       }
+               }
+
+               public GLib.Cond PrerollCond {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("preroll_cond"));
+                                       return new GLib.Cond((*raw_ptr));
+                               }
+                       }
+               }
+
+               public bool Eos {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("eos"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool NeedPreroll {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("need_preroll"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool HavePreroll {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("have_preroll"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool PlayingAsync {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("playing_async"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool HaveNewsegment {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("have_newsegment"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Segment Segment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               static GetCapsNativeDelegate GetCaps_cb_delegate;
+               static GetCapsNativeDelegate GetCapsVMCallback {
+                       get {
+                               if (GetCaps_cb_delegate == null)
+                                       GetCaps_cb_delegate = new GetCapsNativeDelegate (GetCaps_cb);
+                               return GetCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetCaps (GLib.GType gtype)
+               {
+                       OverrideGetCaps (gtype, GetCapsVMCallback);
+               }
+
+               static void OverrideGetCaps (GLib.GType gtype, GetCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetCapsNativeDelegate (IntPtr inst, IntPtr filter);
+
+               static IntPtr GetCaps_cb (IntPtr inst, IntPtr filter)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               Gst.Caps __result;
+                               __result = __obj.OnGetCaps (filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideGetCaps")]
+               protected virtual Gst.Caps OnGetCaps (Gst.Caps filter)
+               {
+                       return InternalGetCaps (filter);
+               }
+
+               private Gst.Caps InternalGetCaps (Gst.Caps filter)
+               {
+                       GetCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_caps"));
+                               unmanaged = (GetCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static SetCapsNativeDelegate SetCaps_cb_delegate;
+               static SetCapsNativeDelegate SetCapsVMCallback {
+                       get {
+                               if (SetCaps_cb_delegate == null)
+                                       SetCaps_cb_delegate = new SetCapsNativeDelegate (SetCaps_cb);
+                               return SetCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype)
+               {
+                       OverrideSetCaps (gtype, SetCapsVMCallback);
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype, SetCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetCapsNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static bool SetCaps_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnSetCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideSetCaps")]
+               protected virtual bool OnSetCaps (Gst.Caps caps)
+               {
+                       return InternalSetCaps (caps);
+               }
+
+               private bool InternalSetCaps (Gst.Caps caps)
+               {
+                       SetCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               unmanaged = (SetCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result;
+               }
+
+               static FixateNativeDelegate Fixate_cb_delegate;
+               static FixateNativeDelegate FixateVMCallback {
+                       get {
+                               if (Fixate_cb_delegate == null)
+                                       Fixate_cb_delegate = new FixateNativeDelegate (Fixate_cb);
+                               return Fixate_cb_delegate;
+                       }
+               }
+
+               static void OverrideFixate (GLib.GType gtype)
+               {
+                       OverrideFixate (gtype, FixateVMCallback);
+               }
+
+               static void OverrideFixate (GLib.GType gtype, FixateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("fixate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr FixateNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static IntPtr Fixate_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               Gst.Caps __result;
+                               __result = __obj.OnFixate (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideFixate")]
+               protected virtual Gst.Caps OnFixate (Gst.Caps caps)
+               {
+                       return InternalFixate (caps);
+               }
+
+               private Gst.Caps InternalFixate (Gst.Caps caps)
+               {
+                       FixateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("fixate"));
+                               unmanaged = (FixateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FixateNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static ActivatePullNativeDelegate ActivatePull_cb_delegate;
+               static ActivatePullNativeDelegate ActivatePullVMCallback {
+                       get {
+                               if (ActivatePull_cb_delegate == null)
+                                       ActivatePull_cb_delegate = new ActivatePullNativeDelegate (ActivatePull_cb);
+                               return ActivatePull_cb_delegate;
+                       }
+               }
+
+               static void OverrideActivatePull (GLib.GType gtype)
+               {
+                       OverrideActivatePull (gtype, ActivatePullVMCallback);
+               }
+
+               static void OverrideActivatePull (GLib.GType gtype, ActivatePullNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("activate_pull"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ActivatePullNativeDelegate (IntPtr inst, bool active);
+
+               static bool ActivatePull_cb (IntPtr inst, bool active)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnActivatePull (active);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideActivatePull")]
+               protected virtual bool OnActivatePull (bool active)
+               {
+                       return InternalActivatePull (active);
+               }
+
+               private bool InternalActivatePull (bool active)
+               {
+                       ActivatePullNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("activate_pull"));
+                               unmanaged = (ActivatePullNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ActivatePullNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, active);
+                       return __result;
+               }
+
+               static GetTimesNativeDelegate GetTimes_cb_delegate;
+               static GetTimesNativeDelegate GetTimesVMCallback {
+                       get {
+                               if (GetTimes_cb_delegate == null)
+                                       GetTimes_cb_delegate = new GetTimesNativeDelegate (GetTimes_cb);
+                               return GetTimes_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetTimes (GLib.GType gtype)
+               {
+                       OverrideGetTimes (gtype, GetTimesVMCallback);
+               }
+
+               static void OverrideGetTimes (GLib.GType gtype, GetTimesNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_times"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void GetTimesNativeDelegate (IntPtr inst, IntPtr buffer, ulong start, ulong end);
+
+               static void GetTimes_cb (IntPtr inst, IntPtr buffer, ulong start, ulong end)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               __obj.OnGetTimes (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), start, end);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideGetTimes")]
+               protected virtual void OnGetTimes (Gst.Buffer buffer, ulong start, ulong end)
+               {
+                       InternalGetTimes (buffer, start, end);
+               }
+
+               private void InternalGetTimes (Gst.Buffer buffer, ulong start, ulong end)
+               {
+                       GetTimesNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_times"));
+                               unmanaged = (GetTimesNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetTimesNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, start, end);
+               }
+
+               static ProposeAllocationNativeDelegate ProposeAllocation_cb_delegate;
+               static ProposeAllocationNativeDelegate ProposeAllocationVMCallback {
+                       get {
+                               if (ProposeAllocation_cb_delegate == null)
+                                       ProposeAllocation_cb_delegate = new ProposeAllocationNativeDelegate (ProposeAllocation_cb);
+                               return ProposeAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype)
+               {
+                       OverrideProposeAllocation (gtype, ProposeAllocationVMCallback);
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype, ProposeAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ProposeAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool ProposeAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnProposeAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideProposeAllocation")]
+               protected virtual bool OnProposeAllocation (Gst.Query query)
+               {
+                       return InternalProposeAllocation (query);
+               }
+
+               private bool InternalProposeAllocation (Gst.Query query)
+               {
+                       ProposeAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               unmanaged = (ProposeAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProposeAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static UnlockNativeDelegate Unlock_cb_delegate;
+               static UnlockNativeDelegate UnlockVMCallback {
+                       get {
+                               if (Unlock_cb_delegate == null)
+                                       Unlock_cb_delegate = new UnlockNativeDelegate (Unlock_cb);
+                               return Unlock_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnlock (GLib.GType gtype)
+               {
+                       OverrideUnlock (gtype, UnlockVMCallback);
+               }
+
+               static void OverrideUnlock (GLib.GType gtype, UnlockNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unlock"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool UnlockNativeDelegate (IntPtr inst);
+
+               static bool Unlock_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnUnlock ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideUnlock")]
+               protected virtual bool OnUnlock ()
+               {
+                       return InternalUnlock ();
+               }
+
+               private bool InternalUnlock ()
+               {
+                       UnlockNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unlock"));
+                               unmanaged = (UnlockNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnlockNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static UnlockStopNativeDelegate UnlockStop_cb_delegate;
+               static UnlockStopNativeDelegate UnlockStopVMCallback {
+                       get {
+                               if (UnlockStop_cb_delegate == null)
+                                       UnlockStop_cb_delegate = new UnlockStopNativeDelegate (UnlockStop_cb);
+                               return UnlockStop_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnlockStop (GLib.GType gtype)
+               {
+                       OverrideUnlockStop (gtype, UnlockStopVMCallback);
+               }
+
+               static void OverrideUnlockStop (GLib.GType gtype, UnlockStopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unlock_stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool UnlockStopNativeDelegate (IntPtr inst);
+
+               static bool UnlockStop_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnUnlockStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideUnlockStop")]
+               protected virtual bool OnUnlockStop ()
+               {
+                       return InternalUnlockStop ();
+               }
+
+               private bool InternalUnlockStop ()
+               {
+                       UnlockStopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unlock_stop"));
+                               unmanaged = (UnlockStopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnlockStopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static QueryNativeDelegate Query_cb_delegate;
+               static QueryNativeDelegate QueryVMCallback {
+                       get {
+                               if (Query_cb_delegate == null)
+                                       Query_cb_delegate = new QueryNativeDelegate (Query_cb);
+                               return Query_cb_delegate;
+                       }
+               }
+
+               static void OverrideQuery (GLib.GType gtype)
+               {
+                       OverrideQuery (gtype, QueryVMCallback);
+               }
+
+               static void OverrideQuery (GLib.GType gtype, QueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool QueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool Query_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideQuery")]
+               protected virtual bool OnQuery (Gst.Query query)
+               {
+                       return InternalQuery (query);
+               }
+
+               private bool InternalQuery (Gst.Query query)
+               {
+                       QueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               unmanaged = (QueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(QueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static EventNativeDelegate Event_cb_delegate;
+               static EventNativeDelegate EventVMCallback {
+                       get {
+                               if (Event_cb_delegate == null)
+                                       Event_cb_delegate = new EventNativeDelegate (Event_cb);
+                               return Event_cb_delegate;
+                       }
+               }
+
+               static void OverrideEvent (GLib.GType gtype)
+               {
+                       OverrideEvent (gtype, EventVMCallback);
+               }
+
+               static void OverrideEvent (GLib.GType gtype, EventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("evnt"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool EventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool Event_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               bool __result;
+                               __result = __obj.OnEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideEvent")]
+               protected virtual bool OnEvent (Gst.Event evnt)
+               {
+                       return InternalEvent (evnt);
+               }
+
+               private bool InternalEvent (Gst.Event evnt)
+               {
+                       EventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("evnt"));
+                               unmanaged = (EventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static WaitEventNativeDelegate WaitEvent_cb_delegate;
+               static WaitEventNativeDelegate WaitEventVMCallback {
+                       get {
+                               if (WaitEvent_cb_delegate == null)
+                                       WaitEvent_cb_delegate = new WaitEventNativeDelegate (WaitEvent_cb);
+                               return WaitEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideWaitEvent (GLib.GType gtype)
+               {
+                       OverrideWaitEvent (gtype, WaitEventVMCallback);
+               }
+
+               static void OverrideWaitEvent (GLib.GType gtype, WaitEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("wait_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int WaitEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static int WaitEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnWaitEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideWaitEvent")]
+               protected virtual Gst.FlowReturn OnWaitEvent (Gst.Event evnt)
+               {
+                       return InternalWaitEvent (evnt);
+               }
+
+               private Gst.FlowReturn InternalWaitEvent (Gst.Event evnt)
+               {
+                       WaitEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("wait_event"));
+                               unmanaged = (WaitEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(WaitEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static PrepareNativeDelegate Prepare_cb_delegate;
+               static PrepareNativeDelegate PrepareVMCallback {
+                       get {
+                               if (Prepare_cb_delegate == null)
+                                       Prepare_cb_delegate = new PrepareNativeDelegate (Prepare_cb);
+                               return Prepare_cb_delegate;
+                       }
+               }
+
+               static void OverridePrepare (GLib.GType gtype)
+               {
+                       OverridePrepare (gtype, PrepareVMCallback);
+               }
+
+               static void OverridePrepare (GLib.GType gtype, PrepareNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrepareNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int Prepare_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPrepare (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverridePrepare")]
+               protected virtual Gst.FlowReturn OnPrepare (Gst.Buffer buffer)
+               {
+                       return InternalPrepare (buffer);
+               }
+
+               private Gst.FlowReturn InternalPrepare (Gst.Buffer buffer)
+               {
+                       PrepareNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
+                               unmanaged = (PrepareNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static PrepareListNativeDelegate PrepareList_cb_delegate;
+               static PrepareListNativeDelegate PrepareListVMCallback {
+                       get {
+                               if (PrepareList_cb_delegate == null)
+                                       PrepareList_cb_delegate = new PrepareListNativeDelegate (PrepareList_cb);
+                               return PrepareList_cb_delegate;
+                       }
+               }
+
+               static void OverridePrepareList (GLib.GType gtype)
+               {
+                       OverridePrepareList (gtype, PrepareListVMCallback);
+               }
+
+               static void OverridePrepareList (GLib.GType gtype, PrepareListNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_list"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrepareListNativeDelegate (IntPtr inst, IntPtr buffer_list);
+
+               static int PrepareList_cb (IntPtr inst, IntPtr buffer_list)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPrepareList (buffer_list == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (buffer_list, typeof (Gst.BufferList), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverridePrepareList")]
+               protected virtual Gst.FlowReturn OnPrepareList (Gst.BufferList buffer_list)
+               {
+                       return InternalPrepareList (buffer_list);
+               }
+
+               private Gst.FlowReturn InternalPrepareList (Gst.BufferList buffer_list)
+               {
+                       PrepareListNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_list"));
+                               unmanaged = (PrepareListNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareListNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static PrerollNativeDelegate Preroll_cb_delegate;
+               static PrerollNativeDelegate PrerollVMCallback {
+                       get {
+                               if (Preroll_cb_delegate == null)
+                                       Preroll_cb_delegate = new PrerollNativeDelegate (Preroll_cb);
+                               return Preroll_cb_delegate;
+                       }
+               }
+
+               static void OverridePreroll (GLib.GType gtype)
+               {
+                       OverridePreroll (gtype, PrerollVMCallback);
+               }
+
+               static void OverridePreroll (GLib.GType gtype, PrerollNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("preroll"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrerollNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int Preroll_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPreroll (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverridePreroll")]
+               protected virtual Gst.FlowReturn OnPreroll (Gst.Buffer buffer)
+               {
+                       return InternalPreroll (buffer);
+               }
+
+               private Gst.FlowReturn InternalPreroll (Gst.Buffer buffer)
+               {
+                       PrerollNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("preroll"));
+                               unmanaged = (PrerollNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrerollNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static RenderNativeDelegate Render_cb_delegate;
+               static RenderNativeDelegate RenderVMCallback {
+                       get {
+                               if (Render_cb_delegate == null)
+                                       Render_cb_delegate = new RenderNativeDelegate (Render_cb);
+                               return Render_cb_delegate;
+                       }
+               }
+
+               static void OverrideRender (GLib.GType gtype)
+               {
+                       OverrideRender (gtype, RenderVMCallback);
+               }
+
+               static void OverrideRender (GLib.GType gtype, RenderNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("render"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int RenderNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int Render_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnRender (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideRender")]
+               protected virtual Gst.FlowReturn OnRender (Gst.Buffer buffer)
+               {
+                       return InternalRender (buffer);
+               }
+
+               private Gst.FlowReturn InternalRender (Gst.Buffer buffer)
+               {
+                       RenderNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("render"));
+                               unmanaged = (RenderNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RenderNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static RenderListNativeDelegate RenderList_cb_delegate;
+               static RenderListNativeDelegate RenderListVMCallback {
+                       get {
+                               if (RenderList_cb_delegate == null)
+                                       RenderList_cb_delegate = new RenderListNativeDelegate (RenderList_cb);
+                               return RenderList_cb_delegate;
+                       }
+               }
+
+               static void OverrideRenderList (GLib.GType gtype)
+               {
+                       OverrideRenderList (gtype, RenderListVMCallback);
+               }
+
+               static void OverrideRenderList (GLib.GType gtype, RenderListNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("render_list"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int RenderListNativeDelegate (IntPtr inst, IntPtr buffer_list);
+
+               static int RenderList_cb (IntPtr inst, IntPtr buffer_list)
+               {
+                       try {
+                               BaseSink __obj = GLib.Object.GetObject (inst, false) as BaseSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnRenderList (buffer_list == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (buffer_list, typeof (Gst.BufferList), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSink), ConnectionMethod="OverrideRenderList")]
+               protected virtual Gst.FlowReturn OnRenderList (Gst.BufferList buffer_list)
+               {
+                       return InternalRenderList (buffer_list);
+               }
+
+               private Gst.FlowReturn InternalRenderList (Gst.BufferList buffer_list)
+               {
+                       RenderListNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("render_list"));
+                               unmanaged = (RenderListNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RenderListNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("get_caps"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_caps
+                                                       , null
+                                                       , "set_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_caps
+                                                       , "get_caps"
+                                                       , "fixate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("fixate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // fixate
+                                                       , "set_caps"
+                                                       , "activate_pull"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("activate_pull"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // activate_pull
+                                                       , "fixate"
+                                                       , "get_times"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_times"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_times
+                                                       , "activate_pull"
+                                                       , "propose_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("propose_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // propose_allocation
+                                                       , "get_times"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "propose_allocation"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "unlock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unlock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unlock
+                                                       , "stop"
+                                                       , "unlock_stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unlock_stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unlock_stop
+                                                       , "unlock"
+                                                       , "query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // query
+                                                       , "unlock_stop"
+                                                       , "event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // event
+                                                       , "query"
+                                                       , "wait_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("wait_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // wait_event
+                                                       , "event"
+                                                       , "prepare"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prepare"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare
+                                                       , "wait_event"
+                                                       , "prepare_list"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prepare_list"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare_list
+                                                       , "prepare"
+                                                       , "preroll"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("preroll"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // preroll
+                                                       , "prepare_list"
+                                                       , "render"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("render"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // render
+                                                       , "preroll"
+                                                       , "render_list"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("render_list"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // render_list
+                                                       , "render"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "render_list"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_sink_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_base_sink_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_base_sink_do_preroll(IntPtr raw, IntPtr obj);
+
+               public Gst.FlowReturn DoPreroll(Gst.MiniObject obj) {
+                       int raw_ret = gst_base_sink_do_preroll(Handle, obj == null ? IntPtr.Zero : obj.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_sink_get_drop_out_of_segment(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_drop_out_of_segment(IntPtr raw, bool drop_out_of_segment);
+
+               public bool DropOutOfSegment { 
+                       get {
+                               bool raw_ret = gst_base_sink_get_drop_out_of_segment(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_base_sink_set_drop_out_of_segment(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_base_sink_get_latency(IntPtr raw);
+
+               public ulong Latency { 
+                       get {
+                               ulong raw_ret = gst_base_sink_get_latency(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_sink_is_async_enabled(IntPtr raw);
+
+               public bool IsAsyncEnabled { 
+                       get {
+                               bool raw_ret = gst_base_sink_is_async_enabled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_sink_is_last_sample_enabled(IntPtr raw);
+
+               public bool IsLastSampleEnabled { 
+                       get {
+                               bool raw_ret = gst_base_sink_is_last_sample_enabled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_sink_is_qos_enabled(IntPtr raw);
+
+               public bool IsQosEnabled { 
+                       get {
+                               bool raw_ret = gst_base_sink_is_qos_enabled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_sink_query_latency(IntPtr raw, out bool live, out bool upstream_live, out ulong min_latency, out ulong max_latency);
+
+               public bool QueryLatency(out bool live, out bool upstream_live, out ulong min_latency, out ulong max_latency) {
+                       bool raw_ret = gst_base_sink_query_latency(Handle, out live, out upstream_live, out min_latency, out max_latency);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_async_enabled(IntPtr raw, bool enabled);
+
+               public bool AsyncEnabled { 
+                       set {
+                               gst_base_sink_set_async_enabled(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_last_sample_enabled(IntPtr raw, bool enabled);
+
+               public bool LastSampleEnabled { 
+                       set {
+                               gst_base_sink_set_last_sample_enabled(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_sink_set_qos_enabled(IntPtr raw, bool enabled);
+
+               public bool QosEnabled { 
+                       set {
+                               gst_base_sink_set_qos_enabled(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_base_sink_wait(IntPtr raw, ulong time, out long jitter);
+
+               public Gst.FlowReturn Wait(ulong time, out long jitter) {
+                       int raw_ret = gst_base_sink_wait(Handle, time, out jitter);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_base_sink_wait_clock(IntPtr raw, ulong time, out long jitter);
+
+               public Gst.ClockReturn WaitClock(ulong time, out long jitter) {
+                       int raw_ret = gst_base_sink_wait_clock(Handle, time, out jitter);
+                       Gst.ClockReturn ret = (Gst.ClockReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_base_sink_wait_preroll(IntPtr raw);
+
+               public Gst.FlowReturn WaitPreroll() {
+                       int raw_ret = gst_base_sink_wait_preroll(Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+
+               static BaseSink ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "pad_mode"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pad_mode"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.PadMode))) // pad_mode
+                                                       , "sinkpad"
+                                                       , "offset"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_pad_modeAlign), "pad_mode")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("offset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // offset
+                                                       , "pad_mode"
+                                                       , "can_activate_pull"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_offsetAlign), "offset")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("can_activate_pull"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // can_activate_pull
+                                                       , "offset"
+                                                       , "can_activate_push"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_can_activate_pullAlign), "can_activate_pull")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("can_activate_push"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // can_activate_push
+                                                       , "can_activate_pull"
+                                                       , "preroll_lock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_can_activate_pushAlign), "can_activate_push")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("preroll_lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // preroll_lock
+                                                       , "can_activate_push"
+                                                       , "preroll_cond"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("preroll_cond"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Cond.ABI)) // preroll_cond
+                                                       , "preroll_lock"
+                                                       , "eos"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_preroll_condAlign), "preroll_cond")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("eos"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // eos
+                                                       , "preroll_cond"
+                                                       , "need_preroll"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_eosAlign), "eos")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("need_preroll"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // need_preroll
+                                                       , "eos"
+                                                       , "have_preroll"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_need_prerollAlign), "need_preroll")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("have_preroll"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // have_preroll
+                                                       , "need_preroll"
+                                                       , "playing_async"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_have_prerollAlign), "have_preroll")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("playing_async"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // playing_async
+                                                       , "have_preroll"
+                                                       , "have_newsegment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_playing_asyncAlign), "playing_async")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("have_newsegment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // have_newsegment
+                                                       , "playing_async"
+                                                       , "segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_have_newsegmentAlign), "have_newsegment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment
+                                                       , "have_newsegment"
+                                                       , "clock_id"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_segmentAlign), "segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock_id"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // clock_id
+                                                       , "segment"
+                                                       , "sync"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sync"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // sync
+                                                       , "clock_id"
+                                                       , "flushing"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_syncAlign), "sync")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flushing"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // flushing
+                                                       , "sync"
+                                                       , "running"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_flushingAlign), "flushing")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("running"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // running
+                                                       , "flushing"
+                                                       , "max_lateness"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_runningAlign), "running")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("max_lateness"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(long)) // max_lateness
+                                                       , "running"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSink_max_latenessAlign), "max_lateness")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "max_lateness"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_pad_modeAlign
+               {
+                       sbyte f1;
+                       private Gst.PadMode pad_mode;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_offsetAlign
+               {
+                       sbyte f1;
+                       private ulong offset;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_can_activate_pullAlign
+               {
+                       sbyte f1;
+                       private bool can_activate_pull;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_can_activate_pushAlign
+               {
+                       sbyte f1;
+                       private bool can_activate_push;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_preroll_condAlign
+               {
+                       sbyte f1;
+                       private GLib.Cond.ABI preroll_cond;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_eosAlign
+               {
+                       sbyte f1;
+                       private bool eos;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_need_prerollAlign
+               {
+                       sbyte f1;
+                       private bool need_preroll;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_have_prerollAlign
+               {
+                       sbyte f1;
+                       private bool have_preroll;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_playing_asyncAlign
+               {
+                       sbyte f1;
+                       private bool playing_async;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_have_newsegmentAlign
+               {
+                       sbyte f1;
+                       private bool have_newsegment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_syncAlign
+               {
+                       sbyte f1;
+                       private bool sync;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_flushingAlign
+               {
+                       sbyte f1;
+                       private bool flushing;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_runningAlign
+               {
+                       sbyte f1;
+                       private bool running;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSink_max_latenessAlign
+               {
+                       sbyte f1;
+                       private long max_lateness;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_BaseSrc.cs b/sources/generated/Gst.Base_BaseSrc.cs
new file mode 100644 (file)
index 0000000..829b0ee
--- /dev/null
@@ -0,0 +1,1926 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BaseSrc : Gst.Element {
+
+               protected BaseSrc (IntPtr raw) : base(raw) {}
+
+               protected BaseSrc() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_base_src_get_blocksize(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_set_blocksize(IntPtr raw, uint blocksize);
+
+               [GLib.Property ("blocksize")]
+               public uint Blocksize {
+                       get  {
+                               uint raw_ret = gst_base_src_get_blocksize(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_src_set_blocksize(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_src_get_do_timestamp(IntPtr raw);
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_set_do_timestamp(IntPtr raw, bool timestamp);
+
+               [GLib.Property ("do-timestamp")]
+               public bool DoTimestamp {
+                       get  {
+                               bool raw_ret = gst_base_src_get_do_timestamp(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_base_src_set_do_timestamp(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("num-buffers")]
+               public int NumBuffers {
+                       get {
+                               GLib.Value val = GetProperty ("num-buffers");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("num-buffers", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("typefind")]
+               public bool Typefind {
+                       get {
+                               GLib.Value val = GetProperty ("typefind");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("typefind", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public Gst.Pad Srcpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("srcpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public GLib.Mutex LiveLock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("live_lock"));
+                                       return new GLib.Mutex((*raw_ptr));
+                               }
+                       }
+               }
+
+               public GLib.Cond LiveCond {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("live_cond"));
+                                       return new GLib.Cond((*raw_ptr));
+                               }
+                       }
+               }
+
+               public bool IsLiveField {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("is_live"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool LiveRunning {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("live_running"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public uint BlocksizeField {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("blocksize"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool CanActivatePush {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("can_activate_push"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool RandomAccess {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("random_access"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public IntPtr ClockId {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("clock_id"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Segment Segment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public bool NeedNewsegment {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("need_newsegment"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int NumBuffersField {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("num_buffers"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int NumBuffersLeft {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("num_buffers_left"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool TypefindField {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("typefind"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool Running {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("running"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Event PendingSeek {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("pending_seek"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Event), false);
+                               }
+                       }
+               }
+
+               static GetCapsNativeDelegate GetCaps_cb_delegate;
+               static GetCapsNativeDelegate GetCapsVMCallback {
+                       get {
+                               if (GetCaps_cb_delegate == null)
+                                       GetCaps_cb_delegate = new GetCapsNativeDelegate (GetCaps_cb);
+                               return GetCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetCaps (GLib.GType gtype)
+               {
+                       OverrideGetCaps (gtype, GetCapsVMCallback);
+               }
+
+               static void OverrideGetCaps (GLib.GType gtype, GetCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetCapsNativeDelegate (IntPtr inst, IntPtr filter);
+
+               static IntPtr GetCaps_cb (IntPtr inst, IntPtr filter)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               Gst.Caps __result;
+                               __result = __obj.OnGetCaps (filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideGetCaps")]
+               protected virtual Gst.Caps OnGetCaps (Gst.Caps filter)
+               {
+                       return InternalGetCaps (filter);
+               }
+
+               private Gst.Caps InternalGetCaps (Gst.Caps filter)
+               {
+                       GetCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_caps"));
+                               unmanaged = (GetCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static NegotiateNativeDelegate Negotiate_cb_delegate;
+               static NegotiateNativeDelegate NegotiateVMCallback {
+                       get {
+                               if (Negotiate_cb_delegate == null)
+                                       Negotiate_cb_delegate = new NegotiateNativeDelegate (Negotiate_cb);
+                               return Negotiate_cb_delegate;
+                       }
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype)
+               {
+                       OverrideNegotiate (gtype, NegotiateVMCallback);
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype, NegotiateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool NegotiateNativeDelegate (IntPtr inst);
+
+               static bool Negotiate_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnNegotiate ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideNegotiate")]
+               protected virtual bool OnNegotiate ()
+               {
+                       return InternalNegotiate ();
+               }
+
+               private bool InternalNegotiate ()
+               {
+                       NegotiateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               unmanaged = (NegotiateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NegotiateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static FixateNativeDelegate Fixate_cb_delegate;
+               static FixateNativeDelegate FixateVMCallback {
+                       get {
+                               if (Fixate_cb_delegate == null)
+                                       Fixate_cb_delegate = new FixateNativeDelegate (Fixate_cb);
+                               return Fixate_cb_delegate;
+                       }
+               }
+
+               static void OverrideFixate (GLib.GType gtype)
+               {
+                       OverrideFixate (gtype, FixateVMCallback);
+               }
+
+               static void OverrideFixate (GLib.GType gtype, FixateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("fixate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr FixateNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static IntPtr Fixate_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               Gst.Caps __result;
+                               __result = __obj.OnFixate (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideFixate")]
+               protected virtual Gst.Caps OnFixate (Gst.Caps caps)
+               {
+                       return InternalFixate (caps);
+               }
+
+               private Gst.Caps InternalFixate (Gst.Caps caps)
+               {
+                       FixateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("fixate"));
+                               unmanaged = (FixateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FixateNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static SetCapsNativeDelegate SetCaps_cb_delegate;
+               static SetCapsNativeDelegate SetCapsVMCallback {
+                       get {
+                               if (SetCaps_cb_delegate == null)
+                                       SetCaps_cb_delegate = new SetCapsNativeDelegate (SetCaps_cb);
+                               return SetCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype)
+               {
+                       OverrideSetCaps (gtype, SetCapsVMCallback);
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype, SetCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetCapsNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static bool SetCaps_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnSetCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideSetCaps")]
+               protected virtual bool OnSetCaps (Gst.Caps caps)
+               {
+                       return InternalSetCaps (caps);
+               }
+
+               private bool InternalSetCaps (Gst.Caps caps)
+               {
+                       SetCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               unmanaged = (SetCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result;
+               }
+
+               static DecideAllocationNativeDelegate DecideAllocation_cb_delegate;
+               static DecideAllocationNativeDelegate DecideAllocationVMCallback {
+                       get {
+                               if (DecideAllocation_cb_delegate == null)
+                                       DecideAllocation_cb_delegate = new DecideAllocationNativeDelegate (DecideAllocation_cb);
+                               return DecideAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype)
+               {
+                       OverrideDecideAllocation (gtype, DecideAllocationVMCallback);
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype, DecideAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DecideAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool DecideAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnDecideAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideDecideAllocation")]
+               protected virtual bool OnDecideAllocation (Gst.Query query)
+               {
+                       return InternalDecideAllocation (query);
+               }
+
+               private bool InternalDecideAllocation (Gst.Query query)
+               {
+                       DecideAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               unmanaged = (DecideAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DecideAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static GetTimesNativeDelegate GetTimes_cb_delegate;
+               static GetTimesNativeDelegate GetTimesVMCallback {
+                       get {
+                               if (GetTimes_cb_delegate == null)
+                                       GetTimes_cb_delegate = new GetTimesNativeDelegate (GetTimes_cb);
+                               return GetTimes_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetTimes (GLib.GType gtype)
+               {
+                       OverrideGetTimes (gtype, GetTimesVMCallback);
+               }
+
+               static void OverrideGetTimes (GLib.GType gtype, GetTimesNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_times"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void GetTimesNativeDelegate (IntPtr inst, IntPtr buffer, out ulong start, out ulong end);
+
+               static void GetTimes_cb (IntPtr inst, IntPtr buffer, out ulong start, out ulong end)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               __obj.OnGetTimes (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), out start, out end);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideGetTimes")]
+               protected virtual void OnGetTimes (Gst.Buffer buffer, out ulong start, out ulong end)
+               {
+                       InternalGetTimes (buffer, out start, out end);
+               }
+
+               private void InternalGetTimes (Gst.Buffer buffer, out ulong start, out ulong end)
+               {
+                       GetTimesNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_times"));
+                               unmanaged = (GetTimesNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetTimesNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, out start, out end);
+               }
+
+               static GetSizeNativeDelegate GetSize_cb_delegate;
+               static GetSizeNativeDelegate GetSizeVMCallback {
+                       get {
+                               if (GetSize_cb_delegate == null)
+                                       GetSize_cb_delegate = new GetSizeNativeDelegate (GetSize_cb);
+                               return GetSize_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetSize (GLib.GType gtype)
+               {
+                       OverrideGetSize (gtype, GetSizeVMCallback);
+               }
+
+               static void OverrideGetSize (GLib.GType gtype, GetSizeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_size"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool GetSizeNativeDelegate (IntPtr inst, ulong size);
+
+               static bool GetSize_cb (IntPtr inst, ulong size)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnGetSize (size);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideGetSize")]
+               protected virtual bool OnGetSize (ulong size)
+               {
+                       return InternalGetSize (size);
+               }
+
+               private bool InternalGetSize (ulong size)
+               {
+                       GetSizeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_size"));
+                               unmanaged = (GetSizeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetSizeNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, size);
+                       return __result;
+               }
+
+               static IsSeekableNativeDelegate IsSeekable_cb_delegate;
+               static IsSeekableNativeDelegate IsSeekableVMCallback {
+                       get {
+                               if (IsSeekable_cb_delegate == null)
+                                       IsSeekable_cb_delegate = new IsSeekableNativeDelegate (IsSeekable_cb);
+                               return IsSeekable_cb_delegate;
+                       }
+               }
+
+               static void OverrideIsSeekable (GLib.GType gtype)
+               {
+                       OverrideIsSeekable (gtype, IsSeekableVMCallback);
+               }
+
+               static void OverrideIsSeekable (GLib.GType gtype, IsSeekableNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("is_seekable"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool IsSeekableNativeDelegate (IntPtr inst);
+
+               static bool IsSeekable_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnIsSeekable ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideIsSeekable")]
+               protected virtual bool OnIsSeekable ()
+               {
+                       return InternalIsSeekable ();
+               }
+
+               private bool InternalIsSeekable ()
+               {
+                       IsSeekableNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("is_seekable"));
+                               unmanaged = (IsSeekableNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(IsSeekableNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static PrepareSeekSegmentNativeDelegate PrepareSeekSegment_cb_delegate;
+               static PrepareSeekSegmentNativeDelegate PrepareSeekSegmentVMCallback {
+                       get {
+                               if (PrepareSeekSegment_cb_delegate == null)
+                                       PrepareSeekSegment_cb_delegate = new PrepareSeekSegmentNativeDelegate (PrepareSeekSegment_cb);
+                               return PrepareSeekSegment_cb_delegate;
+                       }
+               }
+
+               static void OverridePrepareSeekSegment (GLib.GType gtype)
+               {
+                       OverridePrepareSeekSegment (gtype, PrepareSeekSegmentVMCallback);
+               }
+
+               static void OverridePrepareSeekSegment (GLib.GType gtype, PrepareSeekSegmentNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_seek_segment"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool PrepareSeekSegmentNativeDelegate (IntPtr inst, IntPtr seek, IntPtr segment);
+
+               static bool PrepareSeekSegment_cb (IntPtr inst, IntPtr seek, IntPtr segment)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnPrepareSeekSegment (seek == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (seek, typeof (Gst.Event), false), Gst.Segment.New (segment));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverridePrepareSeekSegment")]
+               protected virtual bool OnPrepareSeekSegment (Gst.Event seek, Gst.Segment segment)
+               {
+                       return InternalPrepareSeekSegment (seek, segment);
+               }
+
+               private bool InternalPrepareSeekSegment (Gst.Event seek, Gst.Segment segment)
+               {
+                       PrepareSeekSegmentNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_seek_segment"));
+                               unmanaged = (PrepareSeekSegmentNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareSeekSegmentNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+                       bool __result = unmanaged (this.Handle, seek == null ? IntPtr.Zero : seek.Handle, native_segment);
+                       Marshal.FreeHGlobal (native_segment);
+                       return __result;
+               }
+
+               static DoSeekNativeDelegate DoSeek_cb_delegate;
+               static DoSeekNativeDelegate DoSeekVMCallback {
+                       get {
+                               if (DoSeek_cb_delegate == null)
+                                       DoSeek_cb_delegate = new DoSeekNativeDelegate (DoSeek_cb);
+                               return DoSeek_cb_delegate;
+                       }
+               }
+
+               static void OverrideDoSeek (GLib.GType gtype)
+               {
+                       OverrideDoSeek (gtype, DoSeekVMCallback);
+               }
+
+               static void OverrideDoSeek (GLib.GType gtype, DoSeekNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("do_seek"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DoSeekNativeDelegate (IntPtr inst, IntPtr segment);
+
+               static bool DoSeek_cb (IntPtr inst, IntPtr segment)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnDoSeek (Gst.Segment.New (segment));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideDoSeek")]
+               protected virtual bool OnDoSeek (Gst.Segment segment)
+               {
+                       return InternalDoSeek (segment);
+               }
+
+               private bool InternalDoSeek (Gst.Segment segment)
+               {
+                       DoSeekNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("do_seek"));
+                               unmanaged = (DoSeekNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DoSeekNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+                       bool __result = unmanaged (this.Handle, native_segment);
+                       Marshal.FreeHGlobal (native_segment);
+                       return __result;
+               }
+
+               static UnlockNativeDelegate Unlock_cb_delegate;
+               static UnlockNativeDelegate UnlockVMCallback {
+                       get {
+                               if (Unlock_cb_delegate == null)
+                                       Unlock_cb_delegate = new UnlockNativeDelegate (Unlock_cb);
+                               return Unlock_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnlock (GLib.GType gtype)
+               {
+                       OverrideUnlock (gtype, UnlockVMCallback);
+               }
+
+               static void OverrideUnlock (GLib.GType gtype, UnlockNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unlock"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool UnlockNativeDelegate (IntPtr inst);
+
+               static bool Unlock_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnUnlock ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideUnlock")]
+               protected virtual bool OnUnlock ()
+               {
+                       return InternalUnlock ();
+               }
+
+               private bool InternalUnlock ()
+               {
+                       UnlockNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unlock"));
+                               unmanaged = (UnlockNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnlockNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static UnlockStopNativeDelegate UnlockStop_cb_delegate;
+               static UnlockStopNativeDelegate UnlockStopVMCallback {
+                       get {
+                               if (UnlockStop_cb_delegate == null)
+                                       UnlockStop_cb_delegate = new UnlockStopNativeDelegate (UnlockStop_cb);
+                               return UnlockStop_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnlockStop (GLib.GType gtype)
+               {
+                       OverrideUnlockStop (gtype, UnlockStopVMCallback);
+               }
+
+               static void OverrideUnlockStop (GLib.GType gtype, UnlockStopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unlock_stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool UnlockStopNativeDelegate (IntPtr inst);
+
+               static bool UnlockStop_cb (IntPtr inst)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnUnlockStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideUnlockStop")]
+               protected virtual bool OnUnlockStop ()
+               {
+                       return InternalUnlockStop ();
+               }
+
+               private bool InternalUnlockStop ()
+               {
+                       UnlockStopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unlock_stop"));
+                               unmanaged = (UnlockStopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnlockStopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static QueryNativeDelegate Query_cb_delegate;
+               static QueryNativeDelegate QueryVMCallback {
+                       get {
+                               if (Query_cb_delegate == null)
+                                       Query_cb_delegate = new QueryNativeDelegate (Query_cb);
+                               return Query_cb_delegate;
+                       }
+               }
+
+               static void OverrideQuery (GLib.GType gtype)
+               {
+                       OverrideQuery (gtype, QueryVMCallback);
+               }
+
+               static void OverrideQuery (GLib.GType gtype, QueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool QueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool Query_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideQuery")]
+               protected virtual bool OnQuery (Gst.Query query)
+               {
+                       return InternalQuery (query);
+               }
+
+               private bool InternalQuery (Gst.Query query)
+               {
+                       QueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               unmanaged = (QueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(QueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static EventNativeDelegate Event_cb_delegate;
+               static EventNativeDelegate EventVMCallback {
+                       get {
+                               if (Event_cb_delegate == null)
+                                       Event_cb_delegate = new EventNativeDelegate (Event_cb);
+                               return Event_cb_delegate;
+                       }
+               }
+
+               static void OverrideEvent (GLib.GType gtype)
+               {
+                       OverrideEvent (gtype, EventVMCallback);
+               }
+
+               static void OverrideEvent (GLib.GType gtype, EventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("evnt"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool EventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool Event_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               bool __result;
+                               __result = __obj.OnEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideEvent")]
+               protected virtual bool OnEvent (Gst.Event evnt)
+               {
+                       return InternalEvent (evnt);
+               }
+
+               private bool InternalEvent (Gst.Event evnt)
+               {
+                       EventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("evnt"));
+                               unmanaged = (EventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static CreateNativeDelegate Create_cb_delegate;
+               static CreateNativeDelegate CreateVMCallback {
+                       get {
+                               if (Create_cb_delegate == null)
+                                       Create_cb_delegate = new CreateNativeDelegate (Create_cb);
+                               return Create_cb_delegate;
+                       }
+               }
+
+               static void OverrideCreate (GLib.GType gtype)
+               {
+                       OverrideCreate (gtype, CreateVMCallback);
+               }
+
+               static void OverrideCreate (GLib.GType gtype, CreateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int CreateNativeDelegate (IntPtr inst, ulong offset, uint size, out IntPtr buf);
+
+               static int Create_cb (IntPtr inst, ulong offset, uint size, out IntPtr buf)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               Gst.FlowReturn __result;
+                               Gst.Buffer mybuf;
+                               __result = __obj.OnCreate (offset, size, out mybuf);
+                               buf = mybuf == null ? IntPtr.Zero : mybuf.Handle;
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideCreate")]
+               protected virtual Gst.FlowReturn OnCreate (ulong offset, uint size, out Gst.Buffer buf)
+               {
+                       return InternalCreate (offset, size, out buf);
+               }
+
+               private Gst.FlowReturn InternalCreate (ulong offset, uint size, out Gst.Buffer buf)
+               {
+                       CreateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create"));
+                               unmanaged = (CreateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       IntPtr native_buf;
+                       int __result = unmanaged (this.Handle, offset, size, out native_buf);
+                       buf = native_buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buf, typeof (Gst.Buffer), true);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static AllocNativeDelegate Alloc_cb_delegate;
+               static AllocNativeDelegate AllocVMCallback {
+                       get {
+                               if (Alloc_cb_delegate == null)
+                                       Alloc_cb_delegate = new AllocNativeDelegate (Alloc_cb);
+                               return Alloc_cb_delegate;
+                       }
+               }
+
+               static void OverrideAlloc (GLib.GType gtype)
+               {
+                       OverrideAlloc (gtype, AllocVMCallback);
+               }
+
+               static void OverrideAlloc (GLib.GType gtype, AllocNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("alloc"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AllocNativeDelegate (IntPtr inst, ulong offset, uint size, IntPtr buf);
+
+               static int Alloc_cb (IntPtr inst, ulong offset, uint size, IntPtr buf)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnAlloc (offset, size, buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideAlloc")]
+               protected virtual Gst.FlowReturn OnAlloc (ulong offset, uint size, Gst.Buffer buf)
+               {
+                       return InternalAlloc (offset, size, buf);
+               }
+
+               private Gst.FlowReturn InternalAlloc (ulong offset, uint size, Gst.Buffer buf)
+               {
+                       AllocNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("alloc"));
+                               unmanaged = (AllocNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AllocNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, offset, size, buf == null ? IntPtr.Zero : buf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static FillNativeDelegate Fill_cb_delegate;
+               static FillNativeDelegate FillVMCallback {
+                       get {
+                               if (Fill_cb_delegate == null)
+                                       Fill_cb_delegate = new FillNativeDelegate (Fill_cb);
+                               return Fill_cb_delegate;
+                       }
+               }
+
+               static void OverrideFill (GLib.GType gtype)
+               {
+                       OverrideFill (gtype, FillVMCallback);
+               }
+
+               static void OverrideFill (GLib.GType gtype, FillNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("fill"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int FillNativeDelegate (IntPtr inst, ulong offset, uint size, IntPtr buf);
+
+               static int Fill_cb (IntPtr inst, ulong offset, uint size, IntPtr buf)
+               {
+                       try {
+                               BaseSrc __obj = GLib.Object.GetObject (inst, false) as BaseSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnFill (offset, size, buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseSrc), ConnectionMethod="OverrideFill")]
+               protected virtual Gst.FlowReturn OnFill (ulong offset, uint size, Gst.Buffer buf)
+               {
+                       return InternalFill (offset, size, buf);
+               }
+
+               private Gst.FlowReturn InternalFill (ulong offset, uint size, Gst.Buffer buf)
+               {
+                       FillNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("fill"));
+                               unmanaged = (FillNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FillNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, offset, size, buf == null ? IntPtr.Zero : buf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("get_caps"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_caps
+                                                       , null
+                                                       , "negotiate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("negotiate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // negotiate
+                                                       , "get_caps"
+                                                       , "fixate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("fixate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // fixate
+                                                       , "negotiate"
+                                                       , "set_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_caps
+                                                       , "fixate"
+                                                       , "decide_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("decide_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // decide_allocation
+                                                       , "set_caps"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "decide_allocation"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "get_times"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_times"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_times
+                                                       , "stop"
+                                                       , "get_size"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_size
+                                                       , "get_times"
+                                                       , "is_seekable"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("is_seekable"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // is_seekable
+                                                       , "get_size"
+                                                       , "prepare_seek_segment"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prepare_seek_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare_seek_segment
+                                                       , "is_seekable"
+                                                       , "do_seek"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("do_seek"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // do_seek
+                                                       , "prepare_seek_segment"
+                                                       , "unlock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unlock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unlock
+                                                       , "do_seek"
+                                                       , "unlock_stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unlock_stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unlock_stop
+                                                       , "unlock"
+                                                       , "query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // query
+                                                       , "unlock_stop"
+                                                       , "event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // event
+                                                       , "query"
+                                                       , "create"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create
+                                                       , "event"
+                                                       , "alloc"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("alloc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // alloc
+                                                       , "create"
+                                                       , "fill"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("fill"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // fill
+                                                       , "alloc"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "fill"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_src_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_base_src_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms);
+
+               public void GetAllocator(out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       gst_base_src_get_allocator(Handle, out native_allocator, native_parms);
+                       allocator = GLib.Object.GetObject(native_allocator, true) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_src_get_buffer_pool(IntPtr raw);
+
+               public Gst.BufferPool BufferPool { 
+                       get {
+                               IntPtr raw_ret = gst_base_src_get_buffer_pool(Handle);
+                               Gst.BufferPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.BufferPool;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_src_is_async(IntPtr raw);
+
+               public bool IsAsync { 
+                       get {
+                               bool raw_ret = gst_base_src_is_async(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_src_is_live(IntPtr raw);
+
+               public bool IsLive { 
+                       get {
+                               bool raw_ret = gst_base_src_is_live(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_src_new_seamless_segment(IntPtr raw, long start, long stop, long time);
+
+               public bool NewSeamlessSegment(long start, long stop, long time) {
+                       bool raw_ret = gst_base_src_new_seamless_segment(Handle, start, stop, time);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_src_query_latency(IntPtr raw, out bool live, out ulong min_latency, out ulong max_latency);
+
+               public bool QueryLatency(out bool live, out ulong min_latency, out ulong max_latency) {
+                       bool raw_ret = gst_base_src_query_latency(Handle, out live, out min_latency, out max_latency);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_set_async(IntPtr raw, bool async);
+
+               public bool Async { 
+                       set {
+                               gst_base_src_set_async(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_set_automatic_eos(IntPtr raw, bool automatic_eos);
+
+               public bool AutomaticEos { 
+                       set {
+                               gst_base_src_set_automatic_eos(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_src_set_caps(IntPtr raw, IntPtr caps);
+
+               public bool SetCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_base_src_set_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_set_dynamic_size(IntPtr raw, bool dynamic);
+
+               public bool DynamicSize { 
+                       set {
+                               gst_base_src_set_dynamic_size(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_set_format(IntPtr raw, int format);
+
+               public Gst.Format Format { 
+                       set {
+                               gst_base_src_set_format(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_set_live(IntPtr raw, bool live);
+
+               public bool Live { 
+                       set {
+                               gst_base_src_set_live(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_start_complete(IntPtr raw, int _ret);
+
+               public void StartComplete(Gst.FlowReturn _ret) {
+                       gst_base_src_start_complete(Handle, (int) _ret);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_base_src_start_wait(IntPtr raw);
+
+               public Gst.FlowReturn StartWait() {
+                       int raw_ret = gst_base_src_start_wait(Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_src_submit_buffer_list(IntPtr raw, IntPtr buffer_list);
+
+               public void SubmitBufferList(Gst.BufferList buffer_list) {
+                       buffer_list.Owned = false;
+                       gst_base_src_submit_buffer_list(Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_base_src_wait_playing(IntPtr raw);
+
+               public Gst.FlowReturn WaitPlaying() {
+                       int raw_ret = gst_base_src_wait_playing(Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+
+               static BaseSrc ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("srcpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , null
+                                                       , "live_lock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("live_lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // live_lock
+                                                       , "srcpad"
+                                                       , "live_cond"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("live_cond"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Cond.ABI)) // live_cond
+                                                       , "live_lock"
+                                                       , "is_live"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_live_condAlign), "live_cond")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("is_live"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // is_live
+                                                       , "live_cond"
+                                                       , "live_running"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_is_liveAlign), "is_live")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("live_running"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // live_running
+                                                       , "is_live"
+                                                       , "blocksize"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_live_runningAlign), "live_running")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("blocksize"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // blocksize
+                                                       , "live_running"
+                                                       , "can_activate_push"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_blocksizeAlign), "blocksize")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("can_activate_push"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // can_activate_push
+                                                       , "blocksize"
+                                                       , "random_access"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_can_activate_pushAlign), "can_activate_push")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("random_access"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // random_access
+                                                       , "can_activate_push"
+                                                       , "clock_id"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_random_accessAlign), "random_access")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock_id"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // clock_id
+                                                       , "random_access"
+                                                       , "segment"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment
+                                                       , "clock_id"
+                                                       , "need_newsegment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_segmentAlign), "segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("need_newsegment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // need_newsegment
+                                                       , "segment"
+                                                       , "num_buffers"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_need_newsegmentAlign), "need_newsegment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("num_buffers"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // num_buffers
+                                                       , "need_newsegment"
+                                                       , "num_buffers_left"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_num_buffersAlign), "num_buffers")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("num_buffers_left"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // num_buffers_left
+                                                       , "num_buffers"
+                                                       , "typefind"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_num_buffers_leftAlign), "num_buffers_left")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("typefind"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // typefind
+                                                       , "num_buffers_left"
+                                                       , "running"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_typefindAlign), "typefind")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("running"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // running
+                                                       , "typefind"
+                                                       , "pending_seek"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseSrc_runningAlign), "running")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pending_seek"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pending_seek
+                                                       , "running"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "pending_seek"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_live_condAlign
+               {
+                       sbyte f1;
+                       private GLib.Cond.ABI live_cond;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_is_liveAlign
+               {
+                       sbyte f1;
+                       private bool is_live;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_live_runningAlign
+               {
+                       sbyte f1;
+                       private bool live_running;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_blocksizeAlign
+               {
+                       sbyte f1;
+                       private uint blocksize;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_can_activate_pushAlign
+               {
+                       sbyte f1;
+                       private bool can_activate_push;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_random_accessAlign
+               {
+                       sbyte f1;
+                       private bool random_access;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_need_newsegmentAlign
+               {
+                       sbyte f1;
+                       private bool need_newsegment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_num_buffersAlign
+               {
+                       sbyte f1;
+                       private int num_buffers;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_num_buffers_leftAlign
+               {
+                       sbyte f1;
+                       private int num_buffers_left;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_typefindAlign
+               {
+                       sbyte f1;
+                       private bool typefind;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseSrc_runningAlign
+               {
+                       sbyte f1;
+                       private bool running;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_BaseSrcFlags.cs b/sources/generated/Gst.Base_BaseSrcFlags.cs
new file mode 100644 (file)
index 0000000..0c2b9ba
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       public enum BaseSrcFlags {
+
+               Starting = 16384,
+               Started = 32768,
+               Last = 1048576,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_BaseTransform.cs b/sources/generated/Gst.Base_BaseTransform.cs
new file mode 100644 (file)
index 0000000..8c8a5b7
--- /dev/null
@@ -0,0 +1,1819 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BaseTransform : Gst.Element {
+
+               protected BaseTransform (IntPtr raw) : base(raw) {}
+
+               protected BaseTransform() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("qos")]
+               public bool Qos {
+                       get {
+                               GLib.Value val = GetProperty ("qos");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("qos", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public Gst.Pad Sinkpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sinkpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public Gst.Pad Srcpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("srcpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public bool HaveSegment {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("have_segment"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Segment Segment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public Gst.Buffer QueuedBuf {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("queued_buf"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Buffer), false);
+                               }
+                       }
+               }
+
+               static TransformCapsNativeDelegate TransformCaps_cb_delegate;
+               static TransformCapsNativeDelegate TransformCapsVMCallback {
+                       get {
+                               if (TransformCaps_cb_delegate == null)
+                                       TransformCaps_cb_delegate = new TransformCapsNativeDelegate (TransformCaps_cb);
+                               return TransformCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformCaps (GLib.GType gtype)
+               {
+                       OverrideTransformCaps (gtype, TransformCapsVMCallback);
+               }
+
+               static void OverrideTransformCaps (GLib.GType gtype, TransformCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr TransformCapsNativeDelegate (IntPtr inst, int direction, IntPtr caps, IntPtr filter);
+
+               static IntPtr TransformCaps_cb (IntPtr inst, int direction, IntPtr caps, IntPtr filter)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               Gst.Caps __result;
+                               __result = __obj.OnTransformCaps ((Gst.PadDirection) direction, caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false), filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideTransformCaps")]
+               protected virtual Gst.Caps OnTransformCaps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps filter)
+               {
+                       return InternalTransformCaps (direction, caps, filter);
+               }
+
+               private Gst.Caps InternalTransformCaps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps filter)
+               {
+                       TransformCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_caps"));
+                               unmanaged = (TransformCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, (int) direction, caps == null ? IntPtr.Zero : caps.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static FixateCapsNativeDelegate FixateCaps_cb_delegate;
+               static FixateCapsNativeDelegate FixateCapsVMCallback {
+                       get {
+                               if (FixateCaps_cb_delegate == null)
+                                       FixateCaps_cb_delegate = new FixateCapsNativeDelegate (FixateCaps_cb);
+                               return FixateCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideFixateCaps (GLib.GType gtype)
+               {
+                       OverrideFixateCaps (gtype, FixateCapsVMCallback);
+               }
+
+               static void OverrideFixateCaps (GLib.GType gtype, FixateCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("fixate_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr FixateCapsNativeDelegate (IntPtr inst, int direction, IntPtr caps, IntPtr othercaps);
+
+               static IntPtr FixateCaps_cb (IntPtr inst, int direction, IntPtr caps, IntPtr othercaps)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               Gst.Caps __result;
+                               __result = __obj.OnFixateCaps ((Gst.PadDirection) direction, caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false), othercaps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (othercaps, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideFixateCaps")]
+               protected virtual Gst.Caps OnFixateCaps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps othercaps)
+               {
+                       return InternalFixateCaps (direction, caps, othercaps);
+               }
+
+               private Gst.Caps InternalFixateCaps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps othercaps)
+               {
+                       FixateCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("fixate_caps"));
+                               unmanaged = (FixateCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FixateCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, (int) direction, caps == null ? IntPtr.Zero : caps.Handle, othercaps == null ? IntPtr.Zero : othercaps.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static AcceptCapsNativeDelegate AcceptCaps_cb_delegate;
+               static AcceptCapsNativeDelegate AcceptCapsVMCallback {
+                       get {
+                               if (AcceptCaps_cb_delegate == null)
+                                       AcceptCaps_cb_delegate = new AcceptCapsNativeDelegate (AcceptCaps_cb);
+                               return AcceptCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideAcceptCaps (GLib.GType gtype)
+               {
+                       OverrideAcceptCaps (gtype, AcceptCapsVMCallback);
+               }
+
+               static void OverrideAcceptCaps (GLib.GType gtype, AcceptCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("accept_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool AcceptCapsNativeDelegate (IntPtr inst, int direction, IntPtr caps);
+
+               static bool AcceptCaps_cb (IntPtr inst, int direction, IntPtr caps)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnAcceptCaps ((Gst.PadDirection) direction, caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideAcceptCaps")]
+               protected virtual bool OnAcceptCaps (Gst.PadDirection direction, Gst.Caps caps)
+               {
+                       return InternalAcceptCaps (direction, caps);
+               }
+
+               private bool InternalAcceptCaps (Gst.PadDirection direction, Gst.Caps caps)
+               {
+                       AcceptCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("accept_caps"));
+                               unmanaged = (AcceptCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AcceptCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, (int) direction, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result;
+               }
+
+               static SetCapsNativeDelegate SetCaps_cb_delegate;
+               static SetCapsNativeDelegate SetCapsVMCallback {
+                       get {
+                               if (SetCaps_cb_delegate == null)
+                                       SetCaps_cb_delegate = new SetCapsNativeDelegate (SetCaps_cb);
+                               return SetCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype)
+               {
+                       OverrideSetCaps (gtype, SetCapsVMCallback);
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype, SetCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetCapsNativeDelegate (IntPtr inst, IntPtr incaps, IntPtr outcaps);
+
+               static bool SetCaps_cb (IntPtr inst, IntPtr incaps, IntPtr outcaps)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnSetCaps (incaps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (incaps, typeof (Gst.Caps), false), outcaps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (outcaps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideSetCaps")]
+               protected virtual bool OnSetCaps (Gst.Caps incaps, Gst.Caps outcaps)
+               {
+                       return InternalSetCaps (incaps, outcaps);
+               }
+
+               private bool InternalSetCaps (Gst.Caps incaps, Gst.Caps outcaps)
+               {
+                       SetCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               unmanaged = (SetCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, incaps == null ? IntPtr.Zero : incaps.Handle, outcaps == null ? IntPtr.Zero : outcaps.Handle);
+                       return __result;
+               }
+
+               static QueryNativeDelegate Query_cb_delegate;
+               static QueryNativeDelegate QueryVMCallback {
+                       get {
+                               if (Query_cb_delegate == null)
+                                       Query_cb_delegate = new QueryNativeDelegate (Query_cb);
+                               return Query_cb_delegate;
+                       }
+               }
+
+               static void OverrideQuery (GLib.GType gtype)
+               {
+                       OverrideQuery (gtype, QueryVMCallback);
+               }
+
+               static void OverrideQuery (GLib.GType gtype, QueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool QueryNativeDelegate (IntPtr inst, int direction, IntPtr query);
+
+               static bool Query_cb (IntPtr inst, int direction, IntPtr query)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnQuery ((Gst.PadDirection) direction, query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideQuery")]
+               protected virtual bool OnQuery (Gst.PadDirection direction, Gst.Query query)
+               {
+                       return InternalQuery (direction, query);
+               }
+
+               private bool InternalQuery (Gst.PadDirection direction, Gst.Query query)
+               {
+                       QueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               unmanaged = (QueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(QueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, (int) direction, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static DecideAllocationNativeDelegate DecideAllocation_cb_delegate;
+               static DecideAllocationNativeDelegate DecideAllocationVMCallback {
+                       get {
+                               if (DecideAllocation_cb_delegate == null)
+                                       DecideAllocation_cb_delegate = new DecideAllocationNativeDelegate (DecideAllocation_cb);
+                               return DecideAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype)
+               {
+                       OverrideDecideAllocation (gtype, DecideAllocationVMCallback);
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype, DecideAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DecideAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool DecideAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnDecideAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideDecideAllocation")]
+               protected virtual bool OnDecideAllocation (Gst.Query query)
+               {
+                       return InternalDecideAllocation (query);
+               }
+
+               private bool InternalDecideAllocation (Gst.Query query)
+               {
+                       DecideAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               unmanaged = (DecideAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DecideAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static FilterMetaNativeDelegate FilterMeta_cb_delegate;
+               static FilterMetaNativeDelegate FilterMetaVMCallback {
+                       get {
+                               if (FilterMeta_cb_delegate == null)
+                                       FilterMeta_cb_delegate = new FilterMetaNativeDelegate (FilterMeta_cb);
+                               return FilterMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideFilterMeta (GLib.GType gtype)
+               {
+                       OverrideFilterMeta (gtype, FilterMetaVMCallback);
+               }
+
+               static void OverrideFilterMeta (GLib.GType gtype, FilterMetaNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("filter_meta"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool FilterMetaNativeDelegate (IntPtr inst, IntPtr query, IntPtr api, IntPtr parms);
+
+               static bool FilterMeta_cb (IntPtr inst, IntPtr query, IntPtr api, IntPtr parms)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnFilterMeta (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false), new GLib.GType(api), parms == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (parms, typeof (Gst.Structure), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideFilterMeta")]
+               protected virtual bool OnFilterMeta (Gst.Query query, GLib.GType api, Gst.Structure parms)
+               {
+                       return InternalFilterMeta (query, api, parms);
+               }
+
+               private bool InternalFilterMeta (Gst.Query query, GLib.GType api, Gst.Structure parms)
+               {
+                       FilterMetaNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("filter_meta"));
+                               unmanaged = (FilterMetaNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FilterMetaNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle, api.Val, parms == null ? IntPtr.Zero : parms.Handle);
+                       return __result;
+               }
+
+               static ProposeAllocationNativeDelegate ProposeAllocation_cb_delegate;
+               static ProposeAllocationNativeDelegate ProposeAllocationVMCallback {
+                       get {
+                               if (ProposeAllocation_cb_delegate == null)
+                                       ProposeAllocation_cb_delegate = new ProposeAllocationNativeDelegate (ProposeAllocation_cb);
+                               return ProposeAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype)
+               {
+                       OverrideProposeAllocation (gtype, ProposeAllocationVMCallback);
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype, ProposeAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ProposeAllocationNativeDelegate (IntPtr inst, IntPtr decide_query, IntPtr query);
+
+               static bool ProposeAllocation_cb (IntPtr inst, IntPtr decide_query, IntPtr query)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnProposeAllocation (decide_query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (decide_query, typeof (Gst.Query), false), query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideProposeAllocation")]
+               protected virtual bool OnProposeAllocation (Gst.Query decide_query, Gst.Query query)
+               {
+                       return InternalProposeAllocation (decide_query, query);
+               }
+
+               private bool InternalProposeAllocation (Gst.Query decide_query, Gst.Query query)
+               {
+                       ProposeAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               unmanaged = (ProposeAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProposeAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, decide_query == null ? IntPtr.Zero : decide_query.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static TransformSizeNativeDelegate TransformSize_cb_delegate;
+               static TransformSizeNativeDelegate TransformSizeVMCallback {
+                       get {
+                               if (TransformSize_cb_delegate == null)
+                                       TransformSize_cb_delegate = new TransformSizeNativeDelegate (TransformSize_cb);
+                               return TransformSize_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformSize (GLib.GType gtype)
+               {
+                       OverrideTransformSize (gtype, TransformSizeVMCallback);
+               }
+
+               static void OverrideTransformSize (GLib.GType gtype, TransformSizeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_size"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool TransformSizeNativeDelegate (IntPtr inst, int direction, IntPtr caps, UIntPtr size, IntPtr othercaps, UIntPtr othersize);
+
+               static bool TransformSize_cb (IntPtr inst, int direction, IntPtr caps, UIntPtr size, IntPtr othercaps, UIntPtr othersize)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnTransformSize ((Gst.PadDirection) direction, caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false), (ulong) size, othercaps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (othercaps, typeof (Gst.Caps), false), (ulong) othersize);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideTransformSize")]
+               protected virtual bool OnTransformSize (Gst.PadDirection direction, Gst.Caps caps, ulong size, Gst.Caps othercaps, ulong othersize)
+               {
+                       return InternalTransformSize (direction, caps, size, othercaps, othersize);
+               }
+
+               private bool InternalTransformSize (Gst.PadDirection direction, Gst.Caps caps, ulong size, Gst.Caps othercaps, ulong othersize)
+               {
+                       TransformSizeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_size"));
+                               unmanaged = (TransformSizeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformSizeNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, (int) direction, caps == null ? IntPtr.Zero : caps.Handle, new UIntPtr (size), othercaps == null ? IntPtr.Zero : othercaps.Handle, new UIntPtr (othersize));
+                       return __result;
+               }
+
+               static GetUnitSizeNativeDelegate GetUnitSize_cb_delegate;
+               static GetUnitSizeNativeDelegate GetUnitSizeVMCallback {
+                       get {
+                               if (GetUnitSize_cb_delegate == null)
+                                       GetUnitSize_cb_delegate = new GetUnitSizeNativeDelegate (GetUnitSize_cb);
+                               return GetUnitSize_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetUnitSize (GLib.GType gtype)
+               {
+                       OverrideGetUnitSize (gtype, GetUnitSizeVMCallback);
+               }
+
+               static void OverrideGetUnitSize (GLib.GType gtype, GetUnitSizeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_unit_size"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool GetUnitSizeNativeDelegate (IntPtr inst, IntPtr caps, UIntPtr size);
+
+               static bool GetUnitSize_cb (IntPtr inst, IntPtr caps, UIntPtr size)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnGetUnitSize (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false), (ulong) size);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideGetUnitSize")]
+               protected virtual bool OnGetUnitSize (Gst.Caps caps, ulong size)
+               {
+                       return InternalGetUnitSize (caps, size);
+               }
+
+               private bool InternalGetUnitSize (Gst.Caps caps, ulong size)
+               {
+                       GetUnitSizeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_unit_size"));
+                               unmanaged = (GetUnitSizeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetUnitSizeNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle, new UIntPtr (size));
+                       return __result;
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static SinkEventNativeDelegate SinkEvent_cb_delegate;
+               static SinkEventNativeDelegate SinkEventVMCallback {
+                       get {
+                               if (SinkEvent_cb_delegate == null)
+                                       SinkEvent_cb_delegate = new SinkEventNativeDelegate (SinkEvent_cb);
+                               return SinkEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype)
+               {
+                       OverrideSinkEvent (gtype, SinkEventVMCallback);
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype, SinkEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SinkEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnSinkEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideSinkEvent")]
+               protected virtual bool OnSinkEvent (Gst.Event evnt)
+               {
+                       return InternalSinkEvent (evnt);
+               }
+
+               private bool InternalSinkEvent (Gst.Event evnt)
+               {
+                       SinkEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               unmanaged = (SinkEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SrcEventNativeDelegate SrcEvent_cb_delegate;
+               static SrcEventNativeDelegate SrcEventVMCallback {
+                       get {
+                               if (SrcEvent_cb_delegate == null)
+                                       SrcEvent_cb_delegate = new SrcEventNativeDelegate (SrcEvent_cb);
+                               return SrcEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype)
+               {
+                       OverrideSrcEvent (gtype, SrcEventVMCallback);
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype, SrcEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SrcEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnSrcEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideSrcEvent")]
+               protected virtual bool OnSrcEvent (Gst.Event evnt)
+               {
+                       return InternalSrcEvent (evnt);
+               }
+
+               private bool InternalSrcEvent (Gst.Event evnt)
+               {
+                       SrcEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               unmanaged = (SrcEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static PrepareOutputBufferNativeDelegate PrepareOutputBuffer_cb_delegate;
+               static PrepareOutputBufferNativeDelegate PrepareOutputBufferVMCallback {
+                       get {
+                               if (PrepareOutputBuffer_cb_delegate == null)
+                                       PrepareOutputBuffer_cb_delegate = new PrepareOutputBufferNativeDelegate (PrepareOutputBuffer_cb);
+                               return PrepareOutputBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverridePrepareOutputBuffer (GLib.GType gtype)
+               {
+                       OverridePrepareOutputBuffer (gtype, PrepareOutputBufferVMCallback);
+               }
+
+               static void OverridePrepareOutputBuffer (GLib.GType gtype, PrepareOutputBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_output_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrepareOutputBufferNativeDelegate (IntPtr inst, IntPtr input, IntPtr outbuf);
+
+               static int PrepareOutputBuffer_cb (IntPtr inst, IntPtr input, IntPtr outbuf)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPrepareOutputBuffer (input == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (input, typeof (Gst.Buffer), false), outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverridePrepareOutputBuffer")]
+               protected virtual Gst.FlowReturn OnPrepareOutputBuffer (Gst.Buffer input, Gst.Buffer outbuf)
+               {
+                       return InternalPrepareOutputBuffer (input, outbuf);
+               }
+
+               private Gst.FlowReturn InternalPrepareOutputBuffer (Gst.Buffer input, Gst.Buffer outbuf)
+               {
+                       PrepareOutputBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_output_buffer"));
+                               unmanaged = (PrepareOutputBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareOutputBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, input == null ? IntPtr.Zero : input.Handle, outbuf == null ? IntPtr.Zero : outbuf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static CopyMetadataNativeDelegate CopyMetadata_cb_delegate;
+               static CopyMetadataNativeDelegate CopyMetadataVMCallback {
+                       get {
+                               if (CopyMetadata_cb_delegate == null)
+                                       CopyMetadata_cb_delegate = new CopyMetadataNativeDelegate (CopyMetadata_cb);
+                               return CopyMetadata_cb_delegate;
+                       }
+               }
+
+               static void OverrideCopyMetadata (GLib.GType gtype)
+               {
+                       OverrideCopyMetadata (gtype, CopyMetadataVMCallback);
+               }
+
+               static void OverrideCopyMetadata (GLib.GType gtype, CopyMetadataNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("copy_metadata"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CopyMetadataNativeDelegate (IntPtr inst, IntPtr input, IntPtr outbuf);
+
+               static bool CopyMetadata_cb (IntPtr inst, IntPtr input, IntPtr outbuf)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnCopyMetadata (input == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (input, typeof (Gst.Buffer), false), outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuf, typeof (Gst.Buffer), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideCopyMetadata")]
+               protected virtual bool OnCopyMetadata (Gst.Buffer input, Gst.Buffer outbuf)
+               {
+                       return InternalCopyMetadata (input, outbuf);
+               }
+
+               private bool InternalCopyMetadata (Gst.Buffer input, Gst.Buffer outbuf)
+               {
+                       CopyMetadataNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("copy_metadata"));
+                               unmanaged = (CopyMetadataNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CopyMetadataNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, input == null ? IntPtr.Zero : input.Handle, outbuf == null ? IntPtr.Zero : outbuf.Handle);
+                       return __result;
+               }
+
+               static TransformMetaNativeDelegate TransformMeta_cb_delegate;
+               static TransformMetaNativeDelegate TransformMetaVMCallback {
+                       get {
+                               if (TransformMeta_cb_delegate == null)
+                                       TransformMeta_cb_delegate = new TransformMetaNativeDelegate (TransformMeta_cb);
+                               return TransformMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype)
+               {
+                       OverrideTransformMeta (gtype, TransformMetaVMCallback);
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype, TransformMetaNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool TransformMetaNativeDelegate (IntPtr inst, IntPtr outbuf, IntPtr meta, IntPtr inbuf);
+
+               static bool TransformMeta_cb (IntPtr inst, IntPtr outbuf, IntPtr meta, IntPtr inbuf)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               bool __result;
+                               __result = __obj.OnTransformMeta (outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuf, typeof (Gst.Buffer), false), Gst.Meta.New (meta), inbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (inbuf, typeof (Gst.Buffer), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideTransformMeta")]
+               protected virtual bool OnTransformMeta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf)
+               {
+                       return InternalTransformMeta (outbuf, meta, inbuf);
+               }
+
+               private bool InternalTransformMeta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf)
+               {
+                       TransformMetaNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               unmanaged = (TransformMetaNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformMetaNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = unmanaged (this.Handle, outbuf == null ? IntPtr.Zero : outbuf.Handle, native_meta, inbuf == null ? IntPtr.Zero : inbuf.Handle);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+
+               static BeforeTransformNativeDelegate BeforeTransform_cb_delegate;
+               static BeforeTransformNativeDelegate BeforeTransformVMCallback {
+                       get {
+                               if (BeforeTransform_cb_delegate == null)
+                                       BeforeTransform_cb_delegate = new BeforeTransformNativeDelegate (BeforeTransform_cb);
+                               return BeforeTransform_cb_delegate;
+                       }
+               }
+
+               static void OverrideBeforeTransform (GLib.GType gtype)
+               {
+                       OverrideBeforeTransform (gtype, BeforeTransformVMCallback);
+               }
+
+               static void OverrideBeforeTransform (GLib.GType gtype, BeforeTransformNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("before_transform"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void BeforeTransformNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static void BeforeTransform_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               __obj.OnBeforeTransform (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideBeforeTransform")]
+               protected virtual void OnBeforeTransform (Gst.Buffer buffer)
+               {
+                       InternalBeforeTransform (buffer);
+               }
+
+               private void InternalBeforeTransform (Gst.Buffer buffer)
+               {
+                       BeforeTransformNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("before_transform"));
+                               unmanaged = (BeforeTransformNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(BeforeTransformNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+               }
+
+               static TransformNativeDelegate Transform_cb_delegate;
+               static TransformNativeDelegate TransformVMCallback {
+                       get {
+                               if (Transform_cb_delegate == null)
+                                       Transform_cb_delegate = new TransformNativeDelegate (Transform_cb);
+                               return Transform_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransform (GLib.GType gtype)
+               {
+                       OverrideTransform (gtype, TransformVMCallback);
+               }
+
+               static void OverrideTransform (GLib.GType gtype, TransformNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int TransformNativeDelegate (IntPtr inst, IntPtr inbuf, IntPtr outbuf);
+
+               static int Transform_cb (IntPtr inst, IntPtr inbuf, IntPtr outbuf)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnTransform (inbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (inbuf, typeof (Gst.Buffer), false), outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideTransform")]
+               protected virtual Gst.FlowReturn OnTransform (Gst.Buffer inbuf, Gst.Buffer outbuf)
+               {
+                       return InternalTransform (inbuf, outbuf);
+               }
+
+               private Gst.FlowReturn InternalTransform (Gst.Buffer inbuf, Gst.Buffer outbuf)
+               {
+                       TransformNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform"));
+                               unmanaged = (TransformNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, inbuf == null ? IntPtr.Zero : inbuf.Handle, outbuf == null ? IntPtr.Zero : outbuf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static TransformIpNativeDelegate TransformIp_cb_delegate;
+               static TransformIpNativeDelegate TransformIpVMCallback {
+                       get {
+                               if (TransformIp_cb_delegate == null)
+                                       TransformIp_cb_delegate = new TransformIpNativeDelegate (TransformIp_cb);
+                               return TransformIp_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformIp (GLib.GType gtype)
+               {
+                       OverrideTransformIp (gtype, TransformIpVMCallback);
+               }
+
+               static void OverrideTransformIp (GLib.GType gtype, TransformIpNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_ip"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int TransformIpNativeDelegate (IntPtr inst, IntPtr buf);
+
+               static int TransformIp_cb (IntPtr inst, IntPtr buf)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnTransformIp (buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideTransformIp")]
+               protected virtual Gst.FlowReturn OnTransformIp (Gst.Buffer buf)
+               {
+                       return InternalTransformIp (buf);
+               }
+
+               private Gst.FlowReturn InternalTransformIp (Gst.Buffer buf)
+               {
+                       TransformIpNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_ip"));
+                               unmanaged = (TransformIpNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformIpNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buf == null ? IntPtr.Zero : buf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SubmitInputBufferNativeDelegate SubmitInputBuffer_cb_delegate;
+               static SubmitInputBufferNativeDelegate SubmitInputBufferVMCallback {
+                       get {
+                               if (SubmitInputBuffer_cb_delegate == null)
+                                       SubmitInputBuffer_cb_delegate = new SubmitInputBufferNativeDelegate (SubmitInputBuffer_cb);
+                               return SubmitInputBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideSubmitInputBuffer (GLib.GType gtype)
+               {
+                       OverrideSubmitInputBuffer (gtype, SubmitInputBufferVMCallback);
+               }
+
+               static void OverrideSubmitInputBuffer (GLib.GType gtype, SubmitInputBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("submit_input_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int SubmitInputBufferNativeDelegate (IntPtr inst, bool is_discont, IntPtr input);
+
+               static int SubmitInputBuffer_cb (IntPtr inst, bool is_discont, IntPtr input)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnSubmitInputBuffer (is_discont, input == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (input, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideSubmitInputBuffer")]
+               protected virtual Gst.FlowReturn OnSubmitInputBuffer (bool is_discont, Gst.Buffer input)
+               {
+                       return InternalSubmitInputBuffer (is_discont, input);
+               }
+
+               private Gst.FlowReturn InternalSubmitInputBuffer (bool is_discont, Gst.Buffer input)
+               {
+                       SubmitInputBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("submit_input_buffer"));
+                               unmanaged = (SubmitInputBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SubmitInputBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, is_discont, input == null ? IntPtr.Zero : input.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static GenerateOutputNativeDelegate GenerateOutput_cb_delegate;
+               static GenerateOutputNativeDelegate GenerateOutputVMCallback {
+                       get {
+                               if (GenerateOutput_cb_delegate == null)
+                                       GenerateOutput_cb_delegate = new GenerateOutputNativeDelegate (GenerateOutput_cb);
+                               return GenerateOutput_cb_delegate;
+                       }
+               }
+
+               static void OverrideGenerateOutput (GLib.GType gtype)
+               {
+                       OverrideGenerateOutput (gtype, GenerateOutputVMCallback);
+               }
+
+               static void OverrideGenerateOutput (GLib.GType gtype, GenerateOutputNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("generate_output"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int GenerateOutputNativeDelegate (IntPtr inst, IntPtr outbuf);
+
+               static int GenerateOutput_cb (IntPtr inst, IntPtr outbuf)
+               {
+                       try {
+                               BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnGenerateOutput (outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.BaseTransform), ConnectionMethod="OverrideGenerateOutput")]
+               protected virtual Gst.FlowReturn OnGenerateOutput (Gst.Buffer outbuf)
+               {
+                       return InternalGenerateOutput (outbuf);
+               }
+
+               private Gst.FlowReturn InternalGenerateOutput (Gst.Buffer outbuf)
+               {
+                       GenerateOutputNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("generate_output"));
+                               unmanaged = (GenerateOutputNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GenerateOutputNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, outbuf == null ? IntPtr.Zero : outbuf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("passthrough_on_same_caps"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // passthrough_on_same_caps
+                                                       , null
+                                                       , "transform_ip_on_passthrough"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseTransform_passthrough_on_same_capsAlign), "passthrough_on_same_caps")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_ip_on_passthrough"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // transform_ip_on_passthrough
+                                                       , "passthrough_on_same_caps"
+                                                       , "transform_caps"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseTransform_transform_ip_on_passthroughAlign), "transform_ip_on_passthrough")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_caps
+                                                       , "transform_ip_on_passthrough"
+                                                       , "fixate_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("fixate_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // fixate_caps
+                                                       , "transform_caps"
+                                                       , "accept_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("accept_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // accept_caps
+                                                       , "fixate_caps"
+                                                       , "set_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_caps
+                                                       , "accept_caps"
+                                                       , "query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // query
+                                                       , "set_caps"
+                                                       , "decide_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("decide_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // decide_allocation
+                                                       , "query"
+                                                       , "filter_meta"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("filter_meta"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // filter_meta
+                                                       , "decide_allocation"
+                                                       , "propose_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("propose_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // propose_allocation
+                                                       , "filter_meta"
+                                                       , "transform_size"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_size
+                                                       , "propose_allocation"
+                                                       , "get_unit_size"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_unit_size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_unit_size
+                                                       , "transform_size"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "get_unit_size"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "sink_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event
+                                                       , "stop"
+                                                       , "src_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_event
+                                                       , "sink_event"
+                                                       , "prepare_output_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prepare_output_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare_output_buffer
+                                                       , "src_event"
+                                                       , "copy_metadata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("copy_metadata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // copy_metadata
+                                                       , "prepare_output_buffer"
+                                                       , "transform_meta"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_meta"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_meta
+                                                       , "copy_metadata"
+                                                       , "before_transform"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("before_transform"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // before_transform
+                                                       , "transform_meta"
+                                                       , "transform"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform
+                                                       , "before_transform"
+                                                       , "transform_ip"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_ip"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_ip
+                                                       , "transform"
+                                                       , "submit_input_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("submit_input_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // submit_input_buffer
+                                                       , "transform_ip"
+                                                       , "generate_output"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("generate_output"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // generate_output
+                                                       , "submit_input_buffer"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 18 // _gst_reserved
+                                                       , "generate_output"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseTransform_passthrough_on_same_capsAlign
+               {
+                       sbyte f1;
+                       private bool passthrough_on_same_caps;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseTransform_transform_ip_on_passthroughAlign
+               {
+                       sbyte f1;
+                       private bool transform_ip_on_passthrough;
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_transform_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_base_transform_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms);
+
+               public void GetAllocator(out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       gst_base_transform_get_allocator(Handle, out native_allocator, native_parms);
+                       allocator = GLib.Object.GetObject(native_allocator, true) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_base_transform_get_buffer_pool(IntPtr raw);
+
+               public Gst.BufferPool BufferPool { 
+                       get {
+                               IntPtr raw_ret = gst_base_transform_get_buffer_pool(Handle);
+                               Gst.BufferPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.BufferPool;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_transform_is_in_place(IntPtr raw);
+
+               public bool IsInPlace { 
+                       get {
+                               bool raw_ret = gst_base_transform_is_in_place(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_transform_is_passthrough(IntPtr raw);
+
+               public bool IsPassthrough { 
+                       get {
+                               bool raw_ret = gst_base_transform_is_passthrough(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_transform_is_qos_enabled(IntPtr raw);
+
+               public bool IsQosEnabled { 
+                       get {
+                               bool raw_ret = gst_base_transform_is_qos_enabled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_reconfigure_sink(IntPtr raw);
+
+               public void ReconfigureSink() {
+                       gst_base_transform_reconfigure_sink(Handle);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_reconfigure_src(IntPtr raw);
+
+               public void ReconfigureSrc() {
+                       gst_base_transform_reconfigure_src(Handle);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_set_gap_aware(IntPtr raw, bool gap_aware);
+
+               public bool GapAware { 
+                       set {
+                               gst_base_transform_set_gap_aware(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_set_in_place(IntPtr raw, bool in_place);
+
+               public bool InPlace { 
+                       set {
+                               gst_base_transform_set_in_place(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_set_passthrough(IntPtr raw, bool passthrough);
+
+               public bool Passthrough { 
+                       set {
+                               gst_base_transform_set_passthrough(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_set_prefer_passthrough(IntPtr raw, bool prefer_passthrough);
+
+               public bool PreferPassthrough { 
+                       set {
+                               gst_base_transform_set_prefer_passthrough(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_set_qos_enabled(IntPtr raw, bool enabled);
+
+               public bool QosEnabled { 
+                       set {
+                               gst_base_transform_set_qos_enabled(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_base_transform_update_qos(IntPtr raw, double proportion, long diff, ulong timestamp);
+
+               public void UpdateQos(double proportion, long diff, ulong timestamp) {
+                       gst_base_transform_update_qos(Handle, proportion, diff, timestamp);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_base_transform_update_src_caps(IntPtr raw, IntPtr updated_caps);
+
+               public bool UpdateSrcCaps(Gst.Caps updated_caps) {
+                       bool raw_ret = gst_base_transform_update_src_caps(Handle, updated_caps == null ? IntPtr.Zero : updated_caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               static BaseTransform ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "srcpad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , "sinkpad"
+                                                       , "have_segment"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("have_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // have_segment
+                                                       , "srcpad"
+                                                       , "segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseTransform_have_segmentAlign), "have_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment
+                                                       , "have_segment"
+                                                       , "queued_buf"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBaseTransform_segmentAlign), "segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("queued_buf"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // queued_buf
+                                                       , "segment"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "queued_buf"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 19 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseTransform_have_segmentAlign
+               {
+                       sbyte f1;
+                       private bool have_segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBaseTransform_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment segment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_BitReader.cs b/sources/generated/Gst.Base_BitReader.cs
new file mode 100644 (file)
index 0000000..280d504
--- /dev/null
@@ -0,0 +1,251 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct BitReader : IEquatable<BitReader> {
+
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=0)]
+               public byte[] Data;
+               public uint Size;
+               public uint Byte;
+               public uint Bit;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Base.BitReader Zero = new Gst.Base.BitReader ();
+
+               public static Gst.Base.BitReader New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Base.BitReader.Zero;
+                       return (Gst.Base.BitReader) Marshal.PtrToStructure (raw, typeof (Gst.Base.BitReader));
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bit_reader_free(IntPtr raw);
+
+               public void Free() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_bit_reader_free(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_get_bits_uint16(IntPtr raw, out ushort val, uint nbits);
+
+               public bool GetBitsUint16(out ushort val, uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_get_bits_uint16(this_as_native, out val, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_get_bits_uint32(IntPtr raw, out uint val, uint nbits);
+
+               public bool GetBitsUint32(out uint val, uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_get_bits_uint32(this_as_native, out val, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_get_bits_uint64(IntPtr raw, out ulong val, uint nbits);
+
+               public bool GetBitsUint64(out ulong val, uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_get_bits_uint64(this_as_native, out val, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_get_bits_uint8(IntPtr raw, out byte val, uint nbits);
+
+               public bool GetBitsUint8(out byte val, uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_get_bits_uint8(this_as_native, out val, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_bit_reader_get_pos(IntPtr raw);
+
+               public uint Pos { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_bit_reader_get_pos(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_bit_reader_get_remaining(IntPtr raw);
+
+               public uint Remaining { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_bit_reader_get_remaining(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bit_reader_init(IntPtr raw, byte[] data, uint size);
+
+               public void Init(byte[] data, uint size) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_bit_reader_init(this_as_native, data, size);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_peek_bits_uint16(IntPtr raw, out ushort val, uint nbits);
+
+               public bool PeekBitsUint16(out ushort val, uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_peek_bits_uint16(this_as_native, out val, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_peek_bits_uint32(IntPtr raw, out uint val, uint nbits);
+
+               public bool PeekBitsUint32(out uint val, uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_peek_bits_uint32(this_as_native, out val, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_peek_bits_uint64(IntPtr raw, out ulong val, uint nbits);
+
+               public bool PeekBitsUint64(out ulong val, uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_peek_bits_uint64(this_as_native, out val, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_peek_bits_uint8(IntPtr raw, out byte val, uint nbits);
+
+               public bool PeekBitsUint8(out byte val, uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_peek_bits_uint8(this_as_native, out val, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_set_pos(IntPtr raw, uint pos);
+
+               public bool SetPos(uint pos) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_set_pos(this_as_native, pos);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_skip(IntPtr raw, uint nbits);
+
+               public bool Skip(uint nbits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_skip(this_as_native, nbits);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bit_reader_skip_to_byte(IntPtr raw);
+
+               public bool SkipToByte() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_bit_reader_skip_to_byte(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Base.BitReader target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (BitReader other)
+               {
+                       return true && Data.Equals (other.Data) && Size.Equals (other.Size) && Byte.Equals (other.Byte) && Bit.Equals (other.Bit);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is BitReader && Equals ((BitReader) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Data.GetHashCode () ^ Size.GetHashCode () ^ Byte.GetHashCode () ^ Bit.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_ByteReader.cs b/sources/generated/Gst.Base_ByteReader.cs
new file mode 100644 (file)
index 0000000..3f8d838
--- /dev/null
@@ -0,0 +1,110 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ByteReader : GLib.Opaque {
+
+               public uint Size {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public uint Byte {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("byte"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("byte"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ByteReader(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("data"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // data
+                                                       , null
+                                                       , "size"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // size
+                                                       , "data"
+                                                       , "byte"
+                                                       , (long) Marshal.OffsetOf(typeof(GstByteReader_sizeAlign), "size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("byte"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // byte
+                                                       , "size"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstByteReader_byteAlign), "_byte")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "byte"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstByteReader_sizeAlign
+               {
+                       sbyte f1;
+                       private uint size;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstByteReader_byteAlign
+               {
+                       sbyte f1;
+                       private uint _byte;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_ByteWriter.cs b/sources/generated/Gst.Base_ByteWriter.cs
new file mode 100644 (file)
index 0000000..715a355
--- /dev/null
@@ -0,0 +1,558 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct ByteWriter : IEquatable<ByteWriter> {
+
+               private IntPtr _parent;
+               public Gst.Base.ByteReader Parent {
+                       get {
+                               return _parent == IntPtr.Zero ? null : (Gst.Base.ByteReader) GLib.Opaque.GetOpaque (_parent, typeof (Gst.Base.ByteReader), false);
+                       }
+                       set {
+                               _parent = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public uint AllocSize;
+               public bool Fixed;
+               public bool Owned;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Base.ByteWriter Zero = new Gst.Base.ByteWriter ();
+
+               public static Gst.Base.ByteWriter New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Base.ByteWriter.Zero;
+                       return (Gst.Base.ByteWriter) Marshal.PtrToStructure (raw, typeof (Gst.Base.ByteWriter));
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_ensure_free_space(IntPtr raw, uint size);
+
+               public bool EnsureFreeSpace(uint size) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_ensure_free_space(this_as_native, size);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_fill(IntPtr raw, byte value, uint size);
+
+               public bool Fill(byte value, uint size) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_fill(this_as_native, value, size);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_byte_writer_free(IntPtr raw);
+
+               public void Free() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_byte_writer_free(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_byte_writer_free_and_get_buffer(IntPtr raw);
+
+               public Gst.Buffer FreeAndGetBuffer() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_byte_writer_free_and_get_buffer(this_as_native);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_byte_writer_free_and_get_data(IntPtr raw);
+
+               public byte FreeAndGetData() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       byte raw_ret = gst_byte_writer_free_and_get_data(this_as_native);
+                       byte ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_byte_writer_get_remaining(IntPtr raw);
+
+               public uint Remaining { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_byte_writer_get_remaining(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_byte_writer_init(IntPtr raw);
+
+               public void Init() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_byte_writer_init(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_byte_writer_init_with_data(IntPtr raw, byte[] data, uint size, bool initialized);
+
+               public void InitWithData(byte[] data, uint size, bool initialized) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_byte_writer_init_with_data(this_as_native, data, size, initialized);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_byte_writer_init_with_size(IntPtr raw, uint size, bool mfixed);
+
+               public void InitWithSize(uint size, bool mfixed) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_byte_writer_init_with_size(this_as_native, size, mfixed);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_buffer(IntPtr raw, IntPtr buffer, UIntPtr offset, IntPtr size);
+
+               public bool PutBuffer(Gst.Buffer buffer, ulong offset, long size) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_buffer(this_as_native, buffer == null ? IntPtr.Zero : buffer.Handle, new UIntPtr (offset), new IntPtr (size));
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_data(IntPtr raw, byte[] data, uint size);
+
+               public bool PutData(byte[] data, uint size) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_data(this_as_native, data, size);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_float32_be(IntPtr raw, float val);
+
+               public bool PutFloat32Be(float val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_float32_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_float32_le(IntPtr raw, float val);
+
+               public bool PutFloat32Le(float val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_float32_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_float64_be(IntPtr raw, double val);
+
+               public bool PutFloat64Be(double val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_float64_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_float64_le(IntPtr raw, double val);
+
+               public bool PutFloat64Le(double val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_float64_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int16_be(IntPtr raw, short val);
+
+               public bool PutInt16Be(short val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int16_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int16_le(IntPtr raw, short val);
+
+               public bool PutInt16Le(short val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int16_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int24_be(IntPtr raw, int val);
+
+               public bool PutInt24Be(int val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int24_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int24_le(IntPtr raw, int val);
+
+               public bool PutInt24Le(int val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int24_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int32_be(IntPtr raw, int val);
+
+               public bool PutInt32Be(int val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int32_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int32_le(IntPtr raw, int val);
+
+               public bool PutInt32Le(int val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int32_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int64_be(IntPtr raw, long val);
+
+               public bool PutInt64Be(long val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int64_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int64_le(IntPtr raw, long val);
+
+               public bool PutInt64Le(long val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int64_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_int8(IntPtr raw, sbyte val);
+
+               public bool PutInt8(sbyte val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_int8(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_string_utf16(IntPtr raw, ushort[] data);
+
+               public bool PutStringUtf16(ushort[] data) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_string_utf16(this_as_native, data);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_string_utf32(IntPtr raw, uint[] data);
+
+               public bool PutStringUtf32(uint[] data) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_string_utf32(this_as_native, data);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_string_utf8(IntPtr raw, IntPtr[] data);
+
+               public bool PutStringUtf8(string[] data) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int cnt_data = data == null ? 0 : data.Length;
+                       IntPtr[] native_data = new IntPtr [cnt_data + 1];
+                       for (int i = 0; i < cnt_data; i++)
+                               native_data [i] = GLib.Marshaller.StringToPtrGStrdup (data[i]);
+                       native_data [cnt_data] = IntPtr.Zero;
+                       bool raw_ret = gst_byte_writer_put_string_utf8(this_as_native, native_data);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       for (int i = 0; i < native_data.Length - 1; i++) {
+                               data [i] = GLib.Marshaller.Utf8PtrToString (native_data[i]);
+                               GLib.Marshaller.Free (native_data[i]);
+                       }
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint16_be(IntPtr raw, ushort val);
+
+               public bool PutUint16Be(ushort val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint16_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint16_le(IntPtr raw, ushort val);
+
+               public bool PutUint16Le(ushort val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint16_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint24_be(IntPtr raw, uint val);
+
+               public bool PutUint24Be(uint val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint24_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint24_le(IntPtr raw, uint val);
+
+               public bool PutUint24Le(uint val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint24_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint32_be(IntPtr raw, uint val);
+
+               public bool PutUint32Be(uint val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint32_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint32_le(IntPtr raw, uint val);
+
+               public bool PutUint32Le(uint val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint32_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint64_be(IntPtr raw, ulong val);
+
+               public bool PutUint64Be(ulong val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint64_be(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint64_le(IntPtr raw, ulong val);
+
+               public bool PutUint64Le(ulong val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint64_le(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_byte_writer_put_uint8(IntPtr raw, byte val);
+
+               public bool PutUint8(byte val) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_byte_writer_put_uint8(this_as_native, val);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_byte_writer_reset(IntPtr raw);
+
+               public void Reset() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_byte_writer_reset(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_byte_writer_reset_and_get_buffer(IntPtr raw);
+
+               public Gst.Buffer ResetAndGetBuffer() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_byte_writer_reset_and_get_buffer(this_as_native);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Base.ByteWriter target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (ByteWriter other)
+               {
+                       return true && Parent.Equals (other.Parent) && AllocSize.Equals (other.AllocSize) && Fixed.Equals (other.Fixed) && Owned.Equals (other.Owned);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is ByteWriter && Equals ((ByteWriter) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Parent.GetHashCode () ^ AllocSize.GetHashCode () ^ Fixed.GetHashCode () ^ Owned.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_CollectData.cs b/sources/generated/Gst.Base_CollectData.cs
new file mode 100644 (file)
index 0000000..e01051e
--- /dev/null
@@ -0,0 +1,75 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct CollectData : IEquatable<CollectData> {
+
+               private IntPtr _collect;
+               public Gst.Base.CollectPads Collect {
+                       get {
+                               return GLib.Object.GetObject(_collect) as Gst.Base.CollectPads;
+                       }
+                       set {
+                               _collect = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _pad;
+               public Gst.Pad Pad {
+                       get {
+                               return GLib.Object.GetObject(_pad) as Gst.Pad;
+                       }
+                       set {
+                               _pad = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _buffer;
+               public Gst.Buffer Buffer {
+                       get {
+                               return _buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public uint Pos;
+               public Gst.Segment Segment;
+               private Gst.Base.CollectPadsStateFlags state;
+               private IntPtr _priv;
+
+               public static Gst.Base.CollectData Zero = new Gst.Base.CollectData ();
+
+               public static Gst.Base.CollectData New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Base.CollectData.Zero;
+                       return (Gst.Base.CollectData) Marshal.PtrToStructure (raw, typeof (Gst.Base.CollectData));
+               }
+
+               public bool Equals (CollectData other)
+               {
+                       return true && Collect.Equals (other.Collect) && Pad.Equals (other.Pad) && Buffer.Equals (other.Buffer) && Pos.Equals (other.Pos) && Segment.Equals (other.Segment) && state.Equals (other.state) && _priv.Equals (other._priv);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is CollectData && Equals ((CollectData) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Collect.GetHashCode () ^ Pad.GetHashCode () ^ Buffer.GetHashCode () ^ Pos.GetHashCode () ^ Segment.GetHashCode () ^ state.GetHashCode () ^ _priv.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_CollectDataDestroyNotify.cs b/sources/generated/Gst.Base_CollectDataDestroyNotify.cs
new file mode 100644 (file)
index 0000000..f601654
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate void CollectDataDestroyNotify(Gst.Base.CollectData data);
+
+}
diff --git a/sources/generated/Gst.Base_CollectPads.cs b/sources/generated/Gst.Base_CollectPads.cs
new file mode 100644 (file)
index 0000000..5771c39
--- /dev/null
@@ -0,0 +1,366 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class CollectPads : Gst.Object {
+
+               public CollectPads (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_collect_pads_new();
+
+               public CollectPads () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (CollectPads)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_collect_pads_new();
+               }
+
+               public GLib.SList Data {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("data"));
+                                       return new GLib.SList((*raw_ptr));
+                               }
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_collect_pads_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_collect_pads_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_collect_pads_add_pad(IntPtr raw, IntPtr pad, uint size, Gst.BaseSharp.CollectDataDestroyNotifyNative destroy_notify, bool _lock);
+
+               public Gst.Base.CollectData AddPad(Gst.Pad pad, uint size, Gst.Base.CollectDataDestroyNotify destroy_notify, bool _lock) {
+                       Gst.BaseSharp.CollectDataDestroyNotifyWrapper destroy_notify_wrapper = new Gst.BaseSharp.CollectDataDestroyNotifyWrapper (destroy_notify);
+                       destroy_notify_wrapper.PersistUntilCalled ();
+                       IntPtr raw_ret = gst_collect_pads_add_pad(Handle, pad == null ? IntPtr.Zero : pad.Handle, size, destroy_notify_wrapper.NativeDelegate, _lock);
+                       Gst.Base.CollectData ret = Gst.Base.CollectData.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_collect_pads_available(IntPtr raw);
+
+               public uint Available() {
+                       uint raw_ret = gst_collect_pads_available(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_collect_pads_clip_running_time(IntPtr raw, IntPtr cdata, IntPtr buf, IntPtr outbuf, IntPtr user_data);
+
+               public Gst.FlowReturn ClipRunningTime(Gst.Base.CollectData cdata, Gst.Buffer buf, Gst.Buffer outbuf, IntPtr user_data) {
+                       IntPtr native_cdata = GLib.Marshaller.StructureToPtrAlloc (cdata);
+                       int raw_ret = gst_collect_pads_clip_running_time(Handle, native_cdata, buf == null ? IntPtr.Zero : buf.Handle, outbuf == null ? IntPtr.Zero : outbuf.Handle, user_data);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_cdata);
+                       return ret;
+               }
+
+               public Gst.FlowReturn ClipRunningTime(Gst.Base.CollectData cdata, Gst.Buffer buf) {
+                       return ClipRunningTime (cdata, buf, null, IntPtr.Zero);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_collect_pads_event_default(IntPtr raw, IntPtr data, IntPtr evnt, bool discard);
+
+               public bool EventDefault(Gst.Base.CollectData data, Gst.Event evnt, bool discard) {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       bool raw_ret = gst_collect_pads_event_default(Handle, native_data, evnt == null ? IntPtr.Zero : evnt.Handle, discard);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_data);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_collect_pads_flush(IntPtr raw, IntPtr data, uint size);
+
+               public uint Flush(Gst.Base.CollectData data, uint size) {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       uint raw_ret = gst_collect_pads_flush(Handle, native_data, size);
+                       uint ret = raw_ret;
+                       Marshal.FreeHGlobal (native_data);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_collect_pads_peek(IntPtr raw, IntPtr data);
+
+               public Gst.Buffer Peek(Gst.Base.CollectData data) {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       IntPtr raw_ret = gst_collect_pads_peek(Handle, native_data);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       Marshal.FreeHGlobal (native_data);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_collect_pads_pop(IntPtr raw, IntPtr data);
+
+               public Gst.Buffer Pop(Gst.Base.CollectData data) {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       IntPtr raw_ret = gst_collect_pads_pop(Handle, native_data);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       Marshal.FreeHGlobal (native_data);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_collect_pads_query_default(IntPtr raw, IntPtr data, IntPtr query, bool discard);
+
+               public bool QueryDefault(Gst.Base.CollectData data, Gst.Query query, bool discard) {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       bool raw_ret = gst_collect_pads_query_default(Handle, native_data, query == null ? IntPtr.Zero : query.Handle, discard);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_data);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_collect_pads_read_buffer(IntPtr raw, IntPtr data, uint size);
+
+               public Gst.Buffer ReadBuffer(Gst.Base.CollectData data, uint size) {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       IntPtr raw_ret = gst_collect_pads_read_buffer(Handle, native_data, size);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       Marshal.FreeHGlobal (native_data);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_collect_pads_remove_pad(IntPtr raw, IntPtr pad);
+
+               public bool RemovePad(Gst.Pad pad) {
+                       bool raw_ret = gst_collect_pads_remove_pad(Handle, pad == null ? IntPtr.Zero : pad.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_buffer_function(IntPtr raw, Gst.BaseSharp.CollectPadsBufferFunctionNative func, IntPtr user_data);
+
+               public Gst.Base.CollectPadsBufferFunction BufferFunction { 
+                       set {
+                               Gst.BaseSharp.CollectPadsBufferFunctionWrapper value_wrapper = new Gst.BaseSharp.CollectPadsBufferFunctionWrapper (value);
+                               gst_collect_pads_set_buffer_function(Handle, value_wrapper.NativeDelegate, IntPtr.Zero);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_clip_function(IntPtr raw, Gst.BaseSharp.CollectPadsClipFunctionNative clipfunc, IntPtr user_data);
+
+               public Gst.Base.CollectPadsClipFunction ClipFunction { 
+                       set {
+                               Gst.BaseSharp.CollectPadsClipFunctionWrapper value_wrapper = new Gst.BaseSharp.CollectPadsClipFunctionWrapper (value);
+                               gst_collect_pads_set_clip_function(Handle, value_wrapper.NativeDelegate, IntPtr.Zero);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_compare_function(IntPtr raw, Gst.BaseSharp.CollectPadsCompareFunctionNative func, IntPtr user_data);
+
+               public Gst.Base.CollectPadsCompareFunction CompareFunction { 
+                       set {
+                               Gst.BaseSharp.CollectPadsCompareFunctionWrapper value_wrapper = new Gst.BaseSharp.CollectPadsCompareFunctionWrapper (value);
+                               gst_collect_pads_set_compare_function(Handle, value_wrapper.NativeDelegate, IntPtr.Zero);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_event_function(IntPtr raw, Gst.BaseSharp.CollectPadsEventFunctionNative func, IntPtr user_data);
+
+               public Gst.Base.CollectPadsEventFunction EventFunction { 
+                       set {
+                               Gst.BaseSharp.CollectPadsEventFunctionWrapper value_wrapper = new Gst.BaseSharp.CollectPadsEventFunctionWrapper (value);
+                               gst_collect_pads_set_event_function(Handle, value_wrapper.NativeDelegate, IntPtr.Zero);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_flush_function(IntPtr raw, Gst.BaseSharp.CollectPadsFlushFunctionNative func, IntPtr user_data);
+
+               public Gst.Base.CollectPadsFlushFunction FlushFunction { 
+                       set {
+                               Gst.BaseSharp.CollectPadsFlushFunctionWrapper value_wrapper = new Gst.BaseSharp.CollectPadsFlushFunctionWrapper (value);
+                               gst_collect_pads_set_flush_function(Handle, value_wrapper.NativeDelegate, IntPtr.Zero);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_flushing(IntPtr raw, bool flushing);
+
+               public bool Flushing { 
+                       set {
+                               gst_collect_pads_set_flushing(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_function(IntPtr raw, Gst.BaseSharp.CollectPadsFunctionNative func, IntPtr user_data);
+
+               public Gst.Base.CollectPadsFunction Function { 
+                       set {
+                               Gst.BaseSharp.CollectPadsFunctionWrapper value_wrapper = new Gst.BaseSharp.CollectPadsFunctionWrapper (value);
+                               gst_collect_pads_set_function(Handle, value_wrapper.NativeDelegate, IntPtr.Zero);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_query_function(IntPtr raw, Gst.BaseSharp.CollectPadsQueryFunctionNative func, IntPtr user_data);
+
+               public Gst.Base.CollectPadsQueryFunction QueryFunction { 
+                       set {
+                               Gst.BaseSharp.CollectPadsQueryFunctionWrapper value_wrapper = new Gst.BaseSharp.CollectPadsQueryFunctionWrapper (value);
+                               gst_collect_pads_set_query_function(Handle, value_wrapper.NativeDelegate, IntPtr.Zero);
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_set_waiting(IntPtr raw, IntPtr data, bool waiting);
+
+               public void SetWaiting(Gst.Base.CollectData data, bool waiting) {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       gst_collect_pads_set_waiting(Handle, native_data, waiting);
+                       Marshal.FreeHGlobal (native_data);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_collect_pads_src_event_default(IntPtr raw, IntPtr pad, IntPtr evnt);
+
+               public bool SrcEventDefault(Gst.Pad pad, Gst.Event evnt) {
+                       bool raw_ret = gst_collect_pads_src_event_default(Handle, pad == null ? IntPtr.Zero : pad.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_start(IntPtr raw);
+
+               public void Start() {
+                       gst_collect_pads_start(Handle);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_collect_pads_stop(IntPtr raw);
+
+               public void Stop() {
+                       gst_collect_pads_stop(Handle);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_collect_pads_take_buffer(IntPtr raw, IntPtr data, uint size);
+
+               public Gst.Buffer TakeBuffer(Gst.Base.CollectData data, uint size) {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       IntPtr raw_ret = gst_collect_pads_take_buffer(Handle, native_data, size);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       Marshal.FreeHGlobal (native_data);
+                       return ret;
+               }
+
+
+               static CollectPads ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("data"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // data
+                                                       , null
+                                                       , "stream_lock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stream_lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.RecMutex.ABI)) // stream_lock
+                                                       , "data"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstCollectPads_stream_lockAlign), "stream_lock")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "stream_lock"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstCollectPads_stream_lockAlign
+               {
+                       sbyte f1;
+                       private GLib.RecMutex.ABI stream_lock;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_CollectPadsBufferFunction.cs b/sources/generated/Gst.Base_CollectPadsBufferFunction.cs
new file mode 100644 (file)
index 0000000..1928376
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate Gst.FlowReturn CollectPadsBufferFunction(Gst.Base.CollectPads pads, Gst.Base.CollectData data, Gst.Buffer buffer);
+
+}
diff --git a/sources/generated/Gst.Base_CollectPadsClipFunction.cs b/sources/generated/Gst.Base_CollectPadsClipFunction.cs
new file mode 100644 (file)
index 0000000..819f000
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate Gst.FlowReturn CollectPadsClipFunction(Gst.Base.CollectPads pads, Gst.Base.CollectData data, Gst.Buffer inbuffer, Gst.Buffer outbuffer);
+
+}
diff --git a/sources/generated/Gst.Base_CollectPadsCompareFunction.cs b/sources/generated/Gst.Base_CollectPadsCompareFunction.cs
new file mode 100644 (file)
index 0000000..4180d22
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate int CollectPadsCompareFunction(Gst.Base.CollectPads pads, Gst.Base.CollectData data1, ulong timestamp1, Gst.Base.CollectData data2, ulong timestamp2);
+
+}
diff --git a/sources/generated/Gst.Base_CollectPadsEventFunction.cs b/sources/generated/Gst.Base_CollectPadsEventFunction.cs
new file mode 100644 (file)
index 0000000..f414bbd
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate bool CollectPadsEventFunction(Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Event evnt);
+
+}
diff --git a/sources/generated/Gst.Base_CollectPadsFlushFunction.cs b/sources/generated/Gst.Base_CollectPadsFlushFunction.cs
new file mode 100644 (file)
index 0000000..5e73f3b
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate void CollectPadsFlushFunction(Gst.Base.CollectPads pads);
+
+}
diff --git a/sources/generated/Gst.Base_CollectPadsFunction.cs b/sources/generated/Gst.Base_CollectPadsFunction.cs
new file mode 100644 (file)
index 0000000..ecce141
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate Gst.FlowReturn CollectPadsFunction(Gst.Base.CollectPads pads);
+
+}
diff --git a/sources/generated/Gst.Base_CollectPadsQueryFunction.cs b/sources/generated/Gst.Base_CollectPadsQueryFunction.cs
new file mode 100644 (file)
index 0000000..a96ea7d
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate bool CollectPadsQueryFunction(Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Query query);
+
+}
diff --git a/sources/generated/Gst.Base_CollectPadsStateFlags.cs b/sources/generated/Gst.Base_CollectPadsStateFlags.cs
new file mode 100644 (file)
index 0000000..ed16b24
--- /dev/null
@@ -0,0 +1,20 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       public enum CollectPadsStateFlags {
+
+               Eos = 1,
+               Flushing = 2,
+               NewSegment = 4,
+               Waiting = 8,
+               Locked = 16,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Constants.cs b/sources/generated/Gst.Base_Constants.cs
new file mode 100644 (file)
index 0000000..7c99046
--- /dev/null
@@ -0,0 +1,20 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const int BASE_PARSE_FLAG_DRAINING = 2;
+               public const int BASE_PARSE_FLAG_LOST_SYNC = 1;
+               public const string BASE_TRANSFORM_SINK_NAME = @"sink";
+               public const string BASE_TRANSFORM_SRC_NAME = @"src";
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_DataQueue.cs b/sources/generated/Gst.Base_DataQueue.cs
new file mode 100644 (file)
index 0000000..ba0d607
--- /dev/null
@@ -0,0 +1,267 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DataQueue : GLib.Object {
+
+               public DataQueue (IntPtr raw) : base(raw) {}
+
+               protected DataQueue() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("current-level-bytes")]
+               public uint CurrentLevelBytes {
+                       get {
+                               GLib.Value val = GetProperty ("current-level-bytes");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("current-level-time")]
+               public ulong CurrentLevelTime {
+                       get {
+                               GLib.Value val = GetProperty ("current-level-time");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("current-level-visible")]
+               public uint CurrentLevelVisible {
+                       get {
+                               GLib.Value val = GetProperty ("current-level-visible");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Signal("empty")]
+               public event System.EventHandler Empty {
+                       add {
+                               this.AddSignalHandler ("empty", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("empty", value);
+                       }
+               }
+
+               [GLib.Signal("full")]
+               public event System.EventHandler Full {
+                       add {
+                               this.AddSignalHandler ("full", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("full", value);
+                       }
+               }
+
+               static EmptyNativeDelegate Empty_cb_delegate;
+               static EmptyNativeDelegate EmptyVMCallback {
+                       get {
+                               if (Empty_cb_delegate == null)
+                                       Empty_cb_delegate = new EmptyNativeDelegate (Empty_cb);
+                               return Empty_cb_delegate;
+                       }
+               }
+
+               static void OverrideEmpty (GLib.GType gtype)
+               {
+                       OverrideEmpty (gtype, EmptyVMCallback);
+               }
+
+               static void OverrideEmpty (GLib.GType gtype, EmptyNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("empty"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void EmptyNativeDelegate (IntPtr inst);
+
+               static void Empty_cb (IntPtr inst)
+               {
+                       try {
+                               DataQueue __obj = GLib.Object.GetObject (inst, false) as DataQueue;
+                               __obj.OnEmpty ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.DataQueue), ConnectionMethod="OverrideEmpty")]
+               protected virtual void OnEmpty ()
+               {
+                       InternalEmpty ();
+               }
+
+               private void InternalEmpty ()
+               {
+                       EmptyNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("empty"));
+                               unmanaged = (EmptyNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EmptyNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static FullNativeDelegate Full_cb_delegate;
+               static FullNativeDelegate FullVMCallback {
+                       get {
+                               if (Full_cb_delegate == null)
+                                       Full_cb_delegate = new FullNativeDelegate (Full_cb);
+                               return Full_cb_delegate;
+                       }
+               }
+
+               static void OverrideFull (GLib.GType gtype)
+               {
+                       OverrideFull (gtype, FullVMCallback);
+               }
+
+               static void OverrideFull (GLib.GType gtype, FullNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("full"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FullNativeDelegate (IntPtr inst);
+
+               static void Full_cb (IntPtr inst)
+               {
+                       try {
+                               DataQueue __obj = GLib.Object.GetObject (inst, false) as DataQueue;
+                               __obj.OnFull ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.DataQueue), ConnectionMethod="OverrideFull")]
+               protected virtual void OnFull ()
+               {
+                       InternalFull ();
+               }
+
+               private void InternalFull ()
+               {
+                       FullNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("full"));
+                               unmanaged = (FullNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FullNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("empty"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // empty
+                                                       , null
+                                                       , "full"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("full"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // full
+                                                       , "empty"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "full"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_data_queue_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_data_queue_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static DataQueue ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GLib.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_DataQueueCheckFullFunction.cs b/sources/generated/Gst.Base_DataQueueCheckFullFunction.cs
new file mode 100644 (file)
index 0000000..73adb94
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate bool DataQueueCheckFullFunction(Gst.Base.DataQueue queue, uint visible, uint bytes, ulong time, IntPtr checkdata);
+
+}
diff --git a/sources/generated/Gst.Base_DataQueueEmptyCallback.cs b/sources/generated/Gst.Base_DataQueueEmptyCallback.cs
new file mode 100644 (file)
index 0000000..3a4edb0
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate void DataQueueEmptyCallback(Gst.Base.DataQueue queue, IntPtr checkdata);
+
+}
diff --git a/sources/generated/Gst.Base_DataQueueFullCallback.cs b/sources/generated/Gst.Base_DataQueueFullCallback.cs
new file mode 100644 (file)
index 0000000..5f750cf
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate void DataQueueFullCallback(Gst.Base.DataQueue queue, IntPtr checkdata);
+
+}
diff --git a/sources/generated/Gst.Base_DataQueueItem.cs b/sources/generated/Gst.Base_DataQueueItem.cs
new file mode 100644 (file)
index 0000000..a3e5a38
--- /dev/null
@@ -0,0 +1,59 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct DataQueueItem : IEquatable<DataQueueItem> {
+
+               private IntPtr _objekt;
+               public Gst.MiniObject Object {
+                       get {
+                               return _objekt == IntPtr.Zero ? null : (Gst.MiniObject) GLib.Opaque.GetOpaque (_objekt, typeof (Gst.MiniObject), false);
+                       }
+                       set {
+                               _objekt = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public uint Size;
+               public ulong Duration;
+               public bool Visible;
+               public GLib.DestroyNotify Destroy;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Base.DataQueueItem Zero = new Gst.Base.DataQueueItem ();
+
+               public static Gst.Base.DataQueueItem New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Base.DataQueueItem.Zero;
+                       return (Gst.Base.DataQueueItem) Marshal.PtrToStructure (raw, typeof (Gst.Base.DataQueueItem));
+               }
+
+               public bool Equals (DataQueueItem other)
+               {
+                       return true && Object.Equals (other.Object) && Size.Equals (other.Size) && Duration.Equals (other.Duration) && Visible.Equals (other.Visible) && Destroy.Equals (other.Destroy);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is DataQueueItem && Equals ((DataQueueItem) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Object.GetHashCode () ^ Size.GetHashCode () ^ Duration.GetHashCode () ^ Visible.GetHashCode () ^ Destroy.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_DataQueueSize.cs b/sources/generated/Gst.Base_DataQueueSize.cs
new file mode 100644 (file)
index 0000000..d9740e3
--- /dev/null
@@ -0,0 +1,47 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct DataQueueSize : IEquatable<DataQueueSize> {
+
+               public uint Visible;
+               public uint Bytes;
+               public ulong Time;
+
+               public static Gst.Base.DataQueueSize Zero = new Gst.Base.DataQueueSize ();
+
+               public static Gst.Base.DataQueueSize New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Base.DataQueueSize.Zero;
+                       return (Gst.Base.DataQueueSize) Marshal.PtrToStructure (raw, typeof (Gst.Base.DataQueueSize));
+               }
+
+               public bool Equals (DataQueueSize other)
+               {
+                       return true && Visible.Equals (other.Visible) && Bytes.Equals (other.Bytes) && Time.Equals (other.Time);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is DataQueueSize && Equals ((DataQueueSize) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Visible.GetHashCode () ^ Bytes.GetHashCode () ^ Time.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_FlowCombiner.cs b/sources/generated/Gst.Base_FlowCombiner.cs
new file mode 100644 (file)
index 0000000..6bad99f
--- /dev/null
@@ -0,0 +1,172 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct FlowCombiner : IEquatable<FlowCombiner> {
+
+
+               public static Gst.Base.FlowCombiner Zero = new Gst.Base.FlowCombiner ();
+
+               public static Gst.Base.FlowCombiner New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Base.FlowCombiner.Zero;
+                       return (Gst.Base.FlowCombiner) Marshal.PtrToStructure (raw, typeof (Gst.Base.FlowCombiner));
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_flow_combiner_new();
+
+               public static FlowCombiner New()
+               {
+                       FlowCombiner result = FlowCombiner.New (gst_flow_combiner_new());
+                       return result;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_flow_combiner_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_flow_combiner_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_flow_combiner_add_pad(IntPtr raw, IntPtr pad);
+
+               public void AddPad(Gst.Pad pad) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_flow_combiner_add_pad(this_as_native, pad == null ? IntPtr.Zero : pad.Handle);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_flow_combiner_clear(IntPtr raw);
+
+               public void Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_flow_combiner_clear(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_flow_combiner_ref(IntPtr raw);
+
+               public Gst.Base.FlowCombiner Ref() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_flow_combiner_ref(this_as_native);
+                       Gst.Base.FlowCombiner ret = Gst.Base.FlowCombiner.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_flow_combiner_remove_pad(IntPtr raw, IntPtr pad);
+
+               public void RemovePad(Gst.Pad pad) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_flow_combiner_remove_pad(this_as_native, pad == null ? IntPtr.Zero : pad.Handle);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_flow_combiner_reset(IntPtr raw);
+
+               public void Reset() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_flow_combiner_reset(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_flow_combiner_unref(IntPtr raw);
+
+               public void Unref() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_flow_combiner_unref(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_flow_combiner_update_flow(IntPtr raw, int fret);
+
+               public Gst.FlowReturn UpdateFlow(Gst.FlowReturn fret) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_flow_combiner_update_flow(this_as_native, (int) fret);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_flow_combiner_update_pad_flow(IntPtr raw, IntPtr pad, int fret);
+
+               public Gst.FlowReturn UpdatePadFlow(Gst.Pad pad, Gst.FlowReturn fret) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_flow_combiner_update_pad_flow(this_as_native, pad == null ? IntPtr.Zero : pad.Handle, (int) fret);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Base.FlowCombiner target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (FlowCombiner other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is FlowCombiner && Equals ((FlowCombiner) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Base.FlowCombiner boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Base.FlowCombiner.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Base.FlowCombiner (GLib.Value val)
+               {
+                       return (Gst.Base.FlowCombiner) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_Global.cs b/sources/generated/Gst.Base_Global.cs
new file mode 100644 (file)
index 0000000..d200d32
--- /dev/null
@@ -0,0 +1,88 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_helper(IntPtr src, ulong size);
+
+               public static Gst.Caps TypeFindHelper(Gst.Pad src, ulong size) {
+                       IntPtr raw_ret = gst_type_find_helper(src == null ? IntPtr.Zero : src.Handle, size);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_helper_for_buffer(IntPtr obj, IntPtr buf, out int prob);
+
+               public static Gst.Caps TypeFindHelperForBuffer(Gst.Object obj, Gst.Buffer buf, out Gst.TypeFindProbability prob) {
+                       int native_prob;
+                       IntPtr raw_ret = gst_type_find_helper_for_buffer(obj == null ? IntPtr.Zero : obj.Handle, buf == null ? IntPtr.Zero : buf.Handle, out native_prob);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       prob = (Gst.TypeFindProbability) native_prob;
+                       return ret;
+               }
+
+               public static Gst.Caps TypeFindHelperForBuffer(Gst.Buffer buf, out Gst.TypeFindProbability prob) {
+                       return TypeFindHelperForBuffer (null, buf, out prob);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_helper_for_data(IntPtr obj, byte data, UIntPtr size, out int prob);
+
+               public static Gst.Caps TypeFindHelperForData(Gst.Object obj, byte data, ulong size, out Gst.TypeFindProbability prob) {
+                       int native_prob;
+                       IntPtr raw_ret = gst_type_find_helper_for_data(obj == null ? IntPtr.Zero : obj.Handle, data, new UIntPtr (size), out native_prob);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       prob = (Gst.TypeFindProbability) native_prob;
+                       return ret;
+               }
+
+               public static Gst.Caps TypeFindHelperForData(byte data, ulong size, out Gst.TypeFindProbability prob) {
+                       return TypeFindHelperForData (null, data, size, out prob);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_helper_for_extension(IntPtr obj, IntPtr extension);
+
+               public static Gst.Caps TypeFindHelperForExtension(Gst.Object obj, string extension) {
+                       IntPtr native_extension = GLib.Marshaller.StringToPtrGStrdup (extension);
+                       IntPtr raw_ret = gst_type_find_helper_for_extension(obj == null ? IntPtr.Zero : obj.Handle, native_extension);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       GLib.Marshaller.Free (native_extension);
+                       return ret;
+               }
+
+               public static Gst.Caps TypeFindHelperForExtension(string extension) {
+                       return TypeFindHelperForExtension (null, extension);
+               }
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_helper_get_range(IntPtr obj, IntPtr parent, Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative func, ulong size, IntPtr extension, out int prob);
+
+               public static Gst.Caps TypeFindHelperGetRange(Gst.Object obj, Gst.Object parent, Gst.Base.TypeFindHelperGetRangeFunction func, ulong size, string extension, out Gst.TypeFindProbability prob) {
+                       Gst.BaseSharp.TypeFindHelperGetRangeFunctionWrapper func_wrapper = new Gst.BaseSharp.TypeFindHelperGetRangeFunctionWrapper (func);
+                       IntPtr native_extension = GLib.Marshaller.StringToPtrGStrdup (extension);
+                       int native_prob;
+                       IntPtr raw_ret = gst_type_find_helper_get_range(obj == null ? IntPtr.Zero : obj.Handle, parent == null ? IntPtr.Zero : parent.Handle, func_wrapper.NativeDelegate, size, native_extension, out native_prob);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       GLib.Marshaller.Free (native_extension);
+                       prob = (Gst.TypeFindProbability) native_prob;
+                       return ret;
+               }
+
+               public static Gst.Caps TypeFindHelperGetRange(Gst.Object obj, Gst.Base.TypeFindHelperGetRangeFunction func, ulong size, string extension, out Gst.TypeFindProbability prob) {
+                       return TypeFindHelperGetRange (obj, null, func, size, extension, out prob);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.CollectDataDestroyNotifyNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.CollectDataDestroyNotifyNative.cs
new file mode 100644 (file)
index 0000000..fc0ceeb
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void CollectDataDestroyNotifyNative(IntPtr data);
+
+       internal class CollectDataDestroyNotifyInvoker {
+
+               CollectDataDestroyNotifyNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CollectDataDestroyNotifyInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CollectDataDestroyNotifyInvoker (CollectDataDestroyNotifyNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CollectDataDestroyNotifyInvoker (CollectDataDestroyNotifyNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CollectDataDestroyNotifyInvoker (CollectDataDestroyNotifyNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.CollectDataDestroyNotify Handler {
+                       get {
+                               return new Gst.Base.CollectDataDestroyNotify(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Base.CollectData data)
+               {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       native_cb (native_data);
+                       Marshal.FreeHGlobal (native_data);
+               }
+       }
+
+       internal class CollectDataDestroyNotifyWrapper {
+
+               public void NativeCallback (IntPtr data)
+               {
+                       try {
+                               managed (Gst.Base.CollectData.New (data));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CollectDataDestroyNotifyNative NativeDelegate;
+               Gst.Base.CollectDataDestroyNotify managed;
+
+               public CollectDataDestroyNotifyWrapper (Gst.Base.CollectDataDestroyNotify managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CollectDataDestroyNotifyNative (NativeCallback);
+               }
+
+               public static Gst.Base.CollectDataDestroyNotify GetManagedDelegate (CollectDataDestroyNotifyNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CollectDataDestroyNotifyWrapper wrapper = (CollectDataDestroyNotifyWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsBufferFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsBufferFunctionNative.cs
new file mode 100644 (file)
index 0000000..17868cf
--- /dev/null
@@ -0,0 +1,99 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int CollectPadsBufferFunctionNative(IntPtr pads, IntPtr data, IntPtr buffer, IntPtr user_data);
+
+       internal class CollectPadsBufferFunctionInvoker {
+
+               CollectPadsBufferFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CollectPadsBufferFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CollectPadsBufferFunctionInvoker (CollectPadsBufferFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CollectPadsBufferFunctionInvoker (CollectPadsBufferFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CollectPadsBufferFunctionInvoker (CollectPadsBufferFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.CollectPadsBufferFunction Handler {
+                       get {
+                               return new Gst.Base.CollectPadsBufferFunction(InvokeNative);
+                       }
+               }
+
+               Gst.FlowReturn InvokeNative (Gst.Base.CollectPads pads, Gst.Base.CollectData data, Gst.Buffer buffer)
+               {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       buffer.Owned = false;
+                       Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (pads == null ? IntPtr.Zero : pads.Handle, native_data, buffer == null ? IntPtr.Zero : buffer.Handle, __data);
+                       Marshal.FreeHGlobal (native_data);
+                       return __result;
+               }
+       }
+
+       internal class CollectPadsBufferFunctionWrapper {
+
+               public int NativeCallback (IntPtr pads, IntPtr data, IntPtr buffer, IntPtr user_data)
+               {
+                       try {
+                               Gst.FlowReturn __ret = managed (GLib.Object.GetObject(pads) as Gst.Base.CollectPads, Gst.Base.CollectData.New (data), buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), true));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CollectPadsBufferFunctionNative NativeDelegate;
+               Gst.Base.CollectPadsBufferFunction managed;
+
+               public CollectPadsBufferFunctionWrapper (Gst.Base.CollectPadsBufferFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CollectPadsBufferFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.CollectPadsBufferFunction GetManagedDelegate (CollectPadsBufferFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CollectPadsBufferFunctionWrapper wrapper = (CollectPadsBufferFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsClipFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsClipFunctionNative.cs
new file mode 100644 (file)
index 0000000..e956396
--- /dev/null
@@ -0,0 +1,99 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int CollectPadsClipFunctionNative(IntPtr pads, IntPtr data, IntPtr inbuffer, IntPtr outbuffer, IntPtr user_data);
+
+       internal class CollectPadsClipFunctionInvoker {
+
+               CollectPadsClipFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CollectPadsClipFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CollectPadsClipFunctionInvoker (CollectPadsClipFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CollectPadsClipFunctionInvoker (CollectPadsClipFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CollectPadsClipFunctionInvoker (CollectPadsClipFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.CollectPadsClipFunction Handler {
+                       get {
+                               return new Gst.Base.CollectPadsClipFunction(InvokeNative);
+                       }
+               }
+
+               Gst.FlowReturn InvokeNative (Gst.Base.CollectPads pads, Gst.Base.CollectData data, Gst.Buffer inbuffer, Gst.Buffer outbuffer)
+               {
+                       IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+                       inbuffer.Owned = false;
+                       Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (pads == null ? IntPtr.Zero : pads.Handle, native_data, inbuffer == null ? IntPtr.Zero : inbuffer.Handle, outbuffer == null ? IntPtr.Zero : outbuffer.Handle, __data);
+                       Marshal.FreeHGlobal (native_data);
+                       return __result;
+               }
+       }
+
+       internal class CollectPadsClipFunctionWrapper {
+
+               public int NativeCallback (IntPtr pads, IntPtr data, IntPtr inbuffer, IntPtr outbuffer, IntPtr user_data)
+               {
+                       try {
+                               Gst.FlowReturn __ret = managed (GLib.Object.GetObject(pads) as Gst.Base.CollectPads, Gst.Base.CollectData.New (data), inbuffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (inbuffer, typeof (Gst.Buffer), true), outbuffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuffer, typeof (Gst.Buffer), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CollectPadsClipFunctionNative NativeDelegate;
+               Gst.Base.CollectPadsClipFunction managed;
+
+               public CollectPadsClipFunctionWrapper (Gst.Base.CollectPadsClipFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CollectPadsClipFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.CollectPadsClipFunction GetManagedDelegate (CollectPadsClipFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CollectPadsClipFunctionWrapper wrapper = (CollectPadsClipFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsCompareFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsCompareFunctionNative.cs
new file mode 100644 (file)
index 0000000..9fcffa2
--- /dev/null
@@ -0,0 +1,100 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int CollectPadsCompareFunctionNative(IntPtr pads, IntPtr data1, ulong timestamp1, IntPtr data2, ulong timestamp2, IntPtr user_data);
+
+       internal class CollectPadsCompareFunctionInvoker {
+
+               CollectPadsCompareFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CollectPadsCompareFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CollectPadsCompareFunctionInvoker (CollectPadsCompareFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CollectPadsCompareFunctionInvoker (CollectPadsCompareFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CollectPadsCompareFunctionInvoker (CollectPadsCompareFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.CollectPadsCompareFunction Handler {
+                       get {
+                               return new Gst.Base.CollectPadsCompareFunction(InvokeNative);
+                       }
+               }
+
+               int InvokeNative (Gst.Base.CollectPads pads, Gst.Base.CollectData data1, ulong timestamp1, Gst.Base.CollectData data2, ulong timestamp2)
+               {
+                       IntPtr native_data1 = GLib.Marshaller.StructureToPtrAlloc (data1);
+                       IntPtr native_data2 = GLib.Marshaller.StructureToPtrAlloc (data2);
+                       int __result = native_cb (pads == null ? IntPtr.Zero : pads.Handle, native_data1, timestamp1, native_data2, timestamp2, __data);
+                       Marshal.FreeHGlobal (native_data1);
+                       Marshal.FreeHGlobal (native_data2);
+                       return __result;
+               }
+       }
+
+       internal class CollectPadsCompareFunctionWrapper {
+
+               public int NativeCallback (IntPtr pads, IntPtr data1, ulong timestamp1, IntPtr data2, ulong timestamp2, IntPtr user_data)
+               {
+                       try {
+                               int __ret = managed (GLib.Object.GetObject(pads) as Gst.Base.CollectPads, Gst.Base.CollectData.New (data1), timestamp1, Gst.Base.CollectData.New (data2), timestamp2);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CollectPadsCompareFunctionNative NativeDelegate;
+               Gst.Base.CollectPadsCompareFunction managed;
+
+               public CollectPadsCompareFunctionWrapper (Gst.Base.CollectPadsCompareFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CollectPadsCompareFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.CollectPadsCompareFunction GetManagedDelegate (CollectPadsCompareFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CollectPadsCompareFunctionWrapper wrapper = (CollectPadsCompareFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsEventFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsEventFunctionNative.cs
new file mode 100644 (file)
index 0000000..dbdcd15
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool CollectPadsEventFunctionNative(IntPtr pads, IntPtr pad, IntPtr evnt, IntPtr user_data);
+
+       internal class CollectPadsEventFunctionInvoker {
+
+               CollectPadsEventFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CollectPadsEventFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CollectPadsEventFunctionInvoker (CollectPadsEventFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CollectPadsEventFunctionInvoker (CollectPadsEventFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CollectPadsEventFunctionInvoker (CollectPadsEventFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.CollectPadsEventFunction Handler {
+                       get {
+                               return new Gst.Base.CollectPadsEventFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Event evnt)
+               {
+                       IntPtr native_pad = GLib.Marshaller.StructureToPtrAlloc (pad);
+                       bool __result = native_cb (pads == null ? IntPtr.Zero : pads.Handle, native_pad, evnt == null ? IntPtr.Zero : evnt.Handle, __data);
+                       Marshal.FreeHGlobal (native_pad);
+                       return __result;
+               }
+       }
+
+       internal class CollectPadsEventFunctionWrapper {
+
+               public bool NativeCallback (IntPtr pads, IntPtr pad, IntPtr evnt, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pads) as Gst.Base.CollectPads, Gst.Base.CollectData.New (pad), evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CollectPadsEventFunctionNative NativeDelegate;
+               Gst.Base.CollectPadsEventFunction managed;
+
+               public CollectPadsEventFunctionWrapper (Gst.Base.CollectPadsEventFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CollectPadsEventFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.CollectPadsEventFunction GetManagedDelegate (CollectPadsEventFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CollectPadsEventFunctionWrapper wrapper = (CollectPadsEventFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsFlushFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsFlushFunctionNative.cs
new file mode 100644 (file)
index 0000000..6e22e58
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void CollectPadsFlushFunctionNative(IntPtr pads, IntPtr user_data);
+
+       internal class CollectPadsFlushFunctionInvoker {
+
+               CollectPadsFlushFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CollectPadsFlushFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CollectPadsFlushFunctionInvoker (CollectPadsFlushFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CollectPadsFlushFunctionInvoker (CollectPadsFlushFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CollectPadsFlushFunctionInvoker (CollectPadsFlushFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.CollectPadsFlushFunction Handler {
+                       get {
+                               return new Gst.Base.CollectPadsFlushFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Base.CollectPads pads)
+               {
+                       native_cb (pads == null ? IntPtr.Zero : pads.Handle, __data);
+               }
+       }
+
+       internal class CollectPadsFlushFunctionWrapper {
+
+               public void NativeCallback (IntPtr pads, IntPtr user_data)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(pads) as Gst.Base.CollectPads);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CollectPadsFlushFunctionNative NativeDelegate;
+               Gst.Base.CollectPadsFlushFunction managed;
+
+               public CollectPadsFlushFunctionWrapper (Gst.Base.CollectPadsFlushFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CollectPadsFlushFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.CollectPadsFlushFunction GetManagedDelegate (CollectPadsFlushFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CollectPadsFlushFunctionWrapper wrapper = (CollectPadsFlushFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsFunctionNative.cs
new file mode 100644 (file)
index 0000000..5678c7d
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int CollectPadsFunctionNative(IntPtr pads, IntPtr user_data);
+
+       internal class CollectPadsFunctionInvoker {
+
+               CollectPadsFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CollectPadsFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CollectPadsFunctionInvoker (CollectPadsFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CollectPadsFunctionInvoker (CollectPadsFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CollectPadsFunctionInvoker (CollectPadsFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.CollectPadsFunction Handler {
+                       get {
+                               return new Gst.Base.CollectPadsFunction(InvokeNative);
+                       }
+               }
+
+               Gst.FlowReturn InvokeNative (Gst.Base.CollectPads pads)
+               {
+                       Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (pads == null ? IntPtr.Zero : pads.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class CollectPadsFunctionWrapper {
+
+               public int NativeCallback (IntPtr pads, IntPtr user_data)
+               {
+                       try {
+                               Gst.FlowReturn __ret = managed (GLib.Object.GetObject(pads) as Gst.Base.CollectPads);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CollectPadsFunctionNative NativeDelegate;
+               Gst.Base.CollectPadsFunction managed;
+
+               public CollectPadsFunctionWrapper (Gst.Base.CollectPadsFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CollectPadsFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.CollectPadsFunction GetManagedDelegate (CollectPadsFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CollectPadsFunctionWrapper wrapper = (CollectPadsFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsQueryFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.CollectPadsQueryFunctionNative.cs
new file mode 100644 (file)
index 0000000..c3fe1ee
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool CollectPadsQueryFunctionNative(IntPtr pads, IntPtr pad, IntPtr query, IntPtr user_data);
+
+       internal class CollectPadsQueryFunctionInvoker {
+
+               CollectPadsQueryFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CollectPadsQueryFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CollectPadsQueryFunctionInvoker (CollectPadsQueryFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CollectPadsQueryFunctionInvoker (CollectPadsQueryFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CollectPadsQueryFunctionInvoker (CollectPadsQueryFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.CollectPadsQueryFunction Handler {
+                       get {
+                               return new Gst.Base.CollectPadsQueryFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Query query)
+               {
+                       IntPtr native_pad = GLib.Marshaller.StructureToPtrAlloc (pad);
+                       bool __result = native_cb (pads == null ? IntPtr.Zero : pads.Handle, native_pad, query == null ? IntPtr.Zero : query.Handle, __data);
+                       Marshal.FreeHGlobal (native_pad);
+                       return __result;
+               }
+       }
+
+       internal class CollectPadsQueryFunctionWrapper {
+
+               public bool NativeCallback (IntPtr pads, IntPtr pad, IntPtr query, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pads) as Gst.Base.CollectPads, Gst.Base.CollectData.New (pad), query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CollectPadsQueryFunctionNative NativeDelegate;
+               Gst.Base.CollectPadsQueryFunction managed;
+
+               public CollectPadsQueryFunctionWrapper (Gst.Base.CollectPadsQueryFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CollectPadsQueryFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.CollectPadsQueryFunction GetManagedDelegate (CollectPadsQueryFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CollectPadsQueryFunctionWrapper wrapper = (CollectPadsQueryFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.DataQueueCheckFullFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.DataQueueCheckFullFunctionNative.cs
new file mode 100644 (file)
index 0000000..d7e5d8f
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool DataQueueCheckFullFunctionNative(IntPtr queue, uint visible, uint bytes, ulong time, IntPtr checkdata);
+
+       internal class DataQueueCheckFullFunctionInvoker {
+
+               DataQueueCheckFullFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~DataQueueCheckFullFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal DataQueueCheckFullFunctionInvoker (DataQueueCheckFullFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal DataQueueCheckFullFunctionInvoker (DataQueueCheckFullFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal DataQueueCheckFullFunctionInvoker (DataQueueCheckFullFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.DataQueueCheckFullFunction Handler {
+                       get {
+                               return new Gst.Base.DataQueueCheckFullFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Base.DataQueue queue, uint visible, uint bytes, ulong time, IntPtr checkdata)
+               {
+                       bool __result = native_cb (queue == null ? IntPtr.Zero : queue.Handle, visible, bytes, time, __data);
+                       return __result;
+               }
+       }
+
+       internal class DataQueueCheckFullFunctionWrapper {
+
+               public bool NativeCallback (IntPtr queue, uint visible, uint bytes, ulong time, IntPtr checkdata)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(queue) as Gst.Base.DataQueue, visible, bytes, time, checkdata);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal DataQueueCheckFullFunctionNative NativeDelegate;
+               Gst.Base.DataQueueCheckFullFunction managed;
+
+               public DataQueueCheckFullFunctionWrapper (Gst.Base.DataQueueCheckFullFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new DataQueueCheckFullFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.DataQueueCheckFullFunction GetManagedDelegate (DataQueueCheckFullFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       DataQueueCheckFullFunctionWrapper wrapper = (DataQueueCheckFullFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.DataQueueEmptyCallbackNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.DataQueueEmptyCallbackNative.cs
new file mode 100644 (file)
index 0000000..028cc1e
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void DataQueueEmptyCallbackNative(IntPtr queue, IntPtr checkdata);
+
+       internal class DataQueueEmptyCallbackInvoker {
+
+               DataQueueEmptyCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~DataQueueEmptyCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal DataQueueEmptyCallbackInvoker (DataQueueEmptyCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal DataQueueEmptyCallbackInvoker (DataQueueEmptyCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal DataQueueEmptyCallbackInvoker (DataQueueEmptyCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.DataQueueEmptyCallback Handler {
+                       get {
+                               return new Gst.Base.DataQueueEmptyCallback(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Base.DataQueue queue, IntPtr checkdata)
+               {
+                       native_cb (queue == null ? IntPtr.Zero : queue.Handle, __data);
+               }
+       }
+
+       internal class DataQueueEmptyCallbackWrapper {
+
+               public void NativeCallback (IntPtr queue, IntPtr checkdata)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(queue) as Gst.Base.DataQueue, checkdata);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal DataQueueEmptyCallbackNative NativeDelegate;
+               Gst.Base.DataQueueEmptyCallback managed;
+
+               public DataQueueEmptyCallbackWrapper (Gst.Base.DataQueueEmptyCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new DataQueueEmptyCallbackNative (NativeCallback);
+               }
+
+               public static Gst.Base.DataQueueEmptyCallback GetManagedDelegate (DataQueueEmptyCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       DataQueueEmptyCallbackWrapper wrapper = (DataQueueEmptyCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.DataQueueFullCallbackNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.DataQueueFullCallbackNative.cs
new file mode 100644 (file)
index 0000000..199d6c7
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void DataQueueFullCallbackNative(IntPtr queue, IntPtr checkdata);
+
+       internal class DataQueueFullCallbackInvoker {
+
+               DataQueueFullCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~DataQueueFullCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal DataQueueFullCallbackInvoker (DataQueueFullCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal DataQueueFullCallbackInvoker (DataQueueFullCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal DataQueueFullCallbackInvoker (DataQueueFullCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.DataQueueFullCallback Handler {
+                       get {
+                               return new Gst.Base.DataQueueFullCallback(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Base.DataQueue queue, IntPtr checkdata)
+               {
+                       native_cb (queue == null ? IntPtr.Zero : queue.Handle, __data);
+               }
+       }
+
+       internal class DataQueueFullCallbackWrapper {
+
+               public void NativeCallback (IntPtr queue, IntPtr checkdata)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(queue) as Gst.Base.DataQueue, checkdata);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal DataQueueFullCallbackNative NativeDelegate;
+               Gst.Base.DataQueueFullCallback managed;
+
+               public DataQueueFullCallbackWrapper (Gst.Base.DataQueueFullCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new DataQueueFullCallbackNative (NativeCallback);
+               }
+
+               public static Gst.Base.DataQueueFullCallback GetManagedDelegate (DataQueueFullCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       DataQueueFullCallbackWrapper wrapper = (DataQueueFullCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative.cs b/sources/generated/Gst.Base_Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative.cs
new file mode 100644 (file)
index 0000000..abeb14d
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.BaseSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int TypeFindHelperGetRangeFunctionNative(IntPtr obj, IntPtr parent, ulong offset, uint length, IntPtr buffer);
+
+       internal class TypeFindHelperGetRangeFunctionInvoker {
+
+               TypeFindHelperGetRangeFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~TypeFindHelperGetRangeFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal TypeFindHelperGetRangeFunctionInvoker (TypeFindHelperGetRangeFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal TypeFindHelperGetRangeFunctionInvoker (TypeFindHelperGetRangeFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal TypeFindHelperGetRangeFunctionInvoker (TypeFindHelperGetRangeFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Base.TypeFindHelperGetRangeFunction Handler {
+                       get {
+                               return new Gst.Base.TypeFindHelperGetRangeFunction(InvokeNative);
+                       }
+               }
+
+               Gst.FlowReturn InvokeNative (Gst.Object obj, Gst.Object parent, ulong offset, uint length, Gst.Buffer buffer)
+               {
+                       Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (obj == null ? IntPtr.Zero : obj.Handle, parent == null ? IntPtr.Zero : parent.Handle, offset, length, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return __result;
+               }
+       }
+
+       internal class TypeFindHelperGetRangeFunctionWrapper {
+
+               public int NativeCallback (IntPtr obj, IntPtr parent, ulong offset, uint length, IntPtr buffer)
+               {
+                       try {
+                               Gst.FlowReturn __ret = managed (GLib.Object.GetObject(obj) as Gst.Object, GLib.Object.GetObject(parent) as Gst.Object, offset, length, buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal TypeFindHelperGetRangeFunctionNative NativeDelegate;
+               Gst.Base.TypeFindHelperGetRangeFunction managed;
+
+               public TypeFindHelperGetRangeFunctionWrapper (Gst.Base.TypeFindHelperGetRangeFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new TypeFindHelperGetRangeFunctionNative (NativeCallback);
+               }
+
+               public static Gst.Base.TypeFindHelperGetRangeFunction GetManagedDelegate (TypeFindHelperGetRangeFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       TypeFindHelperGetRangeFunctionWrapper wrapper = (TypeFindHelperGetRangeFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Base_PushSrc.cs b/sources/generated/Gst.Base_PushSrc.cs
new file mode 100644 (file)
index 0000000..d000cc7
--- /dev/null
@@ -0,0 +1,285 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class PushSrc : Gst.Base.BaseSrc {
+
+               public PushSrc (IntPtr raw) : base(raw) {}
+
+               protected PushSrc() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               static CreateNativeDelegate Create_cb_delegate;
+               static CreateNativeDelegate CreateVMCallback {
+                       get {
+                               if (Create_cb_delegate == null)
+                                       Create_cb_delegate = new CreateNativeDelegate (Create_cb);
+                               return Create_cb_delegate;
+                       }
+               }
+
+               static void OverrideCreate (GLib.GType gtype)
+               {
+                       OverrideCreate (gtype, CreateVMCallback);
+               }
+
+               static void OverrideCreate (GLib.GType gtype, CreateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int CreateNativeDelegate (IntPtr inst, IntPtr buf);
+
+               static int Create_cb (IntPtr inst, IntPtr buf)
+               {
+                       try {
+                               PushSrc __obj = GLib.Object.GetObject (inst, false) as PushSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnCreate (buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.PushSrc), ConnectionMethod="OverrideCreate")]
+               protected virtual Gst.FlowReturn OnCreate (Gst.Buffer buf)
+               {
+                       return InternalCreate (buf);
+               }
+
+               private Gst.FlowReturn InternalCreate (Gst.Buffer buf)
+               {
+                       CreateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create"));
+                               unmanaged = (CreateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buf == null ? IntPtr.Zero : buf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static AllocNativeDelegate Alloc_cb_delegate;
+               static AllocNativeDelegate AllocVMCallback {
+                       get {
+                               if (Alloc_cb_delegate == null)
+                                       Alloc_cb_delegate = new AllocNativeDelegate (Alloc_cb);
+                               return Alloc_cb_delegate;
+                       }
+               }
+
+               static void OverrideAlloc (GLib.GType gtype)
+               {
+                       OverrideAlloc (gtype, AllocVMCallback);
+               }
+
+               static void OverrideAlloc (GLib.GType gtype, AllocNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("alloc"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AllocNativeDelegate (IntPtr inst, IntPtr buf);
+
+               static int Alloc_cb (IntPtr inst, IntPtr buf)
+               {
+                       try {
+                               PushSrc __obj = GLib.Object.GetObject (inst, false) as PushSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnAlloc (buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.PushSrc), ConnectionMethod="OverrideAlloc")]
+               protected virtual Gst.FlowReturn OnAlloc (Gst.Buffer buf)
+               {
+                       return InternalAlloc (buf);
+               }
+
+               private Gst.FlowReturn InternalAlloc (Gst.Buffer buf)
+               {
+                       AllocNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("alloc"));
+                               unmanaged = (AllocNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AllocNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buf == null ? IntPtr.Zero : buf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static FillNativeDelegate Fill_cb_delegate;
+               static FillNativeDelegate FillVMCallback {
+                       get {
+                               if (Fill_cb_delegate == null)
+                                       Fill_cb_delegate = new FillNativeDelegate (Fill_cb);
+                               return Fill_cb_delegate;
+                       }
+               }
+
+               static void OverrideFill (GLib.GType gtype)
+               {
+                       OverrideFill (gtype, FillVMCallback);
+               }
+
+               static void OverrideFill (GLib.GType gtype, FillNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("fill"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int FillNativeDelegate (IntPtr inst, IntPtr buf);
+
+               static int Fill_cb (IntPtr inst, IntPtr buf)
+               {
+                       try {
+                               PushSrc __obj = GLib.Object.GetObject (inst, false) as PushSrc;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnFill (buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.PushSrc), ConnectionMethod="OverrideFill")]
+               protected virtual Gst.FlowReturn OnFill (Gst.Buffer buf)
+               {
+                       return InternalFill (buf);
+               }
+
+               private Gst.FlowReturn InternalFill (Gst.Buffer buf)
+               {
+                       FillNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("fill"));
+                               unmanaged = (FillNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FillNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buf == null ? IntPtr.Zero : buf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("create"
+                                                       , Gst.Base.BaseSrc.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create
+                                                       , null
+                                                       , "alloc"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("alloc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // alloc
+                                                       , "create"
+                                                       , "fill"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("fill"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // fill
+                                                       , "alloc"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "fill"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_push_src_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_push_src_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static PushSrc ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Base.BaseSrc.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_QueueArray.cs b/sources/generated/Gst.Base_QueueArray.cs
new file mode 100644 (file)
index 0000000..bd99e1e
--- /dev/null
@@ -0,0 +1,45 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class QueueArray : GLib.Opaque {
+
+               [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_queue_array_push_tail_struct(IntPtr raw, IntPtr p_struct);
+
+               public void PushTailStruct(IntPtr p_struct) {
+                       gst_queue_array_push_tail_struct(Handle, p_struct);
+               }
+
+               public void PushTailStruct() {
+                       PushTailStruct (IntPtr.Zero);
+               }
+
+               public QueueArray(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Base_TypeFindHelperGetRangeFunction.cs b/sources/generated/Gst.Base_TypeFindHelperGetRangeFunction.cs
new file mode 100644 (file)
index 0000000..f50c50d
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Base {
+
+       using System;
+
+       public delegate Gst.FlowReturn TypeFindHelperGetRangeFunction(Gst.Object obj, Gst.Object parent, ulong offset, uint length, Gst.Buffer buffer);
+
+}
diff --git a/sources/generated/Gst.Controller_ARGBControlBinding.cs b/sources/generated/Gst.Controller_ARGBControlBinding.cs
new file mode 100644 (file)
index 0000000..f0b5162
--- /dev/null
@@ -0,0 +1,224 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ARGBControlBinding : Gst.ControlBinding {
+
+               public ARGBControlBinding (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_argb_control_binding_new(IntPtr _object, IntPtr property_name, IntPtr cs_a, IntPtr cs_r, IntPtr cs_g, IntPtr cs_b);
+
+               public ARGBControlBinding (Gst.Object _object, string property_name, Gst.ControlSource cs_a, Gst.ControlSource cs_r, Gst.ControlSource cs_g, Gst.ControlSource cs_b) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (ARGBControlBinding)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               if (_object != null) {
+                                       names.Add ("_object");
+                                       vals.Add (new GLib.Value (_object));
+                               }
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       Raw = gst_argb_control_binding_new(_object == null ? IntPtr.Zero : _object.Handle, native_property_name, cs_a == null ? IntPtr.Zero : cs_a.Handle, cs_r == null ? IntPtr.Zero : cs_r.Handle, cs_g == null ? IntPtr.Zero : cs_g.Handle, cs_b == null ? IntPtr.Zero : cs_b.Handle);
+                       GLib.Marshaller.Free (native_property_name);
+               }
+
+               [GLib.Property ("control-source-a")]
+               public Gst.ControlSource ControlSourceA {
+                       get {
+                               GLib.Value val = GetProperty ("control-source-a");
+                               Gst.ControlSource ret = (Gst.ControlSource) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("control-source-a", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("control-source-b")]
+               public Gst.ControlSource ControlSourceB {
+                       get {
+                               GLib.Value val = GetProperty ("control-source-b");
+                               Gst.ControlSource ret = (Gst.ControlSource) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("control-source-b", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("control-source-g")]
+               public Gst.ControlSource ControlSourceG {
+                       get {
+                               GLib.Value val = GetProperty ("control-source-g");
+                               Gst.ControlSource ret = (Gst.ControlSource) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("control-source-g", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("control-source-r")]
+               public Gst.ControlSource ControlSourceR {
+                       get {
+                               GLib.Value val = GetProperty ("control-source-r");
+                               Gst.ControlSource ret = (Gst.ControlSource) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("control-source-r", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.ControlBinding.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_argb_control_binding_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_argb_control_binding_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static ARGBControlBinding ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("cs_a"
+                                                       , Gst.ControlBinding.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // cs_a
+                                                       , null
+                                                       , "cs_r"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cs_r"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // cs_r
+                                                       , "cs_a"
+                                                       , "cs_g"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cs_g"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // cs_g
+                                                       , "cs_r"
+                                                       , "cs_b"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cs_b"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // cs_b
+                                                       , "cs_g"
+                                                       , "cur_value"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cur_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Value)) // cur_value
+                                                       , "cs_b"
+                                                       , "last_value"
+                                                       , (long) Marshal.OffsetOf(typeof(GstARGBControlBinding_cur_valueAlign), "cur_value")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("last_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // last_value
+                                                       , "cur_value"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstARGBControlBinding_last_valueAlign), "last_value")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "last_value"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstARGBControlBinding_cur_valueAlign
+               {
+                       sbyte f1;
+                       private GLib.Value cur_value;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstARGBControlBinding_last_valueAlign
+               {
+                       sbyte f1;
+                       private uint last_value;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_Constants.cs b/sources/generated/Gst.Controller_Constants.cs
new file mode 100644 (file)
index 0000000..fe7af82
--- /dev/null
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_ControlPoint.cs b/sources/generated/Gst.Controller_ControlPoint.cs
new file mode 100644 (file)
index 0000000..22f853c
--- /dev/null
@@ -0,0 +1,66 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct ControlPoint : IEquatable<ControlPoint> {
+
+               public ulong Timestamp;
+               public double Value;
+
+               public static Gst.Controller.ControlPoint Zero = new Gst.Controller.ControlPoint ();
+
+               public static Gst.Controller.ControlPoint New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Controller.ControlPoint.Zero;
+                       return (Gst.Controller.ControlPoint) Marshal.PtrToStructure (raw, typeof (Gst.Controller.ControlPoint));
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_control_point_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_control_point_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (ControlPoint other)
+               {
+                       return true && Timestamp.Equals (other.Timestamp) && Value.Equals (other.Value);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is ControlPoint && Equals ((ControlPoint) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Timestamp.GetHashCode () ^ Value.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Controller.ControlPoint boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Controller.ControlPoint.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Controller.ControlPoint (GLib.Value val)
+               {
+                       return (Gst.Controller.ControlPoint) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_DirectControlBinding.cs b/sources/generated/Gst.Controller_DirectControlBinding.cs
new file mode 100644 (file)
index 0000000..2c9fde9
--- /dev/null
@@ -0,0 +1,238 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DirectControlBinding : Gst.ControlBinding {
+
+               public DirectControlBinding (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_direct_control_binding_new(IntPtr _object, IntPtr property_name, IntPtr cs);
+
+               public DirectControlBinding (Gst.Object _object, string property_name, Gst.ControlSource cs) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (DirectControlBinding)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               if (_object != null) {
+                                       names.Add ("_object");
+                                       vals.Add (new GLib.Value (_object));
+                               }
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       Raw = gst_direct_control_binding_new(_object == null ? IntPtr.Zero : _object.Handle, native_property_name, cs == null ? IntPtr.Zero : cs.Handle);
+                       GLib.Marshaller.Free (native_property_name);
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_direct_control_binding_new_absolute(IntPtr _object, IntPtr property_name, IntPtr cs);
+
+               public static DirectControlBinding NewAbsolute(Gst.Object _object, string property_name, Gst.ControlSource cs)
+               {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       DirectControlBinding result = new DirectControlBinding (gst_direct_control_binding_new_absolute(_object == null ? IntPtr.Zero : _object.Handle, native_property_name, cs == null ? IntPtr.Zero : cs.Handle));
+                       GLib.Marshaller.Free (native_property_name);
+                       return result;
+               }
+
+               [GLib.Property ("absolute")]
+               public bool Absolute {
+                       get {
+                               GLib.Value val = GetProperty ("absolute");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("control-source")]
+               public Gst.ControlSource ControlSource {
+                       get {
+                               GLib.Value val = GetProperty ("control-source");
+                               Gst.ControlSource ret = (Gst.ControlSource) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("control-source", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.ControlBinding.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_direct_control_binding_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_direct_control_binding_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static DirectControlBinding ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("cs"
+                                                       , Gst.ControlBinding.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // cs
+                                                       , null
+                                                       , "cur_value"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cur_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Value)) // cur_value
+                                                       , "cs"
+                                                       , "last_value"
+                                                       , (long) Marshal.OffsetOf(typeof(GstDirectControlBinding_cur_valueAlign), "cur_value")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("last_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(double)) // last_value
+                                                       , "cur_value"
+                                                       , "byte_size"
+                                                       , (long) Marshal.OffsetOf(typeof(GstDirectControlBinding_last_valueAlign), "last_value")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("byte_size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // byte_size
+                                                       , "last_value"
+                                                       , "convert_value"
+                                                       , (long) Marshal.OffsetOf(typeof(GstDirectControlBinding_byte_sizeAlign), "byte_size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("convert_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // convert_value
+                                                       , "byte_size"
+                                                       , "convert_g_value"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("convert_g_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // convert_g_value
+                                                       , "convert_value"
+                                                       , "ABI"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               // union struct ABI
+                                                       new GLib.AbiField("ABI._gst_reserved"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // ABI._gst_reserved
+                                                               , "convert_g_value"
+                                                               , null
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                               , 0
+                                                               ),
+                                               // End ABI
+
+                                               // union struct ABI.abi
+                                                       new GLib.AbiField("ABI.abi.want_absolute"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(bool)) // ABI.abi.want_absolute
+                                                               , "convert_g_value"
+                                                               , null
+                                                               , (long) Marshal.OffsetOf(typeof(GstDirectControlBinding_ABI_abi_want_absoluteAlign), "ABI_abi_want_absolute")
+                                                               , 0
+                                                               ),
+                                               // End ABI.abi
+
+                                               new GLib.AbiField("ABI"
+                                                       , -1
+                                                       , new List<List<string>>() {  // union ABI
+                                               new List<string>() {"ABI._gst_reserved"},
+                                               new List<string>() {"ABI.abi.want_absolute"}
+                                         }
+                                                       , "convert_g_value"
+                                                       , null
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstDirectControlBinding_cur_valueAlign
+               {
+                       sbyte f1;
+                       private GLib.Value cur_value;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstDirectControlBinding_last_valueAlign
+               {
+                       sbyte f1;
+                       private double last_value;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstDirectControlBinding_byte_sizeAlign
+               {
+                       sbyte f1;
+                       private int byte_size;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstDirectControlBinding_ABI_abi_want_absoluteAlign
+               {
+                       sbyte f1;
+                       private bool ABI_abi_want_absolute;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_DirectControlBindingConvertGValue.cs b/sources/generated/Gst.Controller_DirectControlBindingConvertGValue.cs
new file mode 100644 (file)
index 0000000..e759553
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+
+       public delegate void DirectControlBindingConvertGValue(Gst.Controller.DirectControlBinding self, double src_value, GLib.Value dest_value);
+
+}
diff --git a/sources/generated/Gst.Controller_DirectControlBindingConvertValue.cs b/sources/generated/Gst.Controller_DirectControlBindingConvertValue.cs
new file mode 100644 (file)
index 0000000..83d6680
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+
+       public delegate void DirectControlBindingConvertValue(Gst.Controller.DirectControlBinding self, double src_value, IntPtr dest_value);
+
+}
diff --git a/sources/generated/Gst.Controller_Global.cs b/sources/generated/Gst.Controller_Global.cs
new file mode 100644 (file)
index 0000000..5820505
--- /dev/null
@@ -0,0 +1,23 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_timed_value_control_invalidate_cache(IntPtr self);
+
+               public static void TimedValueControlInvalidateCache(Gst.Controller.TimedValueControlSource self) {
+                       gst_timed_value_control_invalidate_cache(self == null ? IntPtr.Zero : self.Handle);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_Gst.ControllerSharp.DirectControlBindingConvertGValueNative.cs b/sources/generated/Gst.Controller_Gst.ControllerSharp.DirectControlBindingConvertGValueNative.cs
new file mode 100644 (file)
index 0000000..7cdf441
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.ControllerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void DirectControlBindingConvertGValueNative(IntPtr self, double src_value, IntPtr dest_value);
+
+       internal class DirectControlBindingConvertGValueInvoker {
+
+               DirectControlBindingConvertGValueNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~DirectControlBindingConvertGValueInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal DirectControlBindingConvertGValueInvoker (DirectControlBindingConvertGValueNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal DirectControlBindingConvertGValueInvoker (DirectControlBindingConvertGValueNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal DirectControlBindingConvertGValueInvoker (DirectControlBindingConvertGValueNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Controller.DirectControlBindingConvertGValue Handler {
+                       get {
+                               return new Gst.Controller.DirectControlBindingConvertGValue(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Controller.DirectControlBinding self, double src_value, GLib.Value dest_value)
+               {
+                       IntPtr native_dest_value = GLib.Marshaller.StructureToPtrAlloc (dest_value);
+                       native_cb (self == null ? IntPtr.Zero : self.Handle, src_value, native_dest_value);
+                       Marshal.FreeHGlobal (native_dest_value);
+               }
+       }
+
+       internal class DirectControlBindingConvertGValueWrapper {
+
+               public void NativeCallback (IntPtr self, double src_value, IntPtr dest_value)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(self) as Gst.Controller.DirectControlBinding, src_value, (GLib.Value) Marshal.PtrToStructure (dest_value, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal DirectControlBindingConvertGValueNative NativeDelegate;
+               Gst.Controller.DirectControlBindingConvertGValue managed;
+
+               public DirectControlBindingConvertGValueWrapper (Gst.Controller.DirectControlBindingConvertGValue managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new DirectControlBindingConvertGValueNative (NativeCallback);
+               }
+
+               public static Gst.Controller.DirectControlBindingConvertGValue GetManagedDelegate (DirectControlBindingConvertGValueNative native)
+               {
+                       if (native == null)
+                               return null;
+                       DirectControlBindingConvertGValueWrapper wrapper = (DirectControlBindingConvertGValueWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Controller_Gst.ControllerSharp.DirectControlBindingConvertValueNative.cs b/sources/generated/Gst.Controller_Gst.ControllerSharp.DirectControlBindingConvertValueNative.cs
new file mode 100644 (file)
index 0000000..d1d8bf3
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.ControllerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void DirectControlBindingConvertValueNative(IntPtr self, double src_value, IntPtr dest_value);
+
+       internal class DirectControlBindingConvertValueInvoker {
+
+               DirectControlBindingConvertValueNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~DirectControlBindingConvertValueInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal DirectControlBindingConvertValueInvoker (DirectControlBindingConvertValueNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal DirectControlBindingConvertValueInvoker (DirectControlBindingConvertValueNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal DirectControlBindingConvertValueInvoker (DirectControlBindingConvertValueNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Controller.DirectControlBindingConvertValue Handler {
+                       get {
+                               return new Gst.Controller.DirectControlBindingConvertValue(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Controller.DirectControlBinding self, double src_value, IntPtr dest_value)
+               {
+                       native_cb (self == null ? IntPtr.Zero : self.Handle, src_value, dest_value);
+               }
+       }
+
+       internal class DirectControlBindingConvertValueWrapper {
+
+               public void NativeCallback (IntPtr self, double src_value, IntPtr dest_value)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(self) as Gst.Controller.DirectControlBinding, src_value, dest_value);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal DirectControlBindingConvertValueNative NativeDelegate;
+               Gst.Controller.DirectControlBindingConvertValue managed;
+
+               public DirectControlBindingConvertValueWrapper (Gst.Controller.DirectControlBindingConvertValue managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new DirectControlBindingConvertValueNative (NativeCallback);
+               }
+
+               public static Gst.Controller.DirectControlBindingConvertValue GetManagedDelegate (DirectControlBindingConvertValueNative native)
+               {
+                       if (native == null)
+                               return null;
+                       DirectControlBindingConvertValueWrapper wrapper = (DirectControlBindingConvertValueWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Controller_InterpolationControlSource.cs b/sources/generated/Gst.Controller_InterpolationControlSource.cs
new file mode 100644 (file)
index 0000000..c8acb62
--- /dev/null
@@ -0,0 +1,117 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class InterpolationControlSource : Gst.Controller.TimedValueControlSource {
+
+               public InterpolationControlSource (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_interpolation_control_source_new();
+
+               public InterpolationControlSource () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (InterpolationControlSource)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_interpolation_control_source_new();
+               }
+
+               [GLib.Property ("mode")]
+               public Gst.Controller.InterpolationMode Mode {
+                       get {
+                               GLib.Value val = GetProperty ("mode");
+                               Gst.Controller.InterpolationMode ret = (Gst.Controller.InterpolationMode) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("mode", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Controller.TimedValueControlSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_interpolation_control_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_interpolation_control_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static InterpolationControlSource ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Controller.TimedValueControlSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_InterpolationMode.cs b/sources/generated/Gst.Controller_InterpolationMode.cs
new file mode 100644 (file)
index 0000000..a3f5e09
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Controller.InterpolationModeGType))]
+       public enum InterpolationMode {
+
+               None = 0,
+               Linear = 1,
+               Cubic = 2,
+               CubicMonotonic = 3,
+       }
+
+       internal class InterpolationModeGType {
+               [DllImport ("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_interpolation_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_interpolation_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Controller_LFOControlSource.cs b/sources/generated/Gst.Controller_LFOControlSource.cs
new file mode 100644 (file)
index 0000000..65a373b
--- /dev/null
@@ -0,0 +1,185 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class LFOControlSource : Gst.ControlSource {
+
+               public LFOControlSource (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_lfo_control_source_new();
+
+               public LFOControlSource () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (LFOControlSource)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_lfo_control_source_new();
+               }
+
+               [GLib.Property ("amplitude")]
+               public double Amplitude {
+                       get {
+                               GLib.Value val = GetProperty ("amplitude");
+                               double ret = (double) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("amplitude", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("frequency")]
+               public double Frequency {
+                       get {
+                               GLib.Value val = GetProperty ("frequency");
+                               double ret = (double) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("frequency", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("offset")]
+               public double Offset {
+                       get {
+                               GLib.Value val = GetProperty ("offset");
+                               double ret = (double) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("offset", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("timeshift")]
+               public ulong Timeshift {
+                       get {
+                               GLib.Value val = GetProperty ("timeshift");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("timeshift", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("waveform")]
+               public Gst.Controller.LFOWaveform Waveform {
+                       get {
+                               GLib.Value val = GetProperty ("waveform");
+                               Gst.Controller.LFOWaveform ret = (Gst.Controller.LFOWaveform) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("waveform", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.ControlSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_lfo_control_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_lfo_control_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static LFOControlSource ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.ControlSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "lock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lock
+                                                       , "priv"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "lock"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_LFOWaveform.cs b/sources/generated/Gst.Controller_LFOWaveform.cs
new file mode 100644 (file)
index 0000000..4632f3d
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Controller.LFOWaveformGType))]
+       public enum LFOWaveform {
+
+               Sine = 0,
+               Square = 1,
+               Saw = 2,
+               ReverseSaw = 3,
+               Triangle = 4,
+       }
+
+       internal class LFOWaveformGType {
+               [DllImport ("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_lfo_waveform_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_lfo_waveform_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Controller_ProxyControlBinding.cs b/sources/generated/Gst.Controller_ProxyControlBinding.cs
new file mode 100644 (file)
index 0000000..1dedce0
--- /dev/null
@@ -0,0 +1,56 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ProxyControlBinding : Gst.ControlBinding {
+
+               public ProxyControlBinding (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_proxy_control_binding_new(IntPtr _object, IntPtr property_name, IntPtr ref_object, IntPtr ref_property_name);
+
+               public ProxyControlBinding (Gst.Object _object, string property_name, Gst.Object ref_object, string ref_property_name) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (ProxyControlBinding)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               if (_object != null) {
+                                       names.Add ("_object");
+                                       vals.Add (new GLib.Value (_object));
+                               }
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       IntPtr native_ref_property_name = GLib.Marshaller.StringToPtrGStrdup (ref_property_name);
+                       Raw = gst_proxy_control_binding_new(_object == null ? IntPtr.Zero : _object.Handle, native_property_name, ref_object == null ? IntPtr.Zero : ref_object.Handle, native_ref_property_name);
+                       GLib.Marshaller.Free (native_property_name);
+                       GLib.Marshaller.Free (native_ref_property_name);
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_proxy_control_binding_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_proxy_control_binding_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static ProxyControlBinding ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_TimedValueControlSource.cs b/sources/generated/Gst.Controller_TimedValueControlSource.cs
new file mode 100644 (file)
index 0000000..3aa049c
--- /dev/null
@@ -0,0 +1,407 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TimedValueControlSource : Gst.ControlSource {
+
+               protected TimedValueControlSource (IntPtr raw) : base(raw) {}
+
+               protected TimedValueControlSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public GLib.Mutex Lock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("lock"));
+                                       return new GLib.Mutex((*raw_ptr));
+                               }
+                       }
+               }
+
+               public int Nvalues {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("nvalues"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool ValidCache {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("valid_cache"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               [GLib.Signal("value-removed")]
+               public event Gst.Controller.ValueRemovedHandler ValueRemoved {
+                       add {
+                               this.AddSignalHandler ("value-removed", value, typeof (Gst.Controller.ValueRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("value-removed", value);
+                       }
+               }
+
+               [GLib.Signal("value-changed")]
+               public event Gst.Controller.ValueChangedHandler ValueChanged {
+                       add {
+                               this.AddSignalHandler ("value-changed", value, typeof (Gst.Controller.ValueChangedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("value-changed", value);
+                       }
+               }
+
+               [GLib.Signal("value-added")]
+               public event Gst.Controller.ValueAddedHandler ValueAdded {
+                       add {
+                               this.AddSignalHandler ("value-added", value, typeof (Gst.Controller.ValueAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("value-added", value);
+                       }
+               }
+
+               static ValueAddedNativeDelegate ValueAdded_cb_delegate;
+               static ValueAddedNativeDelegate ValueAddedVMCallback {
+                       get {
+                               if (ValueAdded_cb_delegate == null)
+                                       ValueAdded_cb_delegate = new ValueAddedNativeDelegate (ValueAdded_cb);
+                               return ValueAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideValueAdded (GLib.GType gtype)
+               {
+                       OverrideValueAdded (gtype, ValueAddedVMCallback);
+               }
+
+               static void OverrideValueAdded (GLib.GType gtype, ValueAddedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "value-added", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ValueAddedNativeDelegate (IntPtr inst, IntPtr timed_value);
+
+               static void ValueAdded_cb (IntPtr inst, IntPtr timed_value)
+               {
+                       try {
+                               TimedValueControlSource __obj = GLib.Object.GetObject (inst, false) as TimedValueControlSource;
+                               __obj.OnValueAdded (Gst.Controller.ControlPoint.New (timed_value));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Controller.TimedValueControlSource), ConnectionMethod="OverrideValueAdded")]
+               protected virtual void OnValueAdded (Gst.Controller.ControlPoint timed_value)
+               {
+                       InternalValueAdded (timed_value);
+               }
+
+               private void InternalValueAdded (Gst.Controller.ControlPoint timed_value)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (timed_value);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ValueChangedNativeDelegate ValueChanged_cb_delegate;
+               static ValueChangedNativeDelegate ValueChangedVMCallback {
+                       get {
+                               if (ValueChanged_cb_delegate == null)
+                                       ValueChanged_cb_delegate = new ValueChangedNativeDelegate (ValueChanged_cb);
+                               return ValueChanged_cb_delegate;
+                       }
+               }
+
+               static void OverrideValueChanged (GLib.GType gtype)
+               {
+                       OverrideValueChanged (gtype, ValueChangedVMCallback);
+               }
+
+               static void OverrideValueChanged (GLib.GType gtype, ValueChangedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "value-changed", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ValueChangedNativeDelegate (IntPtr inst, IntPtr timed_value);
+
+               static void ValueChanged_cb (IntPtr inst, IntPtr timed_value)
+               {
+                       try {
+                               TimedValueControlSource __obj = GLib.Object.GetObject (inst, false) as TimedValueControlSource;
+                               __obj.OnValueChanged (Gst.Controller.ControlPoint.New (timed_value));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Controller.TimedValueControlSource), ConnectionMethod="OverrideValueChanged")]
+               protected virtual void OnValueChanged (Gst.Controller.ControlPoint timed_value)
+               {
+                       InternalValueChanged (timed_value);
+               }
+
+               private void InternalValueChanged (Gst.Controller.ControlPoint timed_value)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (timed_value);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ValueRemovedNativeDelegate ValueRemoved_cb_delegate;
+               static ValueRemovedNativeDelegate ValueRemovedVMCallback {
+                       get {
+                               if (ValueRemoved_cb_delegate == null)
+                                       ValueRemoved_cb_delegate = new ValueRemovedNativeDelegate (ValueRemoved_cb);
+                               return ValueRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideValueRemoved (GLib.GType gtype)
+               {
+                       OverrideValueRemoved (gtype, ValueRemovedVMCallback);
+               }
+
+               static void OverrideValueRemoved (GLib.GType gtype, ValueRemovedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "value-removed", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ValueRemovedNativeDelegate (IntPtr inst, IntPtr timed_value);
+
+               static void ValueRemoved_cb (IntPtr inst, IntPtr timed_value)
+               {
+                       try {
+                               TimedValueControlSource __obj = GLib.Object.GetObject (inst, false) as TimedValueControlSource;
+                               __obj.OnValueRemoved (Gst.Controller.ControlPoint.New (timed_value));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Controller.TimedValueControlSource), ConnectionMethod="OverrideValueRemoved")]
+               protected virtual void OnValueRemoved (Gst.Controller.ControlPoint timed_value)
+               {
+                       InternalValueRemoved (timed_value);
+               }
+
+               private void InternalValueRemoved (Gst.Controller.ControlPoint timed_value)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (timed_value);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.ControlSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_timed_value_control_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_timed_value_control_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_timed_value_control_source_get_all(IntPtr raw);
+
+               public GLib.List[] All { 
+                       get {
+                               IntPtr raw_ret = gst_timed_value_control_source_get_all(Handle);
+                               GLib.List[] ret = (GLib.List[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, true, typeof(GLib.List));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_timed_value_control_source_get_count(IntPtr raw);
+
+               public int Count { 
+                       get {
+                               int raw_ret = gst_timed_value_control_source_get_count(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_timed_value_control_source_set(IntPtr raw, ulong timestamp, double value);
+
+               public bool Set(ulong timestamp, double value) {
+                       bool raw_ret = gst_timed_value_control_source_set(Handle, timestamp, value);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_timed_value_control_source_set_from_list(IntPtr raw, IntPtr timedvalues);
+
+               public bool SetFromList(GLib.SList timedvalues) {
+                       bool raw_ret = gst_timed_value_control_source_set_from_list(Handle, timedvalues == null ? IntPtr.Zero : timedvalues.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_timed_value_control_source_unset(IntPtr raw, ulong timestamp);
+
+               public bool Unset(ulong timestamp) {
+                       bool raw_ret = gst_timed_value_control_source_unset(Handle, timestamp);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_timed_value_control_source_unset_all(IntPtr raw);
+
+               public void UnsetAll() {
+                       gst_timed_value_control_source_unset_all(Handle);
+               }
+
+
+               static TimedValueControlSource ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("lock"
+                                                       , Gst.ControlSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lock
+                                                       , null
+                                                       , "values"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("values"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // values
+                                                       , "lock"
+                                                       , "nvalues"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("nvalues"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // nvalues
+                                                       , "values"
+                                                       , "valid_cache"
+                                                       , (long) Marshal.OffsetOf(typeof(GstTimedValueControlSource_nvaluesAlign), "nvalues")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("valid_cache"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // valid_cache
+                                                       , "nvalues"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstTimedValueControlSource_valid_cacheAlign), "valid_cache")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "valid_cache"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstTimedValueControlSource_nvaluesAlign
+               {
+                       sbyte f1;
+                       private int nvalues;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstTimedValueControlSource_valid_cacheAlign
+               {
+                       sbyte f1;
+                       private bool valid_cache;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_TriggerControlSource.cs b/sources/generated/Gst.Controller_TriggerControlSource.cs
new file mode 100644 (file)
index 0000000..58cbacc
--- /dev/null
@@ -0,0 +1,117 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TriggerControlSource : Gst.Controller.TimedValueControlSource {
+
+               public TriggerControlSource (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_trigger_control_source_new();
+
+               public TriggerControlSource () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TriggerControlSource)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_trigger_control_source_new();
+               }
+
+               [GLib.Property ("tolerance")]
+               public long Tolerance {
+                       get {
+                               GLib.Value val = GetProperty ("tolerance");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("tolerance", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Controller.TimedValueControlSource.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_trigger_control_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_trigger_control_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static TriggerControlSource ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Controller.TimedValueControlSource.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Controller_ValueAddedHandler.cs b/sources/generated/Gst.Controller_ValueAddedHandler.cs
new file mode 100644 (file)
index 0000000..5c2db32
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+
+       public delegate void ValueAddedHandler(object o, ValueAddedArgs args);
+
+       public class ValueAddedArgs : GLib.SignalArgs {
+               public Gst.Controller.ControlPoint TimedValue{
+                       get {
+                               return (Gst.Controller.ControlPoint) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.Controller_ValueChangedHandler.cs b/sources/generated/Gst.Controller_ValueChangedHandler.cs
new file mode 100644 (file)
index 0000000..3c1842b
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+
+       public delegate void ValueChangedHandler(object o, ValueChangedArgs args);
+
+       public class ValueChangedArgs : GLib.SignalArgs {
+               public Gst.Controller.ControlPoint TimedValue{
+                       get {
+                               return (Gst.Controller.ControlPoint) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.Controller_ValueRemovedHandler.cs b/sources/generated/Gst.Controller_ValueRemovedHandler.cs
new file mode 100644 (file)
index 0000000..01c667a
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Controller {
+
+       using System;
+
+       public delegate void ValueRemovedHandler(object o, ValueRemovedArgs args);
+
+       public class ValueRemovedArgs : GLib.SignalArgs {
+               public Gst.Controller.ControlPoint TimedValue{
+                       get {
+                               return (Gst.Controller.ControlPoint) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.FFT_Constants.cs b/sources/generated/Gst.FFT_Constants.cs
new file mode 100644 (file)
index 0000000..998bb28
--- /dev/null
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTF32.cs b/sources/generated/Gst.FFT_FFTF32.cs
new file mode 100644 (file)
index 0000000..dfbcdb4
--- /dev/null
@@ -0,0 +1,74 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class FFTF32 : GLib.Opaque {
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_f32_inverse_fft(IntPtr raw, IntPtr freqdata, float timedata);
+
+               public void InverseFft(Gst.FFT.FFTF32Complex freqdata, float timedata) {
+                       IntPtr native_freqdata = GLib.Marshaller.StructureToPtrAlloc (freqdata);
+                       gst_fft_f32_inverse_fft(Handle, native_freqdata, timedata);
+                       Marshal.FreeHGlobal (native_freqdata);
+               }
+
+               public FFTF32(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_f32_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_fft_f32_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_fft_f32_free (handle);
+                               return false;
+                       }
+               }
+
+               ~FFTF32 ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTF32Complex.cs b/sources/generated/Gst.FFT_FFTF32Complex.cs
new file mode 100644 (file)
index 0000000..6db2d6a
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct FFTF32Complex : IEquatable<FFTF32Complex> {
+
+               public float R;
+               public float I;
+
+               public static Gst.FFT.FFTF32Complex Zero = new Gst.FFT.FFTF32Complex ();
+
+               public static Gst.FFT.FFTF32Complex New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.FFT.FFTF32Complex.Zero;
+                       return (Gst.FFT.FFTF32Complex) Marshal.PtrToStructure (raw, typeof (Gst.FFT.FFTF32Complex));
+               }
+
+               public bool Equals (FFTF32Complex other)
+               {
+                       return true && R.Equals (other.R) && I.Equals (other.I);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is FFTF32Complex && Equals ((FFTF32Complex) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ R.GetHashCode () ^ I.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTF64.cs b/sources/generated/Gst.FFT_FFTF64.cs
new file mode 100644 (file)
index 0000000..651b7d6
--- /dev/null
@@ -0,0 +1,90 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class FFTF64 : GLib.Opaque {
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_f64_fft(IntPtr raw, double timedata, IntPtr freqdata);
+
+               public void Fft(double timedata, Gst.FFT.FFTF64Complex freqdata) {
+                       IntPtr native_freqdata = GLib.Marshaller.StructureToPtrAlloc (freqdata);
+                       gst_fft_f64_fft(Handle, timedata, native_freqdata);
+                       Marshal.FreeHGlobal (native_freqdata);
+               }
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_f64_inverse_fft(IntPtr raw, IntPtr freqdata, double timedata);
+
+               public void InverseFft(Gst.FFT.FFTF64Complex freqdata, double timedata) {
+                       IntPtr native_freqdata = GLib.Marshaller.StructureToPtrAlloc (freqdata);
+                       gst_fft_f64_inverse_fft(Handle, native_freqdata, timedata);
+                       Marshal.FreeHGlobal (native_freqdata);
+               }
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_f64_window(IntPtr raw, double timedata, int window);
+
+               public void Window(double timedata, Gst.FFT.FFTWindow window) {
+                       gst_fft_f64_window(Handle, timedata, (int) window);
+               }
+
+               public FFTF64(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_f64_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_fft_f64_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_fft_f64_free (handle);
+                               return false;
+                       }
+               }
+
+               ~FFTF64 ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTF64Complex.cs b/sources/generated/Gst.FFT_FFTF64Complex.cs
new file mode 100644 (file)
index 0000000..9783101
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct FFTF64Complex : IEquatable<FFTF64Complex> {
+
+               public double R;
+               public double I;
+
+               public static Gst.FFT.FFTF64Complex Zero = new Gst.FFT.FFTF64Complex ();
+
+               public static Gst.FFT.FFTF64Complex New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.FFT.FFTF64Complex.Zero;
+                       return (Gst.FFT.FFTF64Complex) Marshal.PtrToStructure (raw, typeof (Gst.FFT.FFTF64Complex));
+               }
+
+               public bool Equals (FFTF64Complex other)
+               {
+                       return true && R.Equals (other.R) && I.Equals (other.I);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is FFTF64Complex && Equals ((FFTF64Complex) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ R.GetHashCode () ^ I.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTS16.cs b/sources/generated/Gst.FFT_FFTS16.cs
new file mode 100644 (file)
index 0000000..72235bb
--- /dev/null
@@ -0,0 +1,90 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class FFTS16 : GLib.Opaque {
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_s16_fft(IntPtr raw, short timedata, IntPtr freqdata);
+
+               public void Fft(short timedata, Gst.FFT.FFTS16Complex freqdata) {
+                       IntPtr native_freqdata = GLib.Marshaller.StructureToPtrAlloc (freqdata);
+                       gst_fft_s16_fft(Handle, timedata, native_freqdata);
+                       Marshal.FreeHGlobal (native_freqdata);
+               }
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_s16_inverse_fft(IntPtr raw, IntPtr freqdata, short timedata);
+
+               public void InverseFft(Gst.FFT.FFTS16Complex freqdata, short timedata) {
+                       IntPtr native_freqdata = GLib.Marshaller.StructureToPtrAlloc (freqdata);
+                       gst_fft_s16_inverse_fft(Handle, native_freqdata, timedata);
+                       Marshal.FreeHGlobal (native_freqdata);
+               }
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_s16_window(IntPtr raw, short timedata, int window);
+
+               public void Window(short timedata, Gst.FFT.FFTWindow window) {
+                       gst_fft_s16_window(Handle, timedata, (int) window);
+               }
+
+               public FFTS16(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_s16_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_fft_s16_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_fft_s16_free (handle);
+                               return false;
+                       }
+               }
+
+               ~FFTS16 ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTS16Complex.cs b/sources/generated/Gst.FFT_FFTS16Complex.cs
new file mode 100644 (file)
index 0000000..bd8f4f4
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct FFTS16Complex : IEquatable<FFTS16Complex> {
+
+               public short R;
+               public short I;
+
+               public static Gst.FFT.FFTS16Complex Zero = new Gst.FFT.FFTS16Complex ();
+
+               public static Gst.FFT.FFTS16Complex New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.FFT.FFTS16Complex.Zero;
+                       return (Gst.FFT.FFTS16Complex) Marshal.PtrToStructure (raw, typeof (Gst.FFT.FFTS16Complex));
+               }
+
+               public bool Equals (FFTS16Complex other)
+               {
+                       return true && R.Equals (other.R) && I.Equals (other.I);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is FFTS16Complex && Equals ((FFTS16Complex) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ R.GetHashCode () ^ I.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTS32.cs b/sources/generated/Gst.FFT_FFTS32.cs
new file mode 100644 (file)
index 0000000..99b5808
--- /dev/null
@@ -0,0 +1,90 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class FFTS32 : GLib.Opaque {
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_s32_fft(IntPtr raw, int timedata, IntPtr freqdata);
+
+               public void Fft(int timedata, Gst.FFT.FFTS32Complex freqdata) {
+                       IntPtr native_freqdata = GLib.Marshaller.StructureToPtrAlloc (freqdata);
+                       gst_fft_s32_fft(Handle, timedata, native_freqdata);
+                       Marshal.FreeHGlobal (native_freqdata);
+               }
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_s32_inverse_fft(IntPtr raw, IntPtr freqdata, int timedata);
+
+               public void InverseFft(Gst.FFT.FFTS32Complex freqdata, int timedata) {
+                       IntPtr native_freqdata = GLib.Marshaller.StructureToPtrAlloc (freqdata);
+                       gst_fft_s32_inverse_fft(Handle, native_freqdata, timedata);
+                       Marshal.FreeHGlobal (native_freqdata);
+               }
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_s32_window(IntPtr raw, int timedata, int window);
+
+               public void Window(int timedata, Gst.FFT.FFTWindow window) {
+                       gst_fft_s32_window(Handle, timedata, (int) window);
+               }
+
+               public FFTS32(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_fft_s32_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_fft_s32_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_fft_s32_free (handle);
+                               return false;
+                       }
+               }
+
+               ~FFTS32 ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTS32Complex.cs b/sources/generated/Gst.FFT_FFTS32Complex.cs
new file mode 100644 (file)
index 0000000..6ae5251
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct FFTS32Complex : IEquatable<FFTS32Complex> {
+
+               public int R;
+               public int I;
+
+               public static Gst.FFT.FFTS32Complex Zero = new Gst.FFT.FFTS32Complex ();
+
+               public static Gst.FFT.FFTS32Complex New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.FFT.FFTS32Complex.Zero;
+                       return (Gst.FFT.FFTS32Complex) Marshal.PtrToStructure (raw, typeof (Gst.FFT.FFTS32Complex));
+               }
+
+               public bool Equals (FFTS32Complex other)
+               {
+                       return true && R.Equals (other.R) && I.Equals (other.I);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is FFTS32Complex && Equals ((FFTS32Complex) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ R.GetHashCode () ^ I.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.FFT_FFTWindow.cs b/sources/generated/Gst.FFT_FFTWindow.cs
new file mode 100644 (file)
index 0000000..370b336
--- /dev/null
@@ -0,0 +1,19 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum FFTWindow {
+
+               Rectangular = 0,
+               Hamming = 1,
+               Hann = 2,
+               Bartlett = 3,
+               Blackman = 4,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.FFT_Global.cs b/sources/generated/Gst.FFT_Global.cs
new file mode 100644 (file)
index 0000000..8c9cea5
--- /dev/null
@@ -0,0 +1,25 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.FFT {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_fft_next_fast_length(int n);
+
+               public static int FftNextFastLength(int n) {
+                       int raw_ret = gst_fft_next_fast_length(n);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_Constants.cs b/sources/generated/Gst.Net_Constants.cs
new file mode 100644 (file)
index 0000000..3f7584c
--- /dev/null
@@ -0,0 +1,22 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const int NET_TIME_PACKET_SIZE = 16;
+               public const ulong PTP_CLOCK_ID_NONE = 18446744073709551615;
+               public const string PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED = @"GstPtpStatisticsBestMasterClockSelected";
+               public const string PTP_STATISTICS_NEW_DOMAIN_FOUND = @"GstPtpStatisticsNewDomainFound";
+               public const string PTP_STATISTICS_PATH_DELAY_MEASURED = @"GstPtpStatisticsPathDelayMeasured";
+               public const string PTP_STATISTICS_TIME_UPDATED = @"GstPtpStatisticsTimeUpdated";
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_Global.cs b/sources/generated/Gst.Net_Global.cs
new file mode 100644 (file)
index 0000000..231d381
--- /dev/null
@@ -0,0 +1,165 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_net_address_meta(IntPtr buffer, IntPtr addr);
+
+               public static Gst.Net.NetAddressMeta BufferAddNetAddressMeta(Gst.Buffer buffer, GLib.SocketAddress addr) {
+                       IntPtr raw_ret = gst_buffer_add_net_address_meta(buffer == null ? IntPtr.Zero : buffer.Handle, addr == null ? IntPtr.Zero : addr.Handle);
+                       Gst.Net.NetAddressMeta ret = Gst.Net.NetAddressMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_net_control_message_meta(IntPtr buffer, IntPtr message);
+
+               public static Gst.Net.NetControlMessageMeta BufferAddNetControlMessageMeta(Gst.Buffer buffer, GLib.SocketControlMessage message) {
+                       IntPtr raw_ret = gst_buffer_add_net_control_message_meta(buffer == null ? IntPtr.Zero : buffer.Handle, message == null ? IntPtr.Zero : message.Handle);
+                       Gst.Net.NetControlMessageMeta ret = Gst.Net.NetControlMessageMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_net_address_meta(IntPtr buffer);
+
+               public static Gst.Net.NetAddressMeta BufferGetNetAddressMeta(Gst.Buffer buffer) {
+                       IntPtr raw_ret = gst_buffer_get_net_address_meta(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.Net.NetAddressMeta ret = Gst.Net.NetAddressMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_address_meta_api_get_type();
+
+               public static GLib.GType NetAddressMetaApiGetType() {
+                       IntPtr raw_ret = gst_net_address_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_address_meta_get_info();
+
+               public static Gst.MetaInfo NetAddressMetaGetInfo() {
+                       IntPtr raw_ret = gst_net_address_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_control_message_meta_api_get_type();
+
+               public static GLib.GType NetControlMessageMetaApiGetType() {
+                       IntPtr raw_ret = gst_net_control_message_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_control_message_meta_get_info();
+
+               public static Gst.MetaInfo NetControlMessageMetaGetInfo() {
+                       IntPtr raw_ret = gst_net_control_message_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_net_time_packet_receive(IntPtr socket, out IntPtr src_address, out IntPtr error);
+
+               public static unsafe Gst.Net.NetTimePacket NetTimePacketReceive(GLib.Socket socket, out GLib.SocketAddress src_address) {
+                       IntPtr native_src_address;
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_net_time_packet_receive(socket == null ? IntPtr.Zero : socket.Handle, out native_src_address, out error);
+                       Gst.Net.NetTimePacket ret = Gst.Net.NetTimePacket.New (raw_ret);
+                       src_address = GLib.Object.GetObject(native_src_address, true) as GLib.SocketAddress;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_ptp_deinit();
+
+               public static void PtpDeinit() {
+                       gst_ptp_deinit();
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_ptp_init(ulong clock_id, IntPtr[] interfaces);
+
+               public static bool PtpInit(ulong clock_id, string[] interfaces) {
+                       int cnt_interfaces = interfaces == null ? 0 : interfaces.Length;
+                       IntPtr[] native_interfaces = new IntPtr [cnt_interfaces + 1];
+                       for (int i = 0; i < cnt_interfaces; i++)
+                               native_interfaces [i] = GLib.Marshaller.StringToPtrGStrdup (interfaces[i]);
+                       native_interfaces [cnt_interfaces] = IntPtr.Zero;
+                       bool raw_ret = gst_ptp_init(clock_id, native_interfaces);
+                       bool ret = raw_ret;
+                       for (int i = 0; i < native_interfaces.Length - 1; i++) {
+                               interfaces [i] = GLib.Marshaller.Utf8PtrToString (native_interfaces[i]);
+                               GLib.Marshaller.Free (native_interfaces[i]);
+                       }
+                       return ret;
+               }
+
+               public static bool PtpInit(ulong clock_id) {
+                       return PtpInit (clock_id, null);
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_ptp_is_initialized();
+
+               public static bool PtpIsInitialized() {
+                       bool raw_ret = gst_ptp_is_initialized();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_ptp_is_supported();
+
+               public static bool PtpIsSupported() {
+                       bool raw_ret = gst_ptp_is_supported();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_ptp_statistics_callback_add(Gst.NetSharp.PtpStatisticsCallbackNative cb, IntPtr user_data, GLib.DestroyNotify destroy_data);
+
+               public static ulong PtpStatisticsCallbackAdd(Gst.Net.PtpStatisticsCallback cb) {
+                       Gst.NetSharp.PtpStatisticsCallbackWrapper cb_wrapper = new Gst.NetSharp.PtpStatisticsCallbackWrapper (cb);
+                       IntPtr user_data;
+                       GLib.DestroyNotify destroy_data;
+                       if (cb == null) {
+                               user_data = IntPtr.Zero;
+                               destroy_data = null;
+                       } else {
+                               user_data = (IntPtr) GCHandle.Alloc (cb_wrapper);
+                               destroy_data = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       UIntPtr raw_ret = gst_ptp_statistics_callback_add(cb_wrapper.NativeDelegate, user_data, destroy_data);
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_ptp_statistics_callback_remove(UIntPtr id);
+
+               public static void PtpStatisticsCallbackRemove(ulong id) {
+                       gst_ptp_statistics_callback_remove(new UIntPtr (id));
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_Gst.NetSharp.PtpStatisticsCallbackNative.cs b/sources/generated/Gst.Net_Gst.NetSharp.PtpStatisticsCallbackNative.cs
new file mode 100644 (file)
index 0000000..5b9147c
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.NetSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PtpStatisticsCallbackNative(byte domain, IntPtr stats, IntPtr user_data);
+
+       internal class PtpStatisticsCallbackInvoker {
+
+               PtpStatisticsCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PtpStatisticsCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PtpStatisticsCallbackInvoker (PtpStatisticsCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PtpStatisticsCallbackInvoker (PtpStatisticsCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PtpStatisticsCallbackInvoker (PtpStatisticsCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Net.PtpStatisticsCallback Handler {
+                       get {
+                               return new Gst.Net.PtpStatisticsCallback(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (byte domain, Gst.Structure stats)
+               {
+                       bool __result = native_cb (domain, stats == null ? IntPtr.Zero : stats.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class PtpStatisticsCallbackWrapper {
+
+               public bool NativeCallback (byte domain, IntPtr stats, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (domain, stats == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (stats, typeof (Gst.Structure), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PtpStatisticsCallbackNative NativeDelegate;
+               Gst.Net.PtpStatisticsCallback managed;
+
+               public PtpStatisticsCallbackWrapper (Gst.Net.PtpStatisticsCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PtpStatisticsCallbackNative (NativeCallback);
+               }
+
+               public static Gst.Net.PtpStatisticsCallback GetManagedDelegate (PtpStatisticsCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PtpStatisticsCallbackWrapper wrapper = (PtpStatisticsCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Net_NetAddressMeta.cs b/sources/generated/Gst.Net_NetAddressMeta.cs
new file mode 100644 (file)
index 0000000..e1148f8
--- /dev/null
@@ -0,0 +1,65 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct NetAddressMeta : IEquatable<NetAddressMeta> {
+
+               public Gst.Meta Meta;
+               private IntPtr _addr;
+               public GLib.SocketAddress Addr {
+                       get {
+                               return GLib.Object.GetObject(_addr) as GLib.SocketAddress;
+                       }
+                       set {
+                               _addr = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+
+               public static Gst.Net.NetAddressMeta Zero = new Gst.Net.NetAddressMeta ();
+
+               public static Gst.Net.NetAddressMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Net.NetAddressMeta.Zero;
+                       return (Gst.Net.NetAddressMeta) Marshal.PtrToStructure (raw, typeof (Gst.Net.NetAddressMeta));
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_address_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_net_address_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (NetAddressMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && Addr.Equals (other.Addr);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is NetAddressMeta && Equals ((NetAddressMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Addr.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_NetClientClock.cs b/sources/generated/Gst.Net_NetClientClock.cs
new file mode 100644 (file)
index 0000000..0ea1203
--- /dev/null
@@ -0,0 +1,222 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class NetClientClock : Gst.SystemClock {
+
+               public NetClientClock (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_client_clock_new(IntPtr name, IntPtr remote_address, int remote_port, ulong base_time);
+
+               public NetClientClock (string name, string remote_address, int remote_port, ulong base_time) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (NetClientClock)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               names.Add ("base_time");
+                               vals.Add (new GLib.Value (base_time));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_remote_address = GLib.Marshaller.StringToPtrGStrdup (remote_address);
+                       Raw = gst_net_client_clock_new(native_name, native_remote_address, remote_port, base_time);
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_remote_address);
+               }
+
+               [GLib.Property ("address")]
+               public string Address {
+                       get {
+                               GLib.Value val = GetProperty ("address");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("address", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("base-time")]
+               public ulong BaseTime {
+                       get {
+                               GLib.Value val = GetProperty ("base-time");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("bus")]
+               public Gst.Bus Bus {
+                       get {
+                               GLib.Value val = GetProperty ("bus");
+                               Gst.Bus ret = (Gst.Bus) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("bus", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("internal-clock")]
+               public Gst.Clock InternalClock {
+                       get {
+                               GLib.Value val = GetProperty ("internal-clock");
+                               Gst.Clock ret = (Gst.Clock) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("minimum-update-interval")]
+               public ulong MinimumUpdateInterval {
+                       get {
+                               GLib.Value val = GetProperty ("minimum-update-interval");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("minimum-update-interval", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("port")]
+               public int Port {
+                       get {
+                               GLib.Value val = GetProperty ("port");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("port", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("qos-dscp")]
+               public int QosDscp {
+                       get {
+                               GLib.Value val = GetProperty ("qos-dscp");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("qos-dscp", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("round-trip-limit")]
+               public ulong RoundTripLimit {
+                       get {
+                               GLib.Value val = GetProperty ("round-trip-limit");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("round-trip-limit", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.SystemClock.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_client_clock_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_net_client_clock_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static NetClientClock ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.SystemClock.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_NetControlMessageMeta.cs b/sources/generated/Gst.Net_NetControlMessageMeta.cs
new file mode 100644 (file)
index 0000000..5e4b0af
--- /dev/null
@@ -0,0 +1,65 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct NetControlMessageMeta : IEquatable<NetControlMessageMeta> {
+
+               public Gst.Meta Meta;
+               private IntPtr _message;
+               public GLib.SocketControlMessage Message {
+                       get {
+                               return GLib.Object.GetObject(_message) as GLib.SocketControlMessage;
+                       }
+                       set {
+                               _message = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+
+               public static Gst.Net.NetControlMessageMeta Zero = new Gst.Net.NetControlMessageMeta ();
+
+               public static Gst.Net.NetControlMessageMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Net.NetControlMessageMeta.Zero;
+                       return (Gst.Net.NetControlMessageMeta) Marshal.PtrToStructure (raw, typeof (Gst.Net.NetControlMessageMeta));
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_control_message_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_net_control_message_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (NetControlMessageMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && Message.Equals (other.Message);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is NetControlMessageMeta && Equals ((NetControlMessageMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Message.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_NetTimePacket.cs b/sources/generated/Gst.Net_NetTimePacket.cs
new file mode 100644 (file)
index 0000000..81432fe
--- /dev/null
@@ -0,0 +1,121 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct NetTimePacket : IEquatable<NetTimePacket> {
+
+               public ulong LocalTime;
+               public ulong RemoteTime;
+
+               public static Gst.Net.NetTimePacket Zero = new Gst.Net.NetTimePacket ();
+
+               public static Gst.Net.NetTimePacket New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Net.NetTimePacket.Zero;
+                       return (Gst.Net.NetTimePacket) Marshal.PtrToStructure (raw, typeof (Gst.Net.NetTimePacket));
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_time_packet_new(byte[] buffer);
+
+               public static NetTimePacket New(byte[] buffer)
+               {
+                       NetTimePacket result = NetTimePacket.New (gst_net_time_packet_new(buffer));
+                       return result;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_time_packet_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_net_time_packet_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool gst_net_time_packet_send(IntPtr raw, IntPtr socket, IntPtr dest_address, out IntPtr error);
+
+               public unsafe bool Send(GLib.Socket socket, GLib.SocketAddress dest_address) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = gst_net_time_packet_send(this_as_native, socket == null ? IntPtr.Zero : socket.Handle, dest_address == null ? IntPtr.Zero : dest_address.Handle, out error);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_net_time_packet_serialize(IntPtr raw);
+
+               public byte Serialize() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       byte raw_ret = gst_net_time_packet_serialize(this_as_native);
+                       byte ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_net_time_packet_receive(IntPtr socket, out IntPtr src_address, out IntPtr error);
+
+               public static unsafe Gst.Net.NetTimePacket Receive(GLib.Socket socket, out GLib.SocketAddress src_address) {
+                       IntPtr native_src_address;
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_net_time_packet_receive(socket == null ? IntPtr.Zero : socket.Handle, out native_src_address, out error);
+                       Gst.Net.NetTimePacket ret = Gst.Net.NetTimePacket.New (raw_ret);
+                       src_address = GLib.Object.GetObject(native_src_address, true) as GLib.SocketAddress;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Net.NetTimePacket target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (NetTimePacket other)
+               {
+                       return true && LocalTime.Equals (other.LocalTime) && RemoteTime.Equals (other.RemoteTime);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is NetTimePacket && Equals ((NetTimePacket) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ LocalTime.GetHashCode () ^ RemoteTime.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Net.NetTimePacket boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Net.NetTimePacket.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Net.NetTimePacket (GLib.Value val)
+               {
+                       return (Gst.Net.NetTimePacket) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_NetTimeProvider.cs b/sources/generated/Gst.Net_NetTimeProvider.cs
new file mode 100644 (file)
index 0000000..aeab528
--- /dev/null
@@ -0,0 +1,185 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class NetTimeProvider : Gst.Object, GLib.IInitable {
+
+               public NetTimeProvider (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_time_provider_new(IntPtr clock, IntPtr address, int port);
+
+               public NetTimeProvider (Gst.Clock clock, string address, int port) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (NetTimeProvider)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               if (clock != null) {
+                                       names.Add ("clock");
+                                       vals.Add (new GLib.Value (clock));
+                               }
+                               names.Add ("address");
+                               vals.Add (new GLib.Value (address));
+                               names.Add ("port");
+                               vals.Add (new GLib.Value (port));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_address = GLib.Marshaller.StringToPtrGStrdup (address);
+                       Raw = gst_net_time_provider_new(clock == null ? IntPtr.Zero : clock.Handle, native_address, port);
+                       GLib.Marshaller.Free (native_address);
+               }
+
+               [GLib.Property ("active")]
+               public bool Active {
+                       get {
+                               GLib.Value val = GetProperty ("active");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("active", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("address")]
+               public string Address {
+                       get {
+                               GLib.Value val = GetProperty ("address");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("clock")]
+               public Gst.Clock Clock {
+                       get {
+                               GLib.Value val = GetProperty ("clock");
+                               Gst.Clock ret = (Gst.Clock) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("port")]
+               public int Port {
+                       get {
+                               GLib.Value val = GetProperty ("port");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("qos-dscp")]
+               public int QosDscp {
+                       get {
+                               GLib.Value val = GetProperty ("qos-dscp");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("qos-dscp", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_net_time_provider_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_net_time_provider_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgio-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool g_initable_init(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+               public bool Init(GLib.Cancellable cancellable) {
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = g_initable_init(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+                       bool ret = raw_ret;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+
+               static NetTimeProvider ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_PtpClock.cs b/sources/generated/Gst.Net_PtpClock.cs
new file mode 100644 (file)
index 0000000..272254c
--- /dev/null
@@ -0,0 +1,150 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class PtpClock : Gst.SystemClock {
+
+               public PtpClock (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_ptp_clock_new(IntPtr name, uint domain);
+
+               public PtpClock (string name, uint domain) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (PtpClock)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               names.Add ("domain");
+                               vals.Add (new GLib.Value (domain));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_ptp_clock_new(native_name, domain);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [GLib.Property ("domain")]
+               public uint Domain {
+                       get {
+                               GLib.Value val = GetProperty ("domain");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("grandmaster-clock-id")]
+               public ulong GrandmasterClockId {
+                       get {
+                               GLib.Value val = GetProperty ("grandmaster-clock-id");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("internal-clock")]
+               public Gst.Clock InternalClock {
+                       get {
+                               GLib.Value val = GetProperty ("internal-clock");
+                               Gst.Clock ret = (Gst.Clock) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("master-clock-id")]
+               public ulong MasterClockId {
+                       get {
+                               GLib.Value val = GetProperty ("master-clock-id");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.SystemClock.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_ptp_clock_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_ptp_clock_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static PtpClock ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.SystemClock.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Net_PtpStatisticsCallback.cs b/sources/generated/Gst.Net_PtpStatisticsCallback.cs
new file mode 100644 (file)
index 0000000..23cb970
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Net {
+
+       using System;
+
+       public delegate bool PtpStatisticsCallback(byte domain, Gst.Structure stats);
+
+}
diff --git a/sources/generated/Gst.PbUtils_AudioVisualizer.cs b/sources/generated/Gst.PbUtils_AudioVisualizer.cs
new file mode 100644 (file)
index 0000000..3b79b6e
--- /dev/null
@@ -0,0 +1,367 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AudioVisualizer : Gst.Element {
+
+               protected AudioVisualizer (IntPtr raw) : base(raw) {}
+
+               protected AudioVisualizer() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("shade-amount")]
+               public uint ShadeAmount {
+                       get {
+                               GLib.Value val = GetProperty ("shade-amount");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("shade-amount", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("shader")]
+               public Gst.PbUtils.AudioVisualizerShader Shader {
+                       get {
+                               GLib.Value val = GetProperty ("shader");
+                               Gst.PbUtils.AudioVisualizerShader ret = (Gst.PbUtils.AudioVisualizerShader) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("shader", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public uint ReqSpf {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("req_spf"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Video.VideoInfo Vinfo {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("vinfo"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Video.VideoInfo), false);
+                               }
+                       }
+               }
+
+               public Gst.Audio.AudioInfo Ainfo {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("ainfo"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Audio.AudioInfo), false);
+                               }
+                       }
+               }
+
+               static SetupNativeDelegate Setup_cb_delegate;
+               static SetupNativeDelegate SetupVMCallback {
+                       get {
+                               if (Setup_cb_delegate == null)
+                                       Setup_cb_delegate = new SetupNativeDelegate (Setup_cb);
+                               return Setup_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetup (GLib.GType gtype)
+               {
+                       OverrideSetup (gtype, SetupVMCallback);
+               }
+
+               static void OverrideSetup (GLib.GType gtype, SetupNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("setup"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetupNativeDelegate (IntPtr inst);
+
+               static bool Setup_cb (IntPtr inst)
+               {
+                       try {
+                               AudioVisualizer __obj = GLib.Object.GetObject (inst, false) as AudioVisualizer;
+                               bool __result;
+                               __result = __obj.OnSetup ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.PbUtils.AudioVisualizer), ConnectionMethod="OverrideSetup")]
+               protected virtual bool OnSetup ()
+               {
+                       return InternalSetup ();
+               }
+
+               private bool InternalSetup ()
+               {
+                       SetupNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("setup"));
+                               unmanaged = (SetupNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetupNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static RenderNativeDelegate Render_cb_delegate;
+               static RenderNativeDelegate RenderVMCallback {
+                       get {
+                               if (Render_cb_delegate == null)
+                                       Render_cb_delegate = new RenderNativeDelegate (Render_cb);
+                               return Render_cb_delegate;
+                       }
+               }
+
+               static void OverrideRender (GLib.GType gtype)
+               {
+                       OverrideRender (gtype, RenderVMCallback);
+               }
+
+               static void OverrideRender (GLib.GType gtype, RenderNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("render"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool RenderNativeDelegate (IntPtr inst, IntPtr audio, IntPtr video);
+
+               static bool Render_cb (IntPtr inst, IntPtr audio, IntPtr video)
+               {
+                       try {
+                               AudioVisualizer __obj = GLib.Object.GetObject (inst, false) as AudioVisualizer;
+                               bool __result;
+                               __result = __obj.OnRender (audio == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (audio, typeof (Gst.Buffer), false), Gst.Video.VideoFrame.New (video));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.PbUtils.AudioVisualizer), ConnectionMethod="OverrideRender")]
+               protected virtual bool OnRender (Gst.Buffer audio, Gst.Video.VideoFrame video)
+               {
+                       return InternalRender (audio, video);
+               }
+
+               private bool InternalRender (Gst.Buffer audio, Gst.Video.VideoFrame video)
+               {
+                       RenderNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("render"));
+                               unmanaged = (RenderNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RenderNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_video = GLib.Marshaller.StructureToPtrAlloc (video);
+                       bool __result = unmanaged (this.Handle, audio == null ? IntPtr.Zero : audio.Handle, native_video);
+                       Marshal.FreeHGlobal (native_video);
+                       return __result;
+               }
+
+               static DecideAllocationNativeDelegate DecideAllocation_cb_delegate;
+               static DecideAllocationNativeDelegate DecideAllocationVMCallback {
+                       get {
+                               if (DecideAllocation_cb_delegate == null)
+                                       DecideAllocation_cb_delegate = new DecideAllocationNativeDelegate (DecideAllocation_cb);
+                               return DecideAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype)
+               {
+                       OverrideDecideAllocation (gtype, DecideAllocationVMCallback);
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype, DecideAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DecideAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool DecideAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               AudioVisualizer __obj = GLib.Object.GetObject (inst, false) as AudioVisualizer;
+                               bool __result;
+                               __result = __obj.OnDecideAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.PbUtils.AudioVisualizer), ConnectionMethod="OverrideDecideAllocation")]
+               protected virtual bool OnDecideAllocation (Gst.Query query)
+               {
+                       return InternalDecideAllocation (query);
+               }
+
+               private bool InternalDecideAllocation (Gst.Query query)
+               {
+                       DecideAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               unmanaged = (DecideAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DecideAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("setup"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // setup
+                                                       , null
+                                                       , "render"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("render"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // render
+                                                       , "setup"
+                                                       , "decide_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("decide_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // decide_allocation
+                                                       , "render"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_visualizer_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_audio_visualizer_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static AudioVisualizer ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("req_spf"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // req_spf
+                                                       , null
+                                                       , "vinfo"
+                                                       , (long) Marshal.OffsetOf(typeof(GstAudioVisualizer_req_spfAlign), "req_spf")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("vinfo"
+                                                       , -1
+                                                       , Gst.Video.VideoInfo.abi_info.Size // vinfo
+                                                       , "req_spf"
+                                                       , "ainfo"
+                                                       , Gst.Video.VideoInfo.abi_info.Align
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ainfo"
+                                                       , -1
+                                                       , Gst.Audio.AudioInfo.abi_info.Size // ainfo
+                                                       , "vinfo"
+                                                       , "priv"
+                                                       , Gst.Audio.AudioInfo.abi_info.Align
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "ainfo"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstAudioVisualizer_req_spfAlign
+               {
+                       sbyte f1;
+                       private uint req_spf;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_AudioVisualizerShader.cs b/sources/generated/Gst.PbUtils_AudioVisualizerShader.cs
new file mode 100644 (file)
index 0000000..7297183
--- /dev/null
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PbUtils.AudioVisualizerShaderGType))]
+       public enum AudioVisualizerShader {
+
+               None = 0,
+               Fade = 1,
+               FadeAndMoveUp = 2,
+               FadeAndMoveDown = 3,
+               FadeAndMoveLeft = 4,
+               FadeAndMoveRight = 5,
+               FadeAndMoveHorizOut = 6,
+               FadeAndMoveHorizIn = 7,
+               FadeAndMoveVertOut = 8,
+               FadeAndMoveVertIn = 9,
+       }
+
+       internal class AudioVisualizerShaderGType {
+               [DllImport ("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_audio_visualizer_shader_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_audio_visualizer_shader_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.PbUtils_AudioVisualizerShaderFunc.cs b/sources/generated/Gst.PbUtils_AudioVisualizerShaderFunc.cs
new file mode 100644 (file)
index 0000000..c9ca7e1
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+
+       public delegate void AudioVisualizerShaderFunc(Gst.PbUtils.AudioVisualizer scope, Gst.Video.VideoFrame s, Gst.Video.VideoFrame d);
+
+}
diff --git a/sources/generated/Gst.PbUtils_Constants.cs b/sources/generated/Gst.PbUtils_Constants.cs
new file mode 100644 (file)
index 0000000..4f091f7
--- /dev/null
@@ -0,0 +1,25 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const string ENCODING_CATEGORY_CAPTURE = @"capture";
+               public const string ENCODING_CATEGORY_DEVICE = @"device";
+               public const string ENCODING_CATEGORY_FILE_EXTENSION = @"file-extension";
+               public const string ENCODING_CATEGORY_ONLINE_SERVICE = @"online-service";
+               public const string ENCODING_CATEGORY_STORAGE_EDITING = @"storage-editing";
+               public const int PLUGINS_BASE_VERSION_MAJOR = 1;
+               public const int PLUGINS_BASE_VERSION_MICRO = 0;
+               public const int PLUGINS_BASE_VERSION_MINOR = 13;
+               public const int PLUGINS_BASE_VERSION_NANO = 1;
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_DiscoveredHandler.cs b/sources/generated/Gst.PbUtils_DiscoveredHandler.cs
new file mode 100644 (file)
index 0000000..e6cc54c
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+
+       public delegate void DiscoveredHandler(object o, DiscoveredArgs args);
+
+       public class DiscoveredArgs : GLib.SignalArgs {
+               public Gst.PbUtils.DiscovererInfo Info{
+                       get {
+                               return (Gst.PbUtils.DiscovererInfo) Args [0];
+                       }
+               }
+
+               public IntPtr Error{
+                       get {
+                               return (IntPtr) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_Discoverer.cs b/sources/generated/Gst.PbUtils_Discoverer.cs
new file mode 100644 (file)
index 0000000..3213726
--- /dev/null
@@ -0,0 +1,443 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Discoverer : GLib.Object {
+
+               public Discoverer (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_new(ulong timeout);
+
+               public Discoverer (ulong timeout) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Discoverer)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("timeout");
+                               vals.Add (new GLib.Value (timeout));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       Raw = gst_discoverer_new(timeout);
+               }
+
+               [GLib.Property ("timeout")]
+               public ulong Timeout {
+                       get {
+                               GLib.Value val = GetProperty ("timeout");
+                               ulong ret = (ulong) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("timeout", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Signal("starting")]
+               public event System.EventHandler Starting {
+                       add {
+                               this.AddSignalHandler ("starting", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("starting", value);
+                       }
+               }
+
+               [GLib.Signal("finished")]
+               public event System.EventHandler Finished {
+                       add {
+                               this.AddSignalHandler ("finished", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("finished", value);
+                       }
+               }
+
+               [GLib.Signal("discovered")]
+               public event Gst.PbUtils.DiscoveredHandler Discovered {
+                       add {
+                               this.AddSignalHandler ("discovered", value, typeof (Gst.PbUtils.DiscoveredArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("discovered", value);
+                       }
+               }
+
+               [GLib.Signal("source-setup")]
+               public event Gst.PbUtils.SourceSetupHandler SourceSetup {
+                       add {
+                               this.AddSignalHandler ("source-setup", value, typeof (Gst.PbUtils.SourceSetupArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("source-setup", value);
+                       }
+               }
+
+               static FinishedNativeDelegate Finished_cb_delegate;
+               static FinishedNativeDelegate FinishedVMCallback {
+                       get {
+                               if (Finished_cb_delegate == null)
+                                       Finished_cb_delegate = new FinishedNativeDelegate (Finished_cb);
+                               return Finished_cb_delegate;
+                       }
+               }
+
+               static void OverrideFinished (GLib.GType gtype)
+               {
+                       OverrideFinished (gtype, FinishedVMCallback);
+               }
+
+               static void OverrideFinished (GLib.GType gtype, FinishedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("finished"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FinishedNativeDelegate (IntPtr inst);
+
+               static void Finished_cb (IntPtr inst)
+               {
+                       try {
+                               Discoverer __obj = GLib.Object.GetObject (inst, false) as Discoverer;
+                               __obj.OnFinished ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.PbUtils.Discoverer), ConnectionMethod="OverrideFinished")]
+               protected virtual void OnFinished ()
+               {
+                       InternalFinished ();
+               }
+
+               private void InternalFinished ()
+               {
+                       FinishedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("finished"));
+                               unmanaged = (FinishedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FinishedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static StartingNativeDelegate Starting_cb_delegate;
+               static StartingNativeDelegate StartingVMCallback {
+                       get {
+                               if (Starting_cb_delegate == null)
+                                       Starting_cb_delegate = new StartingNativeDelegate (Starting_cb);
+                               return Starting_cb_delegate;
+                       }
+               }
+
+               static void OverrideStarting (GLib.GType gtype)
+               {
+                       OverrideStarting (gtype, StartingVMCallback);
+               }
+
+               static void OverrideStarting (GLib.GType gtype, StartingNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("starting"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void StartingNativeDelegate (IntPtr inst);
+
+               static void Starting_cb (IntPtr inst)
+               {
+                       try {
+                               Discoverer __obj = GLib.Object.GetObject (inst, false) as Discoverer;
+                               __obj.OnStarting ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.PbUtils.Discoverer), ConnectionMethod="OverrideStarting")]
+               protected virtual void OnStarting ()
+               {
+                       InternalStarting ();
+               }
+
+               private void InternalStarting ()
+               {
+                       StartingNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("starting"));
+                               unmanaged = (StartingNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartingNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static DiscoveredNativeDelegate Discovered_cb_delegate;
+               static DiscoveredNativeDelegate DiscoveredVMCallback {
+                       get {
+                               if (Discovered_cb_delegate == null)
+                                       Discovered_cb_delegate = new DiscoveredNativeDelegate (Discovered_cb);
+                               return Discovered_cb_delegate;
+                       }
+               }
+
+               static void OverrideDiscovered (GLib.GType gtype)
+               {
+                       OverrideDiscovered (gtype, DiscoveredVMCallback);
+               }
+
+               static void OverrideDiscovered (GLib.GType gtype, DiscoveredNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("discovered"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void DiscoveredNativeDelegate (IntPtr inst, IntPtr info, IntPtr error);
+
+               static void Discovered_cb (IntPtr inst, IntPtr info, IntPtr error)
+               {
+                       try {
+                               Discoverer __obj = GLib.Object.GetObject (inst, false) as Discoverer;
+                               __obj.OnDiscovered (GLib.Object.GetObject(info) as Gst.PbUtils.DiscovererInfo, error);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.PbUtils.Discoverer), ConnectionMethod="OverrideDiscovered")]
+               protected virtual void OnDiscovered (Gst.PbUtils.DiscovererInfo info, IntPtr error)
+               {
+                       InternalDiscovered (info, error);
+               }
+
+               private void InternalDiscovered (Gst.PbUtils.DiscovererInfo info, IntPtr error)
+               {
+                       DiscoveredNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("discovered"));
+                               unmanaged = (DiscoveredNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DiscoveredNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, info == null ? IntPtr.Zero : info.Handle, error);
+               }
+
+               static SourceSetupNativeDelegate SourceSetup_cb_delegate;
+               static SourceSetupNativeDelegate SourceSetupVMCallback {
+                       get {
+                               if (SourceSetup_cb_delegate == null)
+                                       SourceSetup_cb_delegate = new SourceSetupNativeDelegate (SourceSetup_cb);
+                               return SourceSetup_cb_delegate;
+                       }
+               }
+
+               static void OverrideSourceSetup (GLib.GType gtype)
+               {
+                       OverrideSourceSetup (gtype, SourceSetupVMCallback);
+               }
+
+               static void OverrideSourceSetup (GLib.GType gtype, SourceSetupNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("source_setup"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SourceSetupNativeDelegate (IntPtr inst, IntPtr source);
+
+               static void SourceSetup_cb (IntPtr inst, IntPtr source)
+               {
+                       try {
+                               Discoverer __obj = GLib.Object.GetObject (inst, false) as Discoverer;
+                               __obj.OnSourceSetup (GLib.Object.GetObject(source) as Gst.Element);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.PbUtils.Discoverer), ConnectionMethod="OverrideSourceSetup")]
+               protected virtual void OnSourceSetup (Gst.Element source)
+               {
+                       InternalSourceSetup (source);
+               }
+
+               private void InternalSourceSetup (Gst.Element source)
+               {
+                       SourceSetupNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("source_setup"));
+                               unmanaged = (SourceSetupNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SourceSetupNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, source == null ? IntPtr.Zero : source.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("finished"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // finished
+                                                       , null
+                                                       , "starting"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("starting"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // starting
+                                                       , "finished"
+                                                       , "discovered"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("discovered"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // discovered
+                                                       , "starting"
+                                                       , "source_setup"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("source_setup"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // source_setup
+                                                       , "discovered"
+                                                       , "_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _reserved
+                                                       , "source_setup"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_discoverer_discover_uri(IntPtr raw, IntPtr uri, out IntPtr error);
+
+               public unsafe Gst.PbUtils.DiscovererInfo DiscoverUri(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_discoverer_discover_uri(Handle, native_uri, out error);
+                       Gst.PbUtils.DiscovererInfo ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.DiscovererInfo;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_discoverer_discover_uri_async(IntPtr raw, IntPtr uri);
+
+               public bool DiscoverUriAsync(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       bool raw_ret = gst_discoverer_discover_uri_async(Handle, native_uri);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_discoverer_start(IntPtr raw);
+
+               public void Start() {
+                       gst_discoverer_start(Handle);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_discoverer_stop(IntPtr raw);
+
+               public void Stop() {
+                       gst_discoverer_stop(Handle);
+               }
+
+
+               static Discoverer ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , GLib.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_DiscovererAudioInfo.cs b/sources/generated/Gst.PbUtils_DiscovererAudioInfo.cs
new file mode 100644 (file)
index 0000000..3937a1b
--- /dev/null
@@ -0,0 +1,116 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DiscovererAudioInfo : Gst.PbUtils.DiscovererStreamInfo {
+
+               public DiscovererAudioInfo (IntPtr raw) : base(raw) {}
+
+               protected DiscovererAudioInfo() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_audio_info_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_audio_info_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_audio_info_get_bitrate(IntPtr raw);
+
+               public uint Bitrate { 
+                       get {
+                               uint raw_ret = gst_discoverer_audio_info_get_bitrate(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_discoverer_audio_info_get_channel_mask(IntPtr raw);
+
+               public ulong ChannelMask { 
+                       get {
+                               ulong raw_ret = gst_discoverer_audio_info_get_channel_mask(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_audio_info_get_channels(IntPtr raw);
+
+               public uint Channels { 
+                       get {
+                               uint raw_ret = gst_discoverer_audio_info_get_channels(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_audio_info_get_depth(IntPtr raw);
+
+               public uint Depth { 
+                       get {
+                               uint raw_ret = gst_discoverer_audio_info_get_depth(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_audio_info_get_language(IntPtr raw);
+
+               public string Language { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_audio_info_get_language(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_audio_info_get_max_bitrate(IntPtr raw);
+
+               public uint MaxBitrate { 
+                       get {
+                               uint raw_ret = gst_discoverer_audio_info_get_max_bitrate(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_audio_info_get_sample_rate(IntPtr raw);
+
+               public uint SampleRate { 
+                       get {
+                               uint raw_ret = gst_discoverer_audio_info_get_sample_rate(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+
+               static DiscovererAudioInfo ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_DiscovererContainerInfo.cs b/sources/generated/Gst.PbUtils_DiscovererContainerInfo.cs
new file mode 100644 (file)
index 0000000..7ba0cae
--- /dev/null
@@ -0,0 +1,50 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DiscovererContainerInfo : Gst.PbUtils.DiscovererStreamInfo {
+
+               public DiscovererContainerInfo (IntPtr raw) : base(raw) {}
+
+               protected DiscovererContainerInfo() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_container_info_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_container_info_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_container_info_get_streams(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo[] Streams { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_container_info_get_streams(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo[] ret = (Gst.PbUtils.DiscovererStreamInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PbUtils.DiscovererStreamInfo));
+                               return ret;
+                       }
+               }
+
+
+               static DiscovererContainerInfo ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_DiscovererInfo.cs b/sources/generated/Gst.PbUtils_DiscovererInfo.cs
new file mode 100644 (file)
index 0000000..510edf5
--- /dev/null
@@ -0,0 +1,241 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DiscovererInfo : GLib.Object {
+
+               public DiscovererInfo (IntPtr raw) : base(raw) {}
+
+               protected DiscovererInfo() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_from_variant(IntPtr variant);
+
+               public static Gst.PbUtils.DiscovererInfo FromVariant(GLib.Variant variant) {
+                       IntPtr raw_ret = gst_discoverer_info_from_variant(variant == null ? IntPtr.Zero : variant.Handle);
+                       Gst.PbUtils.DiscovererInfo ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.DiscovererInfo;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_copy(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererInfo Copy() {
+                       IntPtr raw_ret = gst_discoverer_info_copy(Handle);
+                       Gst.PbUtils.DiscovererInfo ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.DiscovererInfo;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_audio_streams(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo[] AudioStreams { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_audio_streams(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo[] ret = (Gst.PbUtils.DiscovererStreamInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PbUtils.DiscovererStreamInfo));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_container_streams(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo[] ContainerStreams { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_container_streams(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo[] ret = (Gst.PbUtils.DiscovererStreamInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PbUtils.DiscovererStreamInfo));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_discoverer_info_get_duration(IntPtr raw);
+
+               public ulong Duration { 
+                       get {
+                               ulong raw_ret = gst_discoverer_info_get_duration(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_discoverer_info_get_live(IntPtr raw);
+
+               public bool Live { 
+                       get {
+                               bool raw_ret = gst_discoverer_info_get_live(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_misc(IntPtr raw);
+
+               [Obsolete]
+               public Gst.Structure Misc { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_misc(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_missing_elements_installer_details(IntPtr raw);
+
+               public string[] MissingElementsInstallerDetails { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_missing_elements_installer_details(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_discoverer_info_get_result(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererResult Result { 
+                       get {
+                               int raw_ret = gst_discoverer_info_get_result(Handle);
+                               Gst.PbUtils.DiscovererResult ret = (Gst.PbUtils.DiscovererResult) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_discoverer_info_get_seekable(IntPtr raw);
+
+               public bool Seekable { 
+                       get {
+                               bool raw_ret = gst_discoverer_info_get_seekable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_stream_info(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo StreamInfo { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_stream_info(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.DiscovererStreamInfo;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_stream_list(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo[] StreamList { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_stream_list(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo[] ret = (Gst.PbUtils.DiscovererStreamInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PbUtils.DiscovererStreamInfo));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_streams(IntPtr raw, IntPtr streamtype);
+
+               public Gst.PbUtils.DiscovererStreamInfo[] GetStreams(GLib.GType streamtype) {
+                       IntPtr raw_ret = gst_discoverer_info_get_streams(Handle, streamtype.Val);
+                       Gst.PbUtils.DiscovererStreamInfo[] ret = (Gst.PbUtils.DiscovererStreamInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PbUtils.DiscovererStreamInfo));
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_subtitle_streams(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo[] SubtitleStreams { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_subtitle_streams(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo[] ret = (Gst.PbUtils.DiscovererStreamInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PbUtils.DiscovererStreamInfo));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_tags(IntPtr raw);
+
+               public Gst.TagList Tags { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_tags(Handle);
+                               Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_toc(IntPtr raw);
+
+               public Gst.Toc Toc { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_toc(Handle);
+                               Gst.Toc ret = Gst.Toc.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_uri(IntPtr raw);
+
+               public string Uri { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_uri(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_get_video_streams(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo[] VideoStreams { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_info_get_video_streams(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo[] ret = (Gst.PbUtils.DiscovererStreamInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PbUtils.DiscovererStreamInfo));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_info_to_variant(IntPtr raw, int flags);
+
+               public GLib.Variant ToVariant(Gst.PbUtils.DiscovererSerializeFlags flags) {
+                       IntPtr raw_ret = gst_discoverer_info_to_variant(Handle, (int) flags);
+                       GLib.Variant ret = new GLib.Variant(raw_ret);
+                       return ret;
+               }
+
+
+               static DiscovererInfo ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_DiscovererResult.cs b/sources/generated/Gst.PbUtils_DiscovererResult.cs
new file mode 100644 (file)
index 0000000..79d11bb
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PbUtils.DiscovererResultGType))]
+       public enum DiscovererResult {
+
+               Ok = 0,
+               UriInvalid = 1,
+               Error = 2,
+               Timeout = 3,
+               Busy = 4,
+               MissingPlugins = 5,
+       }
+
+       internal class DiscovererResultGType {
+               [DllImport ("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_result_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_discoverer_result_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.PbUtils_DiscovererSerializeFlags.cs b/sources/generated/Gst.PbUtils_DiscovererSerializeFlags.cs
new file mode 100644 (file)
index 0000000..d4f47e9
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.PbUtils.DiscovererSerializeFlagsGType))]
+       public enum DiscovererSerializeFlags {
+
+               Basic = 0,
+               Caps = 1,
+               Tags = 2,
+               Misc = 4,
+               All = 7,
+       }
+
+       internal class DiscovererSerializeFlagsGType {
+               [DllImport ("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_serialize_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_discoverer_serialize_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.PbUtils_DiscovererStreamInfo.cs b/sources/generated/Gst.PbUtils_DiscovererStreamInfo.cs
new file mode 100644 (file)
index 0000000..44708f7
--- /dev/null
@@ -0,0 +1,135 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DiscovererStreamInfo : GLib.Object {
+
+               public DiscovererStreamInfo (IntPtr raw) : base(raw) {}
+
+               protected DiscovererStreamInfo() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_discoverer_stream_info_list_free(IntPtr infos);
+
+               public static void ListFree(GLib.List infos) {
+                       gst_discoverer_stream_info_list_free(infos == null ? IntPtr.Zero : infos.Handle);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_caps(IntPtr raw);
+
+               public Gst.Caps Caps { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_misc(IntPtr raw);
+
+               [Obsolete]
+               public Gst.Structure Misc { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_misc(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_next(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo Next { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_next(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.DiscovererStreamInfo;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_previous(IntPtr raw);
+
+               public Gst.PbUtils.DiscovererStreamInfo Previous { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_previous(Handle);
+                               Gst.PbUtils.DiscovererStreamInfo ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.DiscovererStreamInfo;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_stream_id(IntPtr raw);
+
+               public string StreamId { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_stream_id(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_stream_type_nick(IntPtr raw);
+
+               public string StreamTypeNick { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_stream_type_nick(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_tags(IntPtr raw);
+
+               public Gst.TagList Tags { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_tags(Handle);
+                               Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_stream_info_get_toc(IntPtr raw);
+
+               public Gst.Toc Toc { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_stream_info_get_toc(Handle);
+                               Gst.Toc ret = Gst.Toc.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static DiscovererStreamInfo ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_DiscovererSubtitleInfo.cs b/sources/generated/Gst.PbUtils_DiscovererSubtitleInfo.cs
new file mode 100644 (file)
index 0000000..2eac4a2
--- /dev/null
@@ -0,0 +1,50 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DiscovererSubtitleInfo : Gst.PbUtils.DiscovererStreamInfo {
+
+               public DiscovererSubtitleInfo (IntPtr raw) : base(raw) {}
+
+               protected DiscovererSubtitleInfo() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_subtitle_info_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_subtitle_info_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_subtitle_info_get_language(IntPtr raw);
+
+               public string Language { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_subtitle_info_get_language(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static DiscovererSubtitleInfo ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_DiscovererVideoInfo.cs b/sources/generated/Gst.PbUtils_DiscovererVideoInfo.cs
new file mode 100644 (file)
index 0000000..7ad6240
--- /dev/null
@@ -0,0 +1,160 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DiscovererVideoInfo : Gst.PbUtils.DiscovererStreamInfo {
+
+               public DiscovererVideoInfo (IntPtr raw) : base(raw) {}
+
+               protected DiscovererVideoInfo() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_discoverer_video_info_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_discoverer_video_info_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_bitrate(IntPtr raw);
+
+               public uint Bitrate { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_bitrate(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_depth(IntPtr raw);
+
+               public uint Depth { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_depth(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_framerate_denom(IntPtr raw);
+
+               public uint FramerateDenom { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_framerate_denom(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_framerate_num(IntPtr raw);
+
+               public uint FramerateNum { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_framerate_num(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_height(IntPtr raw);
+
+               public uint Height { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_height(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_max_bitrate(IntPtr raw);
+
+               public uint MaxBitrate { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_max_bitrate(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_par_denom(IntPtr raw);
+
+               public uint ParDenom { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_par_denom(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_par_num(IntPtr raw);
+
+               public uint ParNum { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_par_num(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_discoverer_video_info_get_width(IntPtr raw);
+
+               public uint Width { 
+                       get {
+                               uint raw_ret = gst_discoverer_video_info_get_width(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_discoverer_video_info_is_image(IntPtr raw);
+
+               public bool IsImage { 
+                       get {
+                               bool raw_ret = gst_discoverer_video_info_is_image(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_discoverer_video_info_is_interlaced(IntPtr raw);
+
+               public bool IsInterlaced { 
+                       get {
+                               bool raw_ret = gst_discoverer_video_info_is_interlaced(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+
+               static DiscovererVideoInfo ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_EncodingAudioProfile.cs b/sources/generated/Gst.PbUtils_EncodingAudioProfile.cs
new file mode 100644 (file)
index 0000000..75b9cb3
--- /dev/null
@@ -0,0 +1,80 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class EncodingAudioProfile : Gst.PbUtils.EncodingProfile {
+
+               public EncodingAudioProfile (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_audio_profile_new(IntPtr format, IntPtr preset, IntPtr restriction, uint presence);
+
+               public EncodingAudioProfile (Gst.Caps format, string preset, Gst.Caps restriction, uint presence) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (EncodingAudioProfile)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_preset = GLib.Marshaller.StringToPtrGStrdup (preset);
+                       Raw = gst_encoding_audio_profile_new(format == null ? IntPtr.Zero : format.Handle, native_preset, restriction == null ? IntPtr.Zero : restriction.Handle, presence);
+                       GLib.Marshaller.Free (native_preset);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.PbUtils.EncodingProfile.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_audio_profile_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_audio_profile_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static EncodingAudioProfile ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.PbUtils.EncodingProfile.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_EncodingContainerProfile.cs b/sources/generated/Gst.PbUtils_EncodingContainerProfile.cs
new file mode 100644 (file)
index 0000000..9285135
--- /dev/null
@@ -0,0 +1,113 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class EncodingContainerProfile : Gst.PbUtils.EncodingProfile {
+
+               public EncodingContainerProfile (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_container_profile_new(IntPtr name, IntPtr description, IntPtr format, IntPtr preset);
+
+               public EncodingContainerProfile (string name, string description, Gst.Caps format, string preset) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (EncodingContainerProfile)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+                       IntPtr native_preset = GLib.Marshaller.StringToPtrGStrdup (preset);
+                       Raw = gst_encoding_container_profile_new(native_name, native_description, format == null ? IntPtr.Zero : format.Handle, native_preset);
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_description);
+                       GLib.Marshaller.Free (native_preset);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.PbUtils.EncodingProfile.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_container_profile_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_container_profile_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_encoding_container_profile_add_profile(IntPtr raw, IntPtr profile);
+
+               public bool AddProfile(Gst.PbUtils.EncodingProfile profile) {
+                       bool raw_ret = gst_encoding_container_profile_add_profile(Handle, profile == null ? IntPtr.Zero : profile.OwnedHandle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_encoding_container_profile_contains_profile(IntPtr raw, IntPtr profile);
+
+               public bool ContainsProfile(Gst.PbUtils.EncodingProfile profile) {
+                       bool raw_ret = gst_encoding_container_profile_contains_profile(Handle, profile == null ? IntPtr.Zero : profile.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_container_profile_get_profiles(IntPtr raw);
+
+               public Gst.PbUtils.EncodingProfile[] Profiles { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_container_profile_get_profiles(Handle);
+                               Gst.PbUtils.EncodingProfile[] ret = (Gst.PbUtils.EncodingProfile[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(Gst.PbUtils.EncodingProfile));
+                               return ret;
+                       }
+               }
+
+
+               static EncodingContainerProfile ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.PbUtils.EncodingProfile.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_EncodingProfile.cs b/sources/generated/Gst.PbUtils_EncodingProfile.cs
new file mode 100644 (file)
index 0000000..2b35254
--- /dev/null
@@ -0,0 +1,328 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class EncodingProfile : GLib.Object {
+
+               public EncodingProfile (IntPtr raw) : base(raw) {}
+
+               protected EncodingProfile() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("restriction-caps")]
+               public Gst.Caps RestrictionCaps {
+                       get {
+                               GLib.Value val = GetProperty ("restriction-caps");
+                               Gst.Caps ret = (Gst.Caps) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value, "GstCaps*");
+                               SetProperty("restriction-caps", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (GLib.Object.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_find(IntPtr targetname, IntPtr profilename, IntPtr category);
+
+               public static Gst.PbUtils.EncodingProfile Find(string targetname, string profilename, string category) {
+                       IntPtr native_targetname = GLib.Marshaller.StringToPtrGStrdup (targetname);
+                       IntPtr native_profilename = GLib.Marshaller.StringToPtrGStrdup (profilename);
+                       IntPtr native_category = GLib.Marshaller.StringToPtrGStrdup (category);
+                       IntPtr raw_ret = gst_encoding_profile_find(native_targetname, native_profilename, native_category);
+                       Gst.PbUtils.EncodingProfile ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.EncodingProfile;
+                       GLib.Marshaller.Free (native_targetname);
+                       GLib.Marshaller.Free (native_profilename);
+                       GLib.Marshaller.Free (native_category);
+                       return ret;
+               }
+
+               public static Gst.PbUtils.EncodingProfile Find(string targetname, string profilename) {
+                       return Find (targetname, profilename, null);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_from_discoverer(IntPtr info);
+
+               public static Gst.PbUtils.EncodingProfile FromDiscoverer(Gst.PbUtils.DiscovererInfo info) {
+                       IntPtr raw_ret = gst_encoding_profile_from_discoverer(info == null ? IntPtr.Zero : info.Handle);
+                       Gst.PbUtils.EncodingProfile ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.EncodingProfile;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_copy(IntPtr raw);
+
+               public Gst.PbUtils.EncodingProfile Copy() {
+                       IntPtr raw_ret = gst_encoding_profile_copy(Handle);
+                       Gst.PbUtils.EncodingProfile ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.EncodingProfile;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_encoding_profile_get_allow_dynamic_output(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_allow_dynamic_output(IntPtr raw, bool allow_dynamic_output);
+
+               public bool AllowDynamicOutput { 
+                       get {
+                               bool raw_ret = gst_encoding_profile_get_allow_dynamic_output(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_encoding_profile_set_allow_dynamic_output(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_description(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_description(IntPtr raw, IntPtr description);
+
+               public string Description { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_description(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_encoding_profile_set_description(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_file_extension(IntPtr raw);
+
+               public string FileExtension { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_file_extension(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_format(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_format(IntPtr raw, IntPtr format);
+
+               public Gst.Caps Format { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_format(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+                       set {
+                               gst_encoding_profile_set_format(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_input_caps(IntPtr raw);
+
+               public Gst.Caps InputCaps { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_input_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_name(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_name(IntPtr raw, IntPtr name);
+
+               public string Name { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_name(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_encoding_profile_set_name(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_encoding_profile_get_presence(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_presence(IntPtr raw, uint presence);
+
+               public uint Presence { 
+                       get {
+                               uint raw_ret = gst_encoding_profile_get_presence(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_encoding_profile_set_presence(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_preset(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_preset(IntPtr raw, IntPtr preset);
+
+               public string Preset { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_preset(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_encoding_profile_set_preset(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_preset_name(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_preset_name(IntPtr raw, IntPtr preset_name);
+
+               public string PresetName { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_preset_name(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_encoding_profile_set_preset_name(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_restriction(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_restriction(IntPtr raw, IntPtr restriction);
+
+               public Gst.Caps Restriction { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_restriction(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+                       set {
+                               value.Owned = false;
+                               gst_encoding_profile_set_restriction(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_profile_get_type_nick(IntPtr raw);
+
+               public string TypeNick { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_profile_get_type_nick(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_encoding_profile_is_enabled(IntPtr raw);
+
+               public bool IsEnabled { 
+                       get {
+                               bool raw_ret = gst_encoding_profile_is_enabled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_encoding_profile_is_equal(IntPtr raw, IntPtr b);
+
+               public bool IsEqual(Gst.PbUtils.EncodingProfile b) {
+                       bool raw_ret = gst_encoding_profile_is_equal(Handle, b == null ? IntPtr.Zero : b.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_profile_set_enabled(IntPtr raw, bool enabled);
+
+               public bool Enabled { 
+                       set {
+                               gst_encoding_profile_set_enabled(Handle, value);
+                       }
+               }
+
+
+               static EncodingProfile ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (GLib.Object.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_EncodingTarget.cs b/sources/generated/Gst.PbUtils_EncodingTarget.cs
new file mode 100644 (file)
index 0000000..88dcf1b
--- /dev/null
@@ -0,0 +1,174 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class EncodingTarget : GLib.Object {
+
+               public EncodingTarget (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_target_new(IntPtr name, IntPtr category, IntPtr description, IntPtr profiles);
+
+               public EncodingTarget (string name, string category, string description, GLib.List profiles) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (EncodingTarget)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_category = GLib.Marshaller.StringToPtrGStrdup (category);
+                       IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+                       Raw = gst_encoding_target_new(native_name, native_category, native_description, profiles == null ? IntPtr.Zero : profiles.Handle);
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_category);
+                       GLib.Marshaller.Free (native_description);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_target_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_target_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_encoding_target_load(IntPtr name, IntPtr category, out IntPtr error);
+
+               public static unsafe Gst.PbUtils.EncodingTarget Load(string name, string category) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_category = GLib.Marshaller.StringToPtrGStrdup (category);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_encoding_target_load(native_name, native_category, out error);
+                       Gst.PbUtils.EncodingTarget ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.EncodingTarget;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_category);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public static Gst.PbUtils.EncodingTarget Load(string name) {
+                       return Load (name, null);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_encoding_target_load_from_file(IntPtr filepath, out IntPtr error);
+
+               public static unsafe Gst.PbUtils.EncodingTarget LoadFromFile(string filepath) {
+                       IntPtr native_filepath = GLib.Marshaller.StringToPtrGStrdup (filepath);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_encoding_target_load_from_file(native_filepath, out error);
+                       Gst.PbUtils.EncodingTarget ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.EncodingTarget;
+                       GLib.Marshaller.Free (native_filepath);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_encoding_target_add_profile(IntPtr raw, IntPtr profile);
+
+               public bool AddProfile(Gst.PbUtils.EncodingProfile profile) {
+                       bool raw_ret = gst_encoding_target_add_profile(Handle, profile == null ? IntPtr.Zero : profile.OwnedHandle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_target_get_category(IntPtr raw);
+
+               public string Category { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_target_get_category(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_target_get_description(IntPtr raw);
+
+               public string Description { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_target_get_description(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_target_get_name(IntPtr raw);
+
+               public string Name { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_target_get_name(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_target_get_profile(IntPtr raw, IntPtr name);
+
+               public Gst.PbUtils.EncodingProfile GetProfile(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_encoding_target_get_profile(Handle, native_name);
+                       Gst.PbUtils.EncodingProfile ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.EncodingProfile;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_target_get_profiles(IntPtr raw);
+
+               public Gst.PbUtils.EncodingProfile[] Profiles { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_target_get_profiles(Handle);
+                               Gst.PbUtils.EncodingProfile[] ret = (Gst.PbUtils.EncodingProfile[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(Gst.PbUtils.EncodingProfile));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool gst_encoding_target_save(IntPtr raw, out IntPtr error);
+
+               public unsafe bool Save() {
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = gst_encoding_target_save(Handle, out error);
+                       bool ret = raw_ret;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe bool gst_encoding_target_save_to_file(IntPtr raw, IntPtr filepath, out IntPtr error);
+
+               public unsafe bool SaveToFile(string filepath) {
+                       IntPtr native_filepath = GLib.Marshaller.StringToPtrGStrdup (filepath);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = gst_encoding_target_save_to_file(Handle, native_filepath, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_filepath);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+
+               static EncodingTarget ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_EncodingVideoProfile.cs b/sources/generated/Gst.PbUtils_EncodingVideoProfile.cs
new file mode 100644 (file)
index 0000000..a137fa1
--- /dev/null
@@ -0,0 +1,114 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class EncodingVideoProfile : Gst.PbUtils.EncodingProfile {
+
+               public EncodingVideoProfile (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_video_profile_new(IntPtr format, IntPtr preset, IntPtr restriction, uint presence);
+
+               public EncodingVideoProfile (Gst.Caps format, string preset, Gst.Caps restriction, uint presence) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (EncodingVideoProfile)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_preset = GLib.Marshaller.StringToPtrGStrdup (preset);
+                       Raw = gst_encoding_video_profile_new(format == null ? IntPtr.Zero : format.Handle, native_preset, restriction == null ? IntPtr.Zero : restriction.Handle, presence);
+                       GLib.Marshaller.Free (native_preset);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.PbUtils.EncodingProfile.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_video_profile_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_encoding_video_profile_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_encoding_video_profile_get_pass(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_video_profile_set_pass(IntPtr raw, uint pass);
+
+               public uint Pass { 
+                       get {
+                               uint raw_ret = gst_encoding_video_profile_get_pass(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_encoding_video_profile_set_pass(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_encoding_video_profile_get_variableframerate(IntPtr raw);
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_encoding_video_profile_set_variableframerate(IntPtr raw, bool variableframerate);
+
+               public bool Variableframerate { 
+                       get {
+                               bool raw_ret = gst_encoding_video_profile_get_variableframerate(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_encoding_video_profile_set_variableframerate(Handle, value);
+                       }
+               }
+
+
+               static EncodingVideoProfile ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.PbUtils.EncodingProfile.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_Global.cs b/sources/generated/Gst.PbUtils_Global.cs
new file mode 100644 (file)
index 0000000..9a1df79
--- /dev/null
@@ -0,0 +1,558 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_codec_utils_aac_caps_set_level_and_profile(IntPtr caps, byte[] audio_config, uint len);
+
+               public static bool CodecUtilsAacCapsSetLevelAndProfile(Gst.Caps caps, byte[] audio_config, uint len) {
+                       bool raw_ret = gst_codec_utils_aac_caps_set_level_and_profile(caps == null ? IntPtr.Zero : caps.Handle, audio_config, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_codec_utils_aac_get_channels(byte[] audio_config, uint len);
+
+               public static uint CodecUtilsAacGetChannels(byte[] audio_config, uint len) {
+                       uint raw_ret = gst_codec_utils_aac_get_channels(audio_config, len);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_codec_utils_aac_get_index_from_sample_rate(uint rate);
+
+               public static int CodecUtilsAacGetIndexFromSampleRate(uint rate) {
+                       int raw_ret = gst_codec_utils_aac_get_index_from_sample_rate(rate);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_aac_get_level(byte[] audio_config, uint len);
+
+               public static string CodecUtilsAacGetLevel(byte[] audio_config, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_aac_get_level(audio_config, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_aac_get_profile(byte[] audio_config, uint len);
+
+               public static string CodecUtilsAacGetProfile(byte[] audio_config, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_aac_get_profile(audio_config, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_codec_utils_aac_get_sample_rate(byte[] audio_config, uint len);
+
+               public static uint CodecUtilsAacGetSampleRate(byte[] audio_config, uint len) {
+                       uint raw_ret = gst_codec_utils_aac_get_sample_rate(audio_config, len);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_codec_utils_aac_get_sample_rate_from_index(uint sr_idx);
+
+               public static uint CodecUtilsAacGetSampleRateFromIndex(uint sr_idx) {
+                       uint raw_ret = gst_codec_utils_aac_get_sample_rate_from_index(sr_idx);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_codec_utils_h264_caps_set_level_and_profile(IntPtr caps, byte[] sps, uint len);
+
+               public static bool CodecUtilsH264CapsSetLevelAndProfile(Gst.Caps caps, byte[] sps, uint len) {
+                       bool raw_ret = gst_codec_utils_h264_caps_set_level_and_profile(caps == null ? IntPtr.Zero : caps.Handle, sps, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_h264_get_level(byte[] sps, uint len);
+
+               public static string CodecUtilsH264GetLevel(byte[] sps, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_h264_get_level(sps, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_codec_utils_h264_get_level_idc(IntPtr level);
+
+               public static byte CodecUtilsH264GetLevelIdc(string level) {
+                       IntPtr native_level = GLib.Marshaller.StringToPtrGStrdup (level);
+                       byte raw_ret = gst_codec_utils_h264_get_level_idc(native_level);
+                       byte ret = raw_ret;
+                       GLib.Marshaller.Free (native_level);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_h264_get_profile(byte[] sps, uint len);
+
+               public static string CodecUtilsH264GetProfile(byte[] sps, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_h264_get_profile(sps, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_codec_utils_h265_caps_set_level_tier_and_profile(IntPtr caps, byte[] profile_tier_level, uint len);
+
+               public static bool CodecUtilsH265CapsSetLevelTierAndProfile(Gst.Caps caps, byte[] profile_tier_level, uint len) {
+                       bool raw_ret = gst_codec_utils_h265_caps_set_level_tier_and_profile(caps == null ? IntPtr.Zero : caps.Handle, profile_tier_level, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_h265_get_level(byte[] profile_tier_level, uint len);
+
+               public static string CodecUtilsH265GetLevel(byte[] profile_tier_level, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_h265_get_level(profile_tier_level, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_codec_utils_h265_get_level_idc(IntPtr level);
+
+               public static byte CodecUtilsH265GetLevelIdc(string level) {
+                       IntPtr native_level = GLib.Marshaller.StringToPtrGStrdup (level);
+                       byte raw_ret = gst_codec_utils_h265_get_level_idc(native_level);
+                       byte ret = raw_ret;
+                       GLib.Marshaller.Free (native_level);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_h265_get_profile(byte[] profile_tier_level, uint len);
+
+               public static string CodecUtilsH265GetProfile(byte[] profile_tier_level, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_h265_get_profile(profile_tier_level, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_h265_get_tier(byte[] profile_tier_level, uint len);
+
+               public static string CodecUtilsH265GetTier(byte[] profile_tier_level, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_h265_get_tier(profile_tier_level, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_codec_utils_mpeg4video_caps_set_level_and_profile(IntPtr caps, byte[] vis_obj_seq, uint len);
+
+               public static bool CodecUtilsMpeg4videoCapsSetLevelAndProfile(Gst.Caps caps, byte[] vis_obj_seq, uint len) {
+                       bool raw_ret = gst_codec_utils_mpeg4video_caps_set_level_and_profile(caps == null ? IntPtr.Zero : caps.Handle, vis_obj_seq, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_mpeg4video_get_level(byte[] vis_obj_seq, uint len);
+
+               public static string CodecUtilsMpeg4videoGetLevel(byte[] vis_obj_seq, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_mpeg4video_get_level(vis_obj_seq, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_mpeg4video_get_profile(byte[] vis_obj_seq, uint len);
+
+               public static string CodecUtilsMpeg4videoGetProfile(byte[] vis_obj_seq, uint len) {
+                       IntPtr raw_ret = gst_codec_utils_mpeg4video_get_profile(vis_obj_seq, len);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_opus_create_caps(uint rate, byte channels, byte channel_mapping_family, byte stream_count, byte coupled_count, byte[] channel_mapping);
+
+               public static Gst.Caps CodecUtilsOpusCreateCaps(uint rate, byte channels, byte channel_mapping_family, byte stream_count, byte coupled_count, byte[] channel_mapping) {
+                       IntPtr raw_ret = gst_codec_utils_opus_create_caps(rate, channels, channel_mapping_family, stream_count, coupled_count, channel_mapping);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public static Gst.Caps CodecUtilsOpusCreateCaps(uint rate, byte channels, byte channel_mapping_family, byte stream_count, byte coupled_count) {
+                       return CodecUtilsOpusCreateCaps (rate, channels, channel_mapping_family, stream_count, coupled_count, null);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_opus_create_caps_from_header(IntPtr header, IntPtr comments);
+
+               public static Gst.Caps CodecUtilsOpusCreateCapsFromHeader(Gst.Buffer header, Gst.Buffer comments) {
+                       IntPtr raw_ret = gst_codec_utils_opus_create_caps_from_header(header == null ? IntPtr.Zero : header.Handle, comments == null ? IntPtr.Zero : comments.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public static Gst.Caps CodecUtilsOpusCreateCapsFromHeader(Gst.Buffer header) {
+                       return CodecUtilsOpusCreateCapsFromHeader (header, null);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_codec_utils_opus_create_header(uint rate, byte channels, byte channel_mapping_family, byte stream_count, byte coupled_count, byte[] channel_mapping, ushort pre_skip, short output_gain);
+
+               public static Gst.Buffer CodecUtilsOpusCreateHeader(uint rate, byte channels, byte channel_mapping_family, byte stream_count, byte coupled_count, byte[] channel_mapping, ushort pre_skip, short output_gain) {
+                       IntPtr raw_ret = gst_codec_utils_opus_create_header(rate, channels, channel_mapping_family, stream_count, coupled_count, channel_mapping, pre_skip, output_gain);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               public static Gst.Buffer CodecUtilsOpusCreateHeader(uint rate, byte channels, byte channel_mapping_family, byte stream_count, byte coupled_count, ushort pre_skip, short output_gain) {
+                       return CodecUtilsOpusCreateHeader (rate, channels, channel_mapping_family, stream_count, coupled_count, null, pre_skip, output_gain);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_list_all_targets(IntPtr categoryname);
+
+               public static Gst.PbUtils.EncodingTarget[] EncodingListAllTargets(string categoryname) {
+                       IntPtr native_categoryname = GLib.Marshaller.StringToPtrGStrdup (categoryname);
+                       IntPtr raw_ret = gst_encoding_list_all_targets(native_categoryname);
+                       Gst.PbUtils.EncodingTarget[] ret = (Gst.PbUtils.EncodingTarget[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PbUtils.EncodingTarget));
+                       GLib.Marshaller.Free (native_categoryname);
+                       return ret;
+               }
+
+               public static Gst.PbUtils.EncodingTarget[] EncodingListAllTargets() {
+                       return EncodingListAllTargets (null);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_encoding_list_available_categories();
+
+               public static string[] EncodingListAvailableCategories() {
+                       IntPtr raw_ret = gst_encoding_list_available_categories();
+                       string[] ret = (string[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(string));
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_install_plugins_async(IntPtr[] details, IntPtr ctx, Gst.PbUtilsSharp.InstallPluginsResultFuncNative func, IntPtr user_data);
+
+               public static Gst.PbUtils.InstallPluginsReturn InstallPluginsAsync(string[] details, Gst.PbUtils.InstallPluginsContext ctx, Gst.PbUtils.InstallPluginsResultFunc func) {
+                       int cnt_details = details == null ? 0 : details.Length;
+                       IntPtr[] native_details = new IntPtr [cnt_details + 1];
+                       for (int i = 0; i < cnt_details; i++)
+                               native_details [i] = GLib.Marshaller.StringToPtrGStrdup (details[i]);
+                       native_details [cnt_details] = IntPtr.Zero;
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       Gst.PbUtilsSharp.InstallPluginsResultFuncWrapper func_wrapper = new Gst.PbUtilsSharp.InstallPluginsResultFuncWrapper (func);
+                       func_wrapper.PersistUntilCalled ();
+                       int raw_ret = gst_install_plugins_async(native_details, native_ctx, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       Gst.PbUtils.InstallPluginsReturn ret = (Gst.PbUtils.InstallPluginsReturn) raw_ret;
+                       for (int i = 0; i < native_details.Length - 1; i++) {
+                               details [i] = GLib.Marshaller.Utf8PtrToString (native_details[i]);
+                               GLib.Marshaller.Free (native_details[i]);
+                       }
+                       Marshal.FreeHGlobal (native_ctx);
+                       return ret;
+               }
+
+               public static Gst.PbUtils.InstallPluginsReturn InstallPluginsAsync(string[] details, Gst.PbUtils.InstallPluginsResultFunc func) {
+                       return InstallPluginsAsync (details, Gst.PbUtils.InstallPluginsContext.Zero, func);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_install_plugins_installation_in_progress();
+
+               public static bool InstallPluginsInstallationInProgress() {
+                       bool raw_ret = gst_install_plugins_installation_in_progress();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_install_plugins_return_get_name(int _ret);
+
+               public static string InstallPluginsReturnGetName(Gst.PbUtils.InstallPluginsReturn _ret) {
+                       IntPtr raw_ret = gst_install_plugins_return_get_name((int) _ret);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_install_plugins_supported();
+
+               public static bool InstallPluginsSupported() {
+                       bool raw_ret = gst_install_plugins_supported();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_install_plugins_sync(IntPtr[] details, IntPtr ctx);
+
+               public static Gst.PbUtils.InstallPluginsReturn InstallPluginsSync(string[] details, Gst.PbUtils.InstallPluginsContext ctx) {
+                       int cnt_details = details == null ? 0 : details.Length;
+                       IntPtr[] native_details = new IntPtr [cnt_details + 1];
+                       for (int i = 0; i < cnt_details; i++)
+                               native_details [i] = GLib.Marshaller.StringToPtrGStrdup (details[i]);
+                       native_details [cnt_details] = IntPtr.Zero;
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int raw_ret = gst_install_plugins_sync(native_details, native_ctx);
+                       Gst.PbUtils.InstallPluginsReturn ret = (Gst.PbUtils.InstallPluginsReturn) raw_ret;
+                       for (int i = 0; i < native_details.Length - 1; i++) {
+                               details [i] = GLib.Marshaller.Utf8PtrToString (native_details[i]);
+                               GLib.Marshaller.Free (native_details[i]);
+                       }
+                       Marshal.FreeHGlobal (native_ctx);
+                       return ret;
+               }
+
+               public static Gst.PbUtils.InstallPluginsReturn InstallPluginsSync(string[] details) {
+                       return InstallPluginsSync (details, Gst.PbUtils.InstallPluginsContext.Zero);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_is_missing_plugin_message(IntPtr msg);
+
+               public static bool IsMissingPluginMessage(Gst.Message msg) {
+                       bool raw_ret = gst_is_missing_plugin_message(msg == null ? IntPtr.Zero : msg.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_decoder_installer_detail_new(IntPtr decode_caps);
+
+               public static string MissingDecoderInstallerDetailNew(Gst.Caps decode_caps) {
+                       IntPtr raw_ret = gst_missing_decoder_installer_detail_new(decode_caps == null ? IntPtr.Zero : decode_caps.Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_decoder_message_new(IntPtr element, IntPtr decode_caps);
+
+               public static Gst.Message MissingDecoderMessageNew(Gst.Element element, Gst.Caps decode_caps) {
+                       IntPtr raw_ret = gst_missing_decoder_message_new(element == null ? IntPtr.Zero : element.Handle, decode_caps == null ? IntPtr.Zero : decode_caps.Handle);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_element_installer_detail_new(IntPtr factory_name);
+
+               public static string MissingElementInstallerDetailNew(string factory_name) {
+                       IntPtr native_factory_name = GLib.Marshaller.StringToPtrGStrdup (factory_name);
+                       IntPtr raw_ret = gst_missing_element_installer_detail_new(native_factory_name);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_factory_name);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_element_message_new(IntPtr element, IntPtr factory_name);
+
+               public static Gst.Message MissingElementMessageNew(Gst.Element element, string factory_name) {
+                       IntPtr native_factory_name = GLib.Marshaller.StringToPtrGStrdup (factory_name);
+                       IntPtr raw_ret = gst_missing_element_message_new(element == null ? IntPtr.Zero : element.Handle, native_factory_name);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       GLib.Marshaller.Free (native_factory_name);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_encoder_installer_detail_new(IntPtr encode_caps);
+
+               public static string MissingEncoderInstallerDetailNew(Gst.Caps encode_caps) {
+                       IntPtr raw_ret = gst_missing_encoder_installer_detail_new(encode_caps == null ? IntPtr.Zero : encode_caps.Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_encoder_message_new(IntPtr element, IntPtr encode_caps);
+
+               public static Gst.Message MissingEncoderMessageNew(Gst.Element element, Gst.Caps encode_caps) {
+                       IntPtr raw_ret = gst_missing_encoder_message_new(element == null ? IntPtr.Zero : element.Handle, encode_caps == null ? IntPtr.Zero : encode_caps.Handle);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_plugin_message_get_description(IntPtr msg);
+
+               public static string MissingPluginMessageGetDescription(Gst.Message msg) {
+                       IntPtr raw_ret = gst_missing_plugin_message_get_description(msg == null ? IntPtr.Zero : msg.Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_plugin_message_get_installer_detail(IntPtr msg);
+
+               public static string MissingPluginMessageGetInstallerDetail(Gst.Message msg) {
+                       IntPtr raw_ret = gst_missing_plugin_message_get_installer_detail(msg == null ? IntPtr.Zero : msg.Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_uri_sink_installer_detail_new(IntPtr protocol);
+
+               public static string MissingUriSinkInstallerDetailNew(string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       IntPtr raw_ret = gst_missing_uri_sink_installer_detail_new(native_protocol);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_uri_sink_message_new(IntPtr element, IntPtr protocol);
+
+               public static Gst.Message MissingUriSinkMessageNew(Gst.Element element, string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       IntPtr raw_ret = gst_missing_uri_sink_message_new(element == null ? IntPtr.Zero : element.Handle, native_protocol);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_uri_source_installer_detail_new(IntPtr protocol);
+
+               public static string MissingUriSourceInstallerDetailNew(string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       IntPtr raw_ret = gst_missing_uri_source_installer_detail_new(native_protocol);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_missing_uri_source_message_new(IntPtr element, IntPtr protocol);
+
+               public static Gst.Message MissingUriSourceMessageNew(Gst.Element element, string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       IntPtr raw_ret = gst_missing_uri_source_message_new(element == null ? IntPtr.Zero : element.Handle, native_protocol);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pb_utils_add_codec_description_to_tag_list(IntPtr taglist, IntPtr codec_tag, IntPtr caps);
+
+               public static bool PbUtilsAddCodecDescriptionToTagList(Gst.TagList taglist, string codec_tag, Gst.Caps caps) {
+                       IntPtr native_codec_tag = GLib.Marshaller.StringToPtrGStrdup (codec_tag);
+                       bool raw_ret = gst_pb_utils_add_codec_description_to_tag_list(taglist == null ? IntPtr.Zero : taglist.Handle, native_codec_tag, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_codec_tag);
+                       return ret;
+               }
+
+               public static bool PbUtilsAddCodecDescriptionToTagList(Gst.TagList taglist, Gst.Caps caps) {
+                       return PbUtilsAddCodecDescriptionToTagList (taglist, null, caps);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pb_utils_get_codec_description(IntPtr caps);
+
+               public static string PbUtilsGetCodecDescription(Gst.Caps caps) {
+                       IntPtr raw_ret = gst_pb_utils_get_codec_description(caps == null ? IntPtr.Zero : caps.Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pb_utils_get_decoder_description(IntPtr caps);
+
+               public static string PbUtilsGetDecoderDescription(Gst.Caps caps) {
+                       IntPtr raw_ret = gst_pb_utils_get_decoder_description(caps == null ? IntPtr.Zero : caps.Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pb_utils_get_element_description(IntPtr factory_name);
+
+               public static string PbUtilsGetElementDescription(string factory_name) {
+                       IntPtr native_factory_name = GLib.Marshaller.StringToPtrGStrdup (factory_name);
+                       IntPtr raw_ret = gst_pb_utils_get_element_description(native_factory_name);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_factory_name);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pb_utils_get_encoder_description(IntPtr caps);
+
+               public static string PbUtilsGetEncoderDescription(Gst.Caps caps) {
+                       IntPtr raw_ret = gst_pb_utils_get_encoder_description(caps == null ? IntPtr.Zero : caps.Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pb_utils_get_sink_description(IntPtr protocol);
+
+               public static string PbUtilsGetSinkDescription(string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       IntPtr raw_ret = gst_pb_utils_get_sink_description(native_protocol);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pb_utils_get_source_description(IntPtr protocol);
+
+               public static string PbUtilsGetSourceDescription(string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       IntPtr raw_ret = gst_pb_utils_get_source_description(native_protocol);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pb_utils_init();
+
+               public static void PbUtilsInit() {
+                       gst_pb_utils_init();
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_plugins_base_version(out uint major, out uint minor, out uint micro, out uint nano);
+
+               public static void PluginsBaseVersion(out uint major, out uint minor, out uint micro, out uint nano) {
+                       gst_plugins_base_version(out major, out minor, out micro, out nano);
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugins_base_version_string();
+
+               public static string PluginsBaseVersionString() {
+                       IntPtr raw_ret = gst_plugins_base_version_string();
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_Gst.PbUtilsSharp.AudioVisualizerShaderFuncNative.cs b/sources/generated/Gst.PbUtils_Gst.PbUtilsSharp.AudioVisualizerShaderFuncNative.cs
new file mode 100644 (file)
index 0000000..64d319e
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtilsSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void AudioVisualizerShaderFuncNative(IntPtr scope, IntPtr s, IntPtr d);
+
+       internal class AudioVisualizerShaderFuncInvoker {
+
+               AudioVisualizerShaderFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~AudioVisualizerShaderFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal AudioVisualizerShaderFuncInvoker (AudioVisualizerShaderFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal AudioVisualizerShaderFuncInvoker (AudioVisualizerShaderFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal AudioVisualizerShaderFuncInvoker (AudioVisualizerShaderFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PbUtils.AudioVisualizerShaderFunc Handler {
+                       get {
+                               return new Gst.PbUtils.AudioVisualizerShaderFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.PbUtils.AudioVisualizer scope, Gst.Video.VideoFrame s, Gst.Video.VideoFrame d)
+               {
+                       IntPtr native_s = GLib.Marshaller.StructureToPtrAlloc (s);
+                       IntPtr native_d = GLib.Marshaller.StructureToPtrAlloc (d);
+                       native_cb (scope == null ? IntPtr.Zero : scope.Handle, native_s, native_d);
+                       Marshal.FreeHGlobal (native_s);
+                       Marshal.FreeHGlobal (native_d);
+               }
+       }
+
+       internal class AudioVisualizerShaderFuncWrapper {
+
+               public void NativeCallback (IntPtr scope, IntPtr s, IntPtr d)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(scope) as Gst.PbUtils.AudioVisualizer, Gst.Video.VideoFrame.New (s), Gst.Video.VideoFrame.New (d));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal AudioVisualizerShaderFuncNative NativeDelegate;
+               Gst.PbUtils.AudioVisualizerShaderFunc managed;
+
+               public AudioVisualizerShaderFuncWrapper (Gst.PbUtils.AudioVisualizerShaderFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new AudioVisualizerShaderFuncNative (NativeCallback);
+               }
+
+               public static Gst.PbUtils.AudioVisualizerShaderFunc GetManagedDelegate (AudioVisualizerShaderFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       AudioVisualizerShaderFuncWrapper wrapper = (AudioVisualizerShaderFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.PbUtils_Gst.PbUtilsSharp.InstallPluginsResultFuncNative.cs b/sources/generated/Gst.PbUtils_Gst.PbUtilsSharp.InstallPluginsResultFuncNative.cs
new file mode 100644 (file)
index 0000000..f46eaeb
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtilsSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void InstallPluginsResultFuncNative(int _result, IntPtr user_data);
+
+       internal class InstallPluginsResultFuncInvoker {
+
+               InstallPluginsResultFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~InstallPluginsResultFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal InstallPluginsResultFuncInvoker (InstallPluginsResultFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal InstallPluginsResultFuncInvoker (InstallPluginsResultFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal InstallPluginsResultFuncInvoker (InstallPluginsResultFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PbUtils.InstallPluginsResultFunc Handler {
+                       get {
+                               return new Gst.PbUtils.InstallPluginsResultFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.PbUtils.InstallPluginsReturn _result)
+               {
+                       native_cb ((int) _result, __data);
+               }
+       }
+
+       internal class InstallPluginsResultFuncWrapper {
+
+               public void NativeCallback (int _result, IntPtr user_data)
+               {
+                       try {
+                               managed ((Gst.PbUtils.InstallPluginsReturn) _result);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal InstallPluginsResultFuncNative NativeDelegate;
+               Gst.PbUtils.InstallPluginsResultFunc managed;
+
+               public InstallPluginsResultFuncWrapper (Gst.PbUtils.InstallPluginsResultFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new InstallPluginsResultFuncNative (NativeCallback);
+               }
+
+               public static Gst.PbUtils.InstallPluginsResultFunc GetManagedDelegate (InstallPluginsResultFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       InstallPluginsResultFuncWrapper wrapper = (InstallPluginsResultFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.PbUtils_InstallPluginsContext.cs b/sources/generated/Gst.PbUtils_InstallPluginsContext.cs
new file mode 100644 (file)
index 0000000..99b98ab
--- /dev/null
@@ -0,0 +1,134 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct InstallPluginsContext : IEquatable<InstallPluginsContext> {
+
+
+               public static Gst.PbUtils.InstallPluginsContext Zero = new Gst.PbUtils.InstallPluginsContext ();
+
+               public static Gst.PbUtils.InstallPluginsContext New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.PbUtils.InstallPluginsContext.Zero;
+                       return (Gst.PbUtils.InstallPluginsContext) Marshal.PtrToStructure (raw, typeof (Gst.PbUtils.InstallPluginsContext));
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_install_plugins_context_new();
+
+               public static InstallPluginsContext New()
+               {
+                       InstallPluginsContext result = InstallPluginsContext.New (gst_install_plugins_context_new());
+                       return result;
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_install_plugins_context_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_install_plugins_context_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_install_plugins_context_set_confirm_search(IntPtr raw, bool confirm_search);
+
+               public bool ConfirmSearch { 
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_install_plugins_context_set_confirm_search(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_install_plugins_context_set_desktop_id(IntPtr raw, IntPtr desktop_id);
+
+               public string DesktopId { 
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_install_plugins_context_set_desktop_id(this_as_native, native_value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_install_plugins_context_set_startup_notification_id(IntPtr raw, IntPtr startup_id);
+
+               public string StartupNotificationId { 
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_install_plugins_context_set_startup_notification_id(this_as_native, native_value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_install_plugins_context_set_xid(IntPtr raw, uint xid);
+
+               public uint Xid { 
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_install_plugins_context_set_xid(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.PbUtils.InstallPluginsContext target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (InstallPluginsContext other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is InstallPluginsContext && Equals ((InstallPluginsContext) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.PbUtils.InstallPluginsContext boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.PbUtils.InstallPluginsContext.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.PbUtils.InstallPluginsContext (GLib.Value val)
+               {
+                       return (Gst.PbUtils.InstallPluginsContext) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.PbUtils_InstallPluginsResultFunc.cs b/sources/generated/Gst.PbUtils_InstallPluginsResultFunc.cs
new file mode 100644 (file)
index 0000000..1a798b7
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+
+       public delegate void InstallPluginsResultFunc(Gst.PbUtils.InstallPluginsReturn _result);
+
+}
diff --git a/sources/generated/Gst.PbUtils_InstallPluginsReturn.cs b/sources/generated/Gst.PbUtils_InstallPluginsReturn.cs
new file mode 100644 (file)
index 0000000..dfbbe63
--- /dev/null
@@ -0,0 +1,37 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PbUtils.InstallPluginsReturnGType))]
+       public enum InstallPluginsReturn {
+
+               Success = 0,
+               NotFound = 1,
+               Error = 2,
+               PartialSuccess = 3,
+               UserAbort = 4,
+               Crashed = 100,
+               Invalid = 101,
+               StartedOk = 200,
+               InternalFailure = 201,
+               HelperMissing = 202,
+               InstallInProgress = 203,
+       }
+
+       internal class InstallPluginsReturnGType {
+               [DllImport ("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_install_plugins_return_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_install_plugins_return_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.PbUtils_SourceSetupHandler.cs b/sources/generated/Gst.PbUtils_SourceSetupHandler.cs
new file mode 100644 (file)
index 0000000..26f666a
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.PbUtils {
+
+       using System;
+
+       public delegate void SourceSetupHandler(object o, SourceSetupArgs args);
+
+       public class SourceSetupArgs : GLib.SignalArgs {
+               public Gst.Element Source{
+                       get {
+                               return (Gst.Element) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.Rtp_Constants.cs b/sources/generated/Gst.Rtp_Constants.cs
new file mode 100644 (file)
index 0000000..5907290
--- /dev/null
@@ -0,0 +1,65 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const int RTCP_MAX_BYE_SSRC_COUNT = 31;
+               public const int RTCP_MAX_RB_COUNT = 31;
+               public const int RTCP_MAX_SDES = 255;
+               public const int RTCP_MAX_SDES_ITEM_COUNT = 31;
+               public const int RTCP_REDUCED_SIZE_VALID_MASK = 57592;
+               public const int RTCP_VALID_MASK = 57598;
+               public const int RTCP_VALID_VALUE = 0;
+               public const int RTCP_VERSION = 2;
+               public const string RTP_HDREXT_BASE = @"urn:ietf:params:rtp-hdrext:";
+               public const string RTP_HDREXT_NTP_56 = @"ntp-56";
+               public const int RTP_HDREXT_NTP_56_SIZE = 7;
+               public const string RTP_HDREXT_NTP_64 = @"ntp-64";
+               public const int RTP_HDREXT_NTP_64_SIZE = 8;
+               public const string RTP_PAYLOAD_1016_STRING = @"1";
+               public const string RTP_PAYLOAD_CELLB_STRING = @"25";
+               public const string RTP_PAYLOAD_CN_STRING = @"13";
+               public const string RTP_PAYLOAD_DVI4_11025_STRING = @"16";
+               public const string RTP_PAYLOAD_DVI4_16000_STRING = @"6";
+               public const string RTP_PAYLOAD_DVI4_22050_STRING = @"17";
+               public const string RTP_PAYLOAD_DVI4_8000_STRING = @"5";
+               public const string RTP_PAYLOAD_DYNAMIC_STRING = @"[96, 127]";
+               public const string RTP_PAYLOAD_G721_STRING = @"2";
+               public const string RTP_PAYLOAD_G722_STRING = @"9";
+               public const int RTP_PAYLOAD_G723_53 = 17;
+               public const string RTP_PAYLOAD_G723_53_STRING = @"17";
+               public const int RTP_PAYLOAD_G723_63 = 16;
+               public const string RTP_PAYLOAD_G723_63_STRING = @"16";
+               public const string RTP_PAYLOAD_G723_STRING = @"4";
+               public const string RTP_PAYLOAD_G728_STRING = @"15";
+               public const string RTP_PAYLOAD_G729_STRING = @"18";
+               public const string RTP_PAYLOAD_GSM_STRING = @"3";
+               public const string RTP_PAYLOAD_H261_STRING = @"31";
+               public const string RTP_PAYLOAD_H263_STRING = @"34";
+               public const string RTP_PAYLOAD_JPEG_STRING = @"26";
+               public const string RTP_PAYLOAD_L16_MONO_STRING = @"11";
+               public const string RTP_PAYLOAD_L16_STEREO_STRING = @"10";
+               public const string RTP_PAYLOAD_LPC_STRING = @"7";
+               public const string RTP_PAYLOAD_MP2T_STRING = @"33";
+               public const string RTP_PAYLOAD_MPA_STRING = @"14";
+               public const string RTP_PAYLOAD_MPV_STRING = @"32";
+               public const string RTP_PAYLOAD_NV_STRING = @"28";
+               public const string RTP_PAYLOAD_PCMA_STRING = @"8";
+               public const string RTP_PAYLOAD_PCMU_STRING = @"0";
+               public const string RTP_PAYLOAD_QCELP_STRING = @"12";
+               public const int RTP_PAYLOAD_TS41 = 19;
+               public const string RTP_PAYLOAD_TS41_STRING = @"19";
+               public const int RTP_PAYLOAD_TS48 = 18;
+               public const string RTP_PAYLOAD_TS48_STRING = @"18";
+               public const int RTP_VERSION = 2;
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_Global.cs b/sources/generated/Gst.Rtp_Global.cs
new file mode 100644 (file)
index 0000000..4bb5465
--- /dev/null
@@ -0,0 +1,295 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_map(IntPtr buffer, int flags, IntPtr rtcp);
+
+               public static bool RtcpBufferMap(Gst.Buffer buffer, Gst.MapFlags flags, Gst.Rtp.RTCPBuffer rtcp) {
+                       IntPtr native_rtcp = GLib.Marshaller.StructureToPtrAlloc (rtcp);
+                       bool raw_ret = gst_rtcp_buffer_map(buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags, native_rtcp);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_rtcp);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_buffer_new(uint mtu);
+
+               public static Gst.Buffer RtcpBufferNew(uint mtu) {
+                       IntPtr raw_ret = gst_rtcp_buffer_new(mtu);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_buffer_new_copy_data(byte[] data, uint n_length);
+
+               public static Gst.Buffer RtcpBufferNewCopyData(byte[] data) {
+                       IntPtr raw_ret = gst_rtcp_buffer_new_copy_data(data, (uint) (data == null ? 0 : data.Length));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_buffer_new_take_data(byte[] data, uint n_length);
+
+               public static Gst.Buffer RtcpBufferNewTakeData(byte[] data) {
+                       IntPtr raw_ret = gst_rtcp_buffer_new_take_data(data, (uint) (data == null ? 0 : data.Length));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_validate(IntPtr buffer);
+
+               public static bool RtcpBufferValidate(Gst.Buffer buffer) {
+                       bool raw_ret = gst_rtcp_buffer_validate(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_validate_data(byte[] data, uint len);
+
+               public static bool RtcpBufferValidateData(byte[] data, uint len) {
+                       bool raw_ret = gst_rtcp_buffer_validate_data(data, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_validate_data_reduced(byte[] data, uint len);
+
+               public static bool RtcpBufferValidateDataReduced(byte[] data, uint len) {
+                       bool raw_ret = gst_rtcp_buffer_validate_data_reduced(data, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_validate_reduced(IntPtr buffer);
+
+               public static bool RtcpBufferValidateReduced(Gst.Buffer buffer) {
+                       bool raw_ret = gst_rtcp_buffer_validate_reduced(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtcp_ntp_to_unix(ulong ntptime);
+
+               public static ulong RtcpNtpToUnix(ulong ntptime) {
+                       ulong raw_ret = gst_rtcp_ntp_to_unix(ntptime);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtcp_sdes_name_to_type(IntPtr name);
+
+               public static Gst.Rtp.RTCPSDESType RtcpSdesNameToType(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       int raw_ret = gst_rtcp_sdes_name_to_type(native_name);
+                       Gst.Rtp.RTCPSDESType ret = (Gst.Rtp.RTCPSDESType) raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_sdes_type_to_name(int type);
+
+               public static string RtcpSdesTypeToName(Gst.Rtp.RTCPSDESType type) {
+                       IntPtr raw_ret = gst_rtcp_sdes_type_to_name((int) type);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtcp_unix_to_ntp(ulong unixtime);
+
+               public static ulong RtcpUnixToNtp(ulong unixtime) {
+                       ulong raw_ret = gst_rtcp_unix_to_ntp(unixtime);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_allocate_data(IntPtr buffer, uint payload_len, byte pad_len, byte csrc_count);
+
+               public static void RtpBufferAllocateData(Gst.Buffer buffer, uint payload_len, byte pad_len, byte csrc_count) {
+                       gst_rtp_buffer_allocate_data(buffer == null ? IntPtr.Zero : buffer.Handle, payload_len, pad_len, csrc_count);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_calc_header_len(byte csrc_count);
+
+               public static uint RtpBufferCalcHeaderLen(byte csrc_count) {
+                       uint raw_ret = gst_rtp_buffer_calc_header_len(csrc_count);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_calc_packet_len(uint payload_len, byte pad_len, byte csrc_count);
+
+               public static uint RtpBufferCalcPacketLen(uint payload_len, byte pad_len, byte csrc_count) {
+                       uint raw_ret = gst_rtp_buffer_calc_packet_len(payload_len, pad_len, csrc_count);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_calc_payload_len(uint packet_len, byte pad_len, byte csrc_count);
+
+               public static uint RtpBufferCalcPayloadLen(uint packet_len, byte pad_len, byte csrc_count) {
+                       uint raw_ret = gst_rtp_buffer_calc_payload_len(packet_len, pad_len, csrc_count);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtp_buffer_compare_seqnum(ushort seqnum1, ushort seqnum2);
+
+               public static int RtpBufferCompareSeqnum(ushort seqnum1, ushort seqnum2) {
+                       int raw_ret = gst_rtp_buffer_compare_seqnum(seqnum1, seqnum2);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_default_clock_rate(byte payload_type);
+
+               public static uint RtpBufferDefaultClockRate(byte payload_type) {
+                       uint raw_ret = gst_rtp_buffer_default_clock_rate(payload_type);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtp_buffer_ext_timestamp(ulong exttimestamp, uint timestamp);
+
+               public static ulong RtpBufferExtTimestamp(ulong exttimestamp, uint timestamp) {
+                       ulong raw_ret = gst_rtp_buffer_ext_timestamp(exttimestamp, timestamp);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_buffer_map(IntPtr buffer, int flags, IntPtr rtp);
+
+               public static bool RtpBufferMap(Gst.Buffer buffer, Gst.MapFlags flags, out Gst.Rtp.RTPBuffer rtp) {
+                       IntPtr native_rtp = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtp.RTPBuffer)));
+                       bool raw_ret = gst_rtp_buffer_map(buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags, native_rtp);
+                       bool ret = raw_ret;
+                       rtp = Gst.Rtp.RTPBuffer.New (native_rtp);
+                       Marshal.FreeHGlobal (native_rtp);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_new_allocate(uint payload_len, byte pad_len, byte csrc_count);
+
+               public static Gst.Buffer RtpBufferNewAllocate(uint payload_len, byte pad_len, byte csrc_count) {
+                       IntPtr raw_ret = gst_rtp_buffer_new_allocate(payload_len, pad_len, csrc_count);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_new_allocate_len(uint packet_len, byte pad_len, byte csrc_count);
+
+               public static Gst.Buffer RtpBufferNewAllocateLen(uint packet_len, byte pad_len, byte csrc_count) {
+                       IntPtr raw_ret = gst_rtp_buffer_new_allocate_len(packet_len, pad_len, csrc_count);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_new_copy_data(byte[] data, UIntPtr n_length);
+
+               public static Gst.Buffer RtpBufferNewCopyData(byte[] data) {
+                       IntPtr raw_ret = gst_rtp_buffer_new_copy_data(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_new_take_data(byte[] data, UIntPtr n_length);
+
+               public static Gst.Buffer RtpBufferNewTakeData(byte[] data) {
+                       IntPtr raw_ret = gst_rtp_buffer_new_take_data(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_hdrext_get_ntp_56(IntPtr data, uint size, ulong ntptime);
+
+               public static bool RtpHdrextGetNtp56(IntPtr data, uint size, ulong ntptime) {
+                       bool raw_ret = gst_rtp_hdrext_get_ntp_56(data, size, ntptime);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_hdrext_get_ntp_64(IntPtr data, uint size, ulong ntptime);
+
+               public static bool RtpHdrextGetNtp64(IntPtr data, uint size, ulong ntptime) {
+                       bool raw_ret = gst_rtp_hdrext_get_ntp_64(data, size, ntptime);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_hdrext_set_ntp_56(IntPtr data, uint size, ulong ntptime);
+
+               public static bool RtpHdrextSetNtp56(IntPtr data, uint size, ulong ntptime) {
+                       bool raw_ret = gst_rtp_hdrext_set_ntp_56(data, size, ntptime);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_hdrext_set_ntp_64(IntPtr data, uint size, ulong ntptime);
+
+               public static bool RtpHdrextSetNtp64(IntPtr data, uint size, ulong ntptime) {
+                       bool raw_ret = gst_rtp_hdrext_set_ntp_64(data, size, ntptime);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_payload_info_for_name(IntPtr media, IntPtr encoding_name);
+
+               public static Gst.Rtp.RTPPayloadInfo RtpPayloadInfoForName(string media, string encoding_name) {
+                       IntPtr native_media = GLib.Marshaller.StringToPtrGStrdup (media);
+                       IntPtr native_encoding_name = GLib.Marshaller.StringToPtrGStrdup (encoding_name);
+                       IntPtr raw_ret = gst_rtp_payload_info_for_name(native_media, native_encoding_name);
+                       Gst.Rtp.RTPPayloadInfo ret = Gst.Rtp.RTPPayloadInfo.New (raw_ret);
+                       GLib.Marshaller.Free (native_media);
+                       GLib.Marshaller.Free (native_encoding_name);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_payload_info_for_pt(byte payload_type);
+
+               public static Gst.Rtp.RTPPayloadInfo RtpPayloadInfoForPt(byte payload_type) {
+                       IntPtr raw_ret = gst_rtp_payload_info_for_pt(payload_type);
+                       Gst.Rtp.RTPPayloadInfo ret = Gst.Rtp.RTPPayloadInfo.New (raw_ret);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_RTCPBuffer.cs b/sources/generated/Gst.Rtp_RTCPBuffer.cs
new file mode 100644 (file)
index 0000000..87ef106
--- /dev/null
@@ -0,0 +1,191 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTCPBuffer : IEquatable<RTCPBuffer> {
+
+               private IntPtr _buffer;
+               public Gst.Buffer Buffer {
+                       get {
+                               return _buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public Gst.MapInfo MapInfo;
+
+               public static Gst.Rtp.RTCPBuffer Zero = new Gst.Rtp.RTCPBuffer ();
+
+               public static Gst.Rtp.RTCPBuffer New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtp.RTCPBuffer.Zero;
+                       return (Gst.Rtp.RTCPBuffer) Marshal.PtrToStructure (raw, typeof (Gst.Rtp.RTCPBuffer));
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_add_packet(IntPtr raw, int type, IntPtr packet);
+
+               public bool AddPacket(Gst.Rtp.RTCPType type, Gst.Rtp.RTCPPacket packet) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_packet = GLib.Marshaller.StructureToPtrAlloc (packet);
+                       bool raw_ret = gst_rtcp_buffer_add_packet(this_as_native, (int) type, native_packet);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_packet);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_get_first_packet(IntPtr raw, IntPtr packet);
+
+               public bool GetFirstPacket(Gst.Rtp.RTCPPacket packet) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_packet = GLib.Marshaller.StructureToPtrAlloc (packet);
+                       bool raw_ret = gst_rtcp_buffer_get_first_packet(this_as_native, native_packet);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_packet);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_buffer_get_packet_count(IntPtr raw);
+
+               public uint PacketCount { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_rtcp_buffer_get_packet_count(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_unmap(IntPtr raw);
+
+               public bool Unmap() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_buffer_unmap(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_map(IntPtr buffer, int flags, IntPtr rtcp);
+
+               public static bool Map(Gst.Buffer buffer, Gst.MapFlags flags, Gst.Rtp.RTCPBuffer rtcp) {
+                       IntPtr native_rtcp = GLib.Marshaller.StructureToPtrAlloc (rtcp);
+                       bool raw_ret = gst_rtcp_buffer_map(buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags, native_rtcp);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_rtcp);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_buffer_new(uint mtu);
+
+               public static Gst.Buffer New(uint mtu) {
+                       IntPtr raw_ret = gst_rtcp_buffer_new(mtu);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_buffer_new_copy_data(byte[] data, uint n_length);
+
+               public static Gst.Buffer NewCopyData(byte[] data) {
+                       IntPtr raw_ret = gst_rtcp_buffer_new_copy_data(data, (uint) (data == null ? 0 : data.Length));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_buffer_new_take_data(byte[] data, uint n_length);
+
+               public static Gst.Buffer NewTakeData(byte[] data) {
+                       IntPtr raw_ret = gst_rtcp_buffer_new_take_data(data, (uint) (data == null ? 0 : data.Length));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_validate(IntPtr buffer);
+
+               public static bool Validate(Gst.Buffer buffer) {
+                       bool raw_ret = gst_rtcp_buffer_validate(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_validate_data(byte[] data, uint len);
+
+               public static bool ValidateData(byte[] data, uint len) {
+                       bool raw_ret = gst_rtcp_buffer_validate_data(data, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_validate_data_reduced(byte[] data, uint len);
+
+               public static bool ValidateDataReduced(byte[] data, uint len) {
+                       bool raw_ret = gst_rtcp_buffer_validate_data_reduced(data, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_buffer_validate_reduced(IntPtr buffer);
+
+               public static bool ValidateReduced(Gst.Buffer buffer) {
+                       bool raw_ret = gst_rtcp_buffer_validate_reduced(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Rtp.RTCPBuffer target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (RTCPBuffer other)
+               {
+                       return true && Buffer.Equals (other.Buffer) && MapInfo.Equals (other.MapInfo);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTCPBuffer && Equals ((RTCPBuffer) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Buffer.GetHashCode () ^ MapInfo.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_RTCPFBType.cs b/sources/generated/Gst.Rtp_RTCPFBType.cs
new file mode 100644 (file)
index 0000000..8d80fd6
--- /dev/null
@@ -0,0 +1,39 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtp.RTCPFBTypeGType))]
+       public enum RTCPFBType {
+
+               FbTypeInvalid = 0,
+               RtpfbTypeNack = 1,
+               PsfbTypePli = 1,
+               PsfbTypeSli = 2,
+               RtpfbTypeTmmbr = 3,
+               PsfbTypeRpsi = 3,
+               RtpfbTypeTmmbn = 4,
+               PsfbTypeFir = 4,
+               RtpfbTypeRtcpSrReq = 5,
+               PsfbTypeTstr = 5,
+               PsfbTypeTstn = 6,
+               PsfbTypeVbcn = 7,
+               PsfbTypeAfb = 15,
+       }
+
+       internal class RTCPFBTypeGType {
+               [DllImport ("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcpfb_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtcpfb_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtp_RTCPPacket.cs b/sources/generated/Gst.Rtp_RTCPPacket.cs
new file mode 100644 (file)
index 0000000..4b0218d
--- /dev/null
@@ -0,0 +1,671 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTCPPacket : IEquatable<RTCPPacket> {
+
+               private IntPtr _rtcp;
+
+               public Gst.Rtp.RTCPBuffer rtcp {
+                       get { return Gst.Rtp.RTCPBuffer.New (_rtcp); }
+               }
+               public uint Offset;
+               private bool padding;
+               private byte count;
+               private Gst.Rtp.RTCPType type;
+               private ushort length;
+               private uint item_offset;
+               private uint item_count;
+               private uint entry_offset;
+
+               public static Gst.Rtp.RTCPPacket Zero = new Gst.Rtp.RTCPPacket ();
+
+               public static Gst.Rtp.RTCPPacket New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtp.RTCPPacket.Zero;
+                       return (Gst.Rtp.RTCPPacket) Marshal.PtrToStructure (raw, typeof (Gst.Rtp.RTCPPacket));
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_add_profile_specific_ext(IntPtr raw, byte data, uint len);
+
+               public bool AddProfileSpecificExt(byte data, uint len) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_add_profile_specific_ext(this_as_native, data, len);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_add_rb(IntPtr raw, uint ssrc, byte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr);
+
+               public bool AddRb(uint ssrc, byte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_add_rb(this_as_native, ssrc, fractionlost, packetslost, exthighestseq, jitter, lsr, dlsr);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_rtcp_packet_app_get_data(IntPtr raw);
+
+               public byte AppGetData() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       byte raw_ret = gst_rtcp_packet_app_get_data(this_as_native);
+                       byte ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ushort gst_rtcp_packet_app_get_data_length(IntPtr raw);
+
+               public ushort AppGetDataLength() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ushort raw_ret = gst_rtcp_packet_app_get_data_length(this_as_native);
+                       ushort ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_packet_app_get_name(IntPtr raw);
+
+               public string AppGetName() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_rtcp_packet_app_get_name(this_as_native);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_app_get_ssrc(IntPtr raw);
+
+               public uint AppGetSsrc() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtcp_packet_app_get_ssrc(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_rtcp_packet_app_get_subtype(IntPtr raw);
+
+               public byte AppGetSubtype() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       byte raw_ret = gst_rtcp_packet_app_get_subtype(this_as_native);
+                       byte ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_app_set_data_length(IntPtr raw, ushort wordlen);
+
+               public bool AppSetDataLength(ushort wordlen) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_app_set_data_length(this_as_native, wordlen);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_app_set_name(IntPtr raw, IntPtr name);
+
+               public void AppSetName(string name) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_rtcp_packet_app_set_name(this_as_native, native_name);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_app_set_ssrc(IntPtr raw, uint ssrc);
+
+               public void AppSetSsrc(uint ssrc) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_app_set_ssrc(this_as_native, ssrc);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_app_set_subtype(IntPtr raw, byte subtype);
+
+               public void AppSetSubtype(byte subtype) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_app_set_subtype(this_as_native, subtype);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_bye_add_ssrc(IntPtr raw, uint ssrc);
+
+               public bool ByeAddSsrc(uint ssrc) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_bye_add_ssrc(this_as_native, ssrc);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_bye_add_ssrcs(IntPtr raw, uint ssrc, uint len);
+
+               public bool ByeAddSsrcs(uint ssrc, uint len) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_bye_add_ssrcs(this_as_native, ssrc, len);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_bye_get_nth_ssrc(IntPtr raw, uint nth);
+
+               public uint ByeGetNthSsrc(uint nth) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtcp_packet_bye_get_nth_ssrc(this_as_native, nth);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_packet_bye_get_reason(IntPtr raw);
+
+               public string ByeGetReason() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_rtcp_packet_bye_get_reason(this_as_native);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_rtcp_packet_bye_get_reason_len(IntPtr raw);
+
+               public byte ByeGetReasonLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       byte raw_ret = gst_rtcp_packet_bye_get_reason_len(this_as_native);
+                       byte ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_bye_get_ssrc_count(IntPtr raw);
+
+               public uint ByeGetSsrcCount() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtcp_packet_bye_get_ssrc_count(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_bye_set_reason(IntPtr raw, IntPtr reason);
+
+               public bool ByeSetReason(string reason) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_reason = GLib.Marshaller.StringToPtrGStrdup (reason);
+                       bool raw_ret = gst_rtcp_packet_bye_set_reason(this_as_native, native_reason);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_reason);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_copy_profile_specific_ext(IntPtr raw, out byte data, out uint len);
+
+               public bool CopyProfileSpecificExt(out byte data, out uint len) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_copy_profile_specific_ext(this_as_native, out data, out len);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_rtcp_packet_fb_get_fci(IntPtr raw);
+
+               public byte FbGetFci() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       byte raw_ret = gst_rtcp_packet_fb_get_fci(this_as_native);
+                       byte ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ushort gst_rtcp_packet_fb_get_fci_length(IntPtr raw);
+
+               public ushort FbGetFciLength() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ushort raw_ret = gst_rtcp_packet_fb_get_fci_length(this_as_native);
+                       ushort ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_fb_get_media_ssrc(IntPtr raw);
+
+               public uint FbGetMediaSsrc() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtcp_packet_fb_get_media_ssrc(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_fb_get_sender_ssrc(IntPtr raw);
+
+               public uint FbGetSenderSsrc() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtcp_packet_fb_get_sender_ssrc(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtcp_packet_fb_get_type(IntPtr raw);
+
+               public Gst.Rtp.RTCPFBType FbGetType() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtcp_packet_fb_get_type(this_as_native);
+                       Gst.Rtp.RTCPFBType ret = (Gst.Rtp.RTCPFBType) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_fb_set_fci_length(IntPtr raw, ushort wordlen);
+
+               public bool FbSetFciLength(ushort wordlen) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_fb_set_fci_length(this_as_native, wordlen);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_fb_set_media_ssrc(IntPtr raw, uint ssrc);
+
+               public void FbSetMediaSsrc(uint ssrc) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_fb_set_media_ssrc(this_as_native, ssrc);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_fb_set_sender_ssrc(IntPtr raw, uint ssrc);
+
+               public void FbSetSenderSsrc(uint ssrc) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_fb_set_sender_ssrc(this_as_native, ssrc);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_fb_set_type(IntPtr raw, int type);
+
+               public void FbSetType(Gst.Rtp.RTCPFBType type) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_fb_set_type(this_as_native, (int) type);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_get_profile_specific_ext(IntPtr raw, out byte data, out uint len);
+
+               public bool GetProfileSpecificExt(out byte data, out uint len) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_get_profile_specific_ext(this_as_native, out data, out len);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ushort gst_rtcp_packet_get_profile_specific_ext_length(IntPtr raw);
+
+               public ushort ProfileSpecificExtLength { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               ushort raw_ret = gst_rtcp_packet_get_profile_specific_ext_length(this_as_native);
+                               ushort ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_get_rb(IntPtr raw, uint nth, uint ssrc, byte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr);
+
+               public void GetRb(uint nth, uint ssrc, byte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_get_rb(this_as_native, nth, ssrc, fractionlost, packetslost, exthighestseq, jitter, lsr, dlsr);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_get_rb_count(IntPtr raw);
+
+               public uint RbCount { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_rtcp_packet_get_rb_count(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtcp_packet_get_type(IntPtr raw);
+
+               public Gst.Rtp.RTCPType GType { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               int raw_ret = gst_rtcp_packet_get_type(this_as_native);
+                               Gst.Rtp.RTCPType ret = (Gst.Rtp.RTCPType) raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_move_to_next(IntPtr raw);
+
+               public bool MoveToNext() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_move_to_next(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_remove(IntPtr raw);
+
+               public bool Remove() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_remove(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_rr_get_ssrc(IntPtr raw);
+
+               public uint RrGetSsrc() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtcp_packet_rr_get_ssrc(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_rr_set_ssrc(IntPtr raw, uint ssrc);
+
+               public void RrSetSsrc(uint ssrc) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_rr_set_ssrc(this_as_native, ssrc);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_sdes_add_entry(IntPtr raw, int type, byte len, byte[] data);
+
+               public bool SdesAddEntry(Gst.Rtp.RTCPSDESType type, byte len, byte[] data) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_sdes_add_entry(this_as_native, (int) type, len, data);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_sdes_add_item(IntPtr raw, uint ssrc);
+
+               public bool SdesAddItem(uint ssrc) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_sdes_add_item(this_as_native, ssrc);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_sdes_first_entry(IntPtr raw);
+
+               public bool SdesFirstEntry() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_sdes_first_entry(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_sdes_first_item(IntPtr raw);
+
+               public bool SdesFirstItem() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_sdes_first_item(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_sdes_get_item_count(IntPtr raw);
+
+               public uint SdesGetItemCount() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtcp_packet_sdes_get_item_count(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtcp_packet_sdes_get_ssrc(IntPtr raw);
+
+               public uint SdesGetSsrc() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtcp_packet_sdes_get_ssrc(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_sdes_next_entry(IntPtr raw);
+
+               public bool SdesNextEntry() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_sdes_next_entry(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtcp_packet_sdes_next_item(IntPtr raw);
+
+               public bool SdesNextItem() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtcp_packet_sdes_next_item(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_set_rb(IntPtr raw, uint nth, uint ssrc, byte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr);
+
+               public void SetRb(uint nth, uint ssrc, byte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_set_rb(this_as_native, nth, ssrc, fractionlost, packetslost, exthighestseq, jitter, lsr, dlsr);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_sr_get_sender_info(IntPtr raw, uint ssrc, ulong ntptime, uint rtptime, uint packet_count, uint octet_count);
+
+               public void SrGetSenderInfo(uint ssrc, ulong ntptime, uint rtptime, uint packet_count, uint octet_count) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_sr_get_sender_info(this_as_native, ssrc, ntptime, rtptime, packet_count, octet_count);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtcp_packet_sr_set_sender_info(IntPtr raw, uint ssrc, ulong ntptime, uint rtptime, uint packet_count, uint octet_count);
+
+               public void SrSetSenderInfo(uint ssrc, ulong ntptime, uint rtptime, uint packet_count, uint octet_count) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtcp_packet_sr_set_sender_info(this_as_native, ssrc, ntptime, rtptime, packet_count, octet_count);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Rtp.RTCPPacket target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (RTCPPacket other)
+               {
+                       return true && rtcp.Equals (other.rtcp) && Offset.Equals (other.Offset) && count.Equals (other.count) && type.Equals (other.type) && length.Equals (other.length) && item_offset.Equals (other.item_offset) && item_count.Equals (other.item_count) && entry_offset.Equals (other.entry_offset);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTCPPacket && Equals ((RTCPPacket) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ rtcp.GetHashCode () ^ Offset.GetHashCode () ^ count.GetHashCode () ^ type.GetHashCode () ^ length.GetHashCode () ^ item_offset.GetHashCode () ^ item_count.GetHashCode () ^ entry_offset.GetHashCode ();
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_RTCPSDESType.cs b/sources/generated/Gst.Rtp_RTCPSDESType.cs
new file mode 100644 (file)
index 0000000..04e010f
--- /dev/null
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtp.RTCPSDESTypeGType))]
+       public enum RTCPSDESType {
+
+               Invalid = -1,
+               End = 0,
+               Cname = 1,
+               Name = 2,
+               Email = 3,
+               Phone = 4,
+               Loc = 5,
+               Tool = 6,
+               Note = 7,
+               Priv = 8,
+       }
+
+       internal class RTCPSDESTypeGType {
+               [DllImport ("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcpsdes_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtcpsdes_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtp_RTCPType.cs b/sources/generated/Gst.Rtp_RTCPType.cs
new file mode 100644 (file)
index 0000000..7ce6201
--- /dev/null
@@ -0,0 +1,35 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtp.RTCPTypeGType))]
+       public enum RTCPType {
+
+               Invalid = 0,
+               Sr = 200,
+               Rr = 201,
+               Sdes = 202,
+               Bye = 203,
+               App = 204,
+               Rtpfb = 205,
+               Psfb = 206,
+               Xr = 207,
+       }
+
+       internal class RTCPTypeGType {
+               [DllImport ("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtcp_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtcp_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtp_RTPBaseAudioPayload.cs b/sources/generated/Gst.Rtp_RTPBaseAudioPayload.cs
new file mode 100644 (file)
index 0000000..678e418
--- /dev/null
@@ -0,0 +1,274 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTPBaseAudioPayload : Gst.Rtp.RTPBasePayload {
+
+               public RTPBaseAudioPayload (IntPtr raw) : base(raw) {}
+
+               protected RTPBaseAudioPayload() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("buffer-list")]
+               public bool BufferList {
+                       get {
+                               GLib.Value val = GetProperty ("buffer-list");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("buffer-list", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public ulong BaseTs {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("base_ts"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int FrameSize {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("frame_size"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int FrameDuration {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("frame_duration"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int SampleSize {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("sample_size"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Rtp.RTPBasePayload.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_base_audio_payload_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtp_base_audio_payload_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtp_base_audio_payload_flush(IntPtr raw, uint payload_len, ulong timestamp);
+
+               public Gst.FlowReturn Flush(uint payload_len, ulong timestamp) {
+                       int raw_ret = gst_rtp_base_audio_payload_flush(Handle, payload_len, timestamp);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_base_audio_payload_get_adapter(IntPtr raw);
+
+               public Gst.Base.Adapter Adapter { 
+                       get {
+                               IntPtr raw_ret = gst_rtp_base_audio_payload_get_adapter(Handle);
+                               Gst.Base.Adapter ret = GLib.Object.GetObject(raw_ret, true) as Gst.Base.Adapter;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtp_base_audio_payload_push(IntPtr raw, byte data, uint payload_len, ulong timestamp);
+
+               public Gst.FlowReturn Push(byte data, uint payload_len, ulong timestamp) {
+                       int raw_ret = gst_rtp_base_audio_payload_push(Handle, data, payload_len, timestamp);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_base_audio_payload_set_frame_based(IntPtr raw);
+
+               public void SetFrameBased() {
+                       gst_rtp_base_audio_payload_set_frame_based(Handle);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_base_audio_payload_set_frame_options(IntPtr raw, int frame_duration, int frame_size);
+
+               public void SetFrameOptions(int frame_duration, int frame_size) {
+                       gst_rtp_base_audio_payload_set_frame_options(Handle, frame_duration, frame_size);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_base_audio_payload_set_sample_based(IntPtr raw);
+
+               public void SetSampleBased() {
+                       gst_rtp_base_audio_payload_set_sample_based(Handle);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_base_audio_payload_set_sample_options(IntPtr raw, int sample_size);
+
+               public int SampleOptions { 
+                       set {
+                               gst_rtp_base_audio_payload_set_sample_options(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_base_audio_payload_set_samplebits_options(IntPtr raw, int sample_size);
+
+               public int SamplebitsOptions { 
+                       set {
+                               gst_rtp_base_audio_payload_set_samplebits_options(Handle, value);
+                       }
+               }
+
+
+               static RTPBaseAudioPayload ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Rtp.RTPBasePayload.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "base_ts"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("base_ts"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // base_ts
+                                                       , "priv"
+                                                       , "frame_size"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBaseAudioPayload_base_tsAlign), "base_ts")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("frame_size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // frame_size
+                                                       , "base_ts"
+                                                       , "frame_duration"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBaseAudioPayload_frame_sizeAlign), "frame_size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("frame_duration"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // frame_duration
+                                                       , "frame_size"
+                                                       , "sample_size"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBaseAudioPayload_frame_durationAlign), "frame_duration")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sample_size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // sample_size
+                                                       , "frame_duration"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBaseAudioPayload_sample_sizeAlign), "sample_size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "sample_size"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBaseAudioPayload_base_tsAlign
+               {
+                       sbyte f1;
+                       private ulong base_ts;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBaseAudioPayload_frame_sizeAlign
+               {
+                       sbyte f1;
+                       private int frame_size;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBaseAudioPayload_frame_durationAlign
+               {
+                       sbyte f1;
+                       private int frame_duration;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBaseAudioPayload_sample_sizeAlign
+               {
+                       sbyte f1;
+                       private int sample_size;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_RTPBaseDepayload.cs b/sources/generated/Gst.Rtp_RTPBaseDepayload.cs
new file mode 100644 (file)
index 0000000..ee2113c
--- /dev/null
@@ -0,0 +1,561 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTPBaseDepayload : Gst.Element {
+
+               protected RTPBaseDepayload (IntPtr raw) : base(raw) {}
+
+               protected RTPBaseDepayload() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("stats")]
+               public Gst.Structure Stats {
+                       get {
+                               GLib.Value val = GetProperty ("stats");
+                               Gst.Structure ret = (Gst.Structure) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               public Gst.Pad Sinkpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sinkpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public Gst.Pad Srcpad {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("srcpad"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Pad;
+                               }
+                       }
+               }
+
+               public uint ClockRate {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("clock_rate"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Segment Segment {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment"));
+                                       return Gst.Segment.New ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public bool NeedNewsegment {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("need_newsegment"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               static SetCapsNativeDelegate SetCaps_cb_delegate;
+               static SetCapsNativeDelegate SetCapsVMCallback {
+                       get {
+                               if (SetCaps_cb_delegate == null)
+                                       SetCaps_cb_delegate = new SetCapsNativeDelegate (SetCaps_cb);
+                               return SetCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype)
+               {
+                       OverrideSetCaps (gtype, SetCapsVMCallback);
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype, SetCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetCapsNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static bool SetCaps_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               RTPBaseDepayload __obj = GLib.Object.GetObject (inst, false) as RTPBaseDepayload;
+                               bool __result;
+                               __result = __obj.OnSetCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBaseDepayload), ConnectionMethod="OverrideSetCaps")]
+               protected virtual bool OnSetCaps (Gst.Caps caps)
+               {
+                       return InternalSetCaps (caps);
+               }
+
+               private bool InternalSetCaps (Gst.Caps caps)
+               {
+                       SetCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               unmanaged = (SetCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result;
+               }
+
+               static ProcessNativeDelegate Process_cb_delegate;
+               static ProcessNativeDelegate ProcessVMCallback {
+                       get {
+                               if (Process_cb_delegate == null)
+                                       Process_cb_delegate = new ProcessNativeDelegate (Process_cb);
+                               return Process_cb_delegate;
+                       }
+               }
+
+               static void OverrideProcess (GLib.GType gtype)
+               {
+                       OverrideProcess (gtype, ProcessVMCallback);
+               }
+
+               static void OverrideProcess (GLib.GType gtype, ProcessNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("process"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr ProcessNativeDelegate (IntPtr inst, IntPtr in_param);
+
+               static IntPtr Process_cb (IntPtr inst, IntPtr in_param)
+               {
+                       try {
+                               RTPBaseDepayload __obj = GLib.Object.GetObject (inst, false) as RTPBaseDepayload;
+                               Gst.Buffer __result;
+                               __result = __obj.OnProcess (in_param == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (in_param, typeof (Gst.Buffer), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBaseDepayload), ConnectionMethod="OverrideProcess")]
+               protected virtual Gst.Buffer OnProcess (Gst.Buffer in_param)
+               {
+                       return InternalProcess (in_param);
+               }
+
+               private Gst.Buffer InternalProcess (Gst.Buffer in_param)
+               {
+                       ProcessNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("process"));
+                               unmanaged = (ProcessNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProcessNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, in_param == null ? IntPtr.Zero : in_param.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (__result, typeof (Gst.Buffer), true);
+               }
+
+               static PacketLostNativeDelegate PacketLost_cb_delegate;
+               static PacketLostNativeDelegate PacketLostVMCallback {
+                       get {
+                               if (PacketLost_cb_delegate == null)
+                                       PacketLost_cb_delegate = new PacketLostNativeDelegate (PacketLost_cb);
+                               return PacketLost_cb_delegate;
+                       }
+               }
+
+               static void OverridePacketLost (GLib.GType gtype)
+               {
+                       OverridePacketLost (gtype, PacketLostVMCallback);
+               }
+
+               static void OverridePacketLost (GLib.GType gtype, PacketLostNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("packet_lost"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool PacketLostNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool PacketLost_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               RTPBaseDepayload __obj = GLib.Object.GetObject (inst, false) as RTPBaseDepayload;
+                               bool __result;
+                               __result = __obj.OnPacketLost (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBaseDepayload), ConnectionMethod="OverridePacketLost")]
+               protected virtual bool OnPacketLost (Gst.Event evnt)
+               {
+                       return InternalPacketLost (evnt);
+               }
+
+               private bool InternalPacketLost (Gst.Event evnt)
+               {
+                       PacketLostNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("packet_lost"));
+                               unmanaged = (PacketLostNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PacketLostNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static HandleEventNativeDelegate HandleEvent_cb_delegate;
+               static HandleEventNativeDelegate HandleEventVMCallback {
+                       get {
+                               if (HandleEvent_cb_delegate == null)
+                                       HandleEvent_cb_delegate = new HandleEventNativeDelegate (HandleEvent_cb);
+                               return HandleEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleEvent (GLib.GType gtype)
+               {
+                       OverrideHandleEvent (gtype, HandleEventVMCallback);
+               }
+
+               static void OverrideHandleEvent (GLib.GType gtype, HandleEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool HandleEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool HandleEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               RTPBaseDepayload __obj = GLib.Object.GetObject (inst, false) as RTPBaseDepayload;
+                               bool __result;
+                               __result = __obj.OnHandleEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBaseDepayload), ConnectionMethod="OverrideHandleEvent")]
+               protected virtual bool OnHandleEvent (Gst.Event evnt)
+               {
+                       return InternalHandleEvent (evnt);
+               }
+
+               private bool InternalHandleEvent (Gst.Event evnt)
+               {
+                       HandleEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_event"));
+                               unmanaged = (HandleEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static ProcessRtpPacketNativeDelegate ProcessRtpPacket_cb_delegate;
+               static ProcessRtpPacketNativeDelegate ProcessRtpPacketVMCallback {
+                       get {
+                               if (ProcessRtpPacket_cb_delegate == null)
+                                       ProcessRtpPacket_cb_delegate = new ProcessRtpPacketNativeDelegate (ProcessRtpPacket_cb);
+                               return ProcessRtpPacket_cb_delegate;
+                       }
+               }
+
+               static void OverrideProcessRtpPacket (GLib.GType gtype)
+               {
+                       OverrideProcessRtpPacket (gtype, ProcessRtpPacketVMCallback);
+               }
+
+               static void OverrideProcessRtpPacket (GLib.GType gtype, ProcessRtpPacketNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("process_rtp_packet"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr ProcessRtpPacketNativeDelegate (IntPtr inst, IntPtr rtp_buffer);
+
+               static IntPtr ProcessRtpPacket_cb (IntPtr inst, IntPtr rtp_buffer)
+               {
+                       try {
+                               RTPBaseDepayload __obj = GLib.Object.GetObject (inst, false) as RTPBaseDepayload;
+                               Gst.Buffer __result;
+                               __result = __obj.OnProcessRtpPacket (Gst.Rtp.RTPBuffer.New (rtp_buffer));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBaseDepayload), ConnectionMethod="OverrideProcessRtpPacket")]
+               protected virtual Gst.Buffer OnProcessRtpPacket (Gst.Rtp.RTPBuffer rtp_buffer)
+               {
+                       return InternalProcessRtpPacket (rtp_buffer);
+               }
+
+               private Gst.Buffer InternalProcessRtpPacket (Gst.Rtp.RTPBuffer rtp_buffer)
+               {
+                       ProcessRtpPacketNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("process_rtp_packet"));
+                               unmanaged = (ProcessRtpPacketNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProcessRtpPacketNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_rtp_buffer = GLib.Marshaller.StructureToPtrAlloc (rtp_buffer);
+                       IntPtr __result = unmanaged (this.Handle, native_rtp_buffer);
+                       Marshal.FreeHGlobal (native_rtp_buffer);
+                       return __result == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (__result, typeof (Gst.Buffer), true);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("set_caps"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_caps
+                                                       , null
+                                                       , "process"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("process"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // process
+                                                       , "set_caps"
+                                                       , "packet_lost"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("packet_lost"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // packet_lost
+                                                       , "process"
+                                                       , "handle_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_event
+                                                       , "packet_lost"
+                                                       , "process_rtp_packet"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("process_rtp_packet"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // process_rtp_packet
+                                                       , "handle_event"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _gst_reserved
+                                                       , "process_rtp_packet"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_base_depayload_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtp_base_depayload_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtp_base_depayload_push(IntPtr raw, IntPtr out_buf);
+
+               public Gst.FlowReturn Push(Gst.Buffer out_buf) {
+                       int raw_ret = gst_rtp_base_depayload_push(Handle, out_buf == null ? IntPtr.Zero : out_buf.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtp_base_depayload_push_list(IntPtr raw, IntPtr out_list);
+
+               public Gst.FlowReturn PushList(Gst.BufferList out_list) {
+                       int raw_ret = gst_rtp_base_depayload_push_list(Handle, out_list == null ? IntPtr.Zero : out_list.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+
+               static RTPBaseDepayload ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "srcpad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , "sinkpad"
+                                                       , "clock_rate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock_rate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // clock_rate
+                                                       , "srcpad"
+                                                       , "segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBaseDepayload_clock_rateAlign), "clock_rate")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment
+                                                       , "clock_rate"
+                                                       , "need_newsegment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBaseDepayload_segmentAlign), "segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("need_newsegment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // need_newsegment
+                                                       , "segment"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBaseDepayload_need_newsegmentAlign), "need_newsegment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "need_newsegment"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBaseDepayload_clock_rateAlign
+               {
+                       sbyte f1;
+                       private uint clock_rate;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBaseDepayload_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBaseDepayload_need_newsegmentAlign
+               {
+                       sbyte f1;
+                       private bool need_newsegment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_RTPBasePayload.cs b/sources/generated/Gst.Rtp_RTPBasePayload.cs
new file mode 100644 (file)
index 0000000..088b5d7
--- /dev/null
@@ -0,0 +1,981 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTPBasePayload : Gst.Element {
+
+               protected RTPBasePayload (IntPtr raw) : base(raw) {}
+
+               protected RTPBasePayload() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("max-ptime")]
+               public long MaxPtime {
+                       get {
+                               GLib.Value val = GetProperty ("max-ptime");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("max-ptime", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("min-ptime")]
+               public long MinPtime {
+                       get {
+                               GLib.Value val = GetProperty ("min-ptime");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("min-ptime", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("mtu")]
+               public uint Mtu {
+                       get {
+                               GLib.Value val = GetProperty ("mtu");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("mtu", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("perfect-rtptime")]
+               public bool PerfectRtptime {
+                       get {
+                               GLib.Value val = GetProperty ("perfect-rtptime");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("perfect-rtptime", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("pt")]
+               public uint Pt {
+                       get {
+                               GLib.Value val = GetProperty ("pt");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("pt", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("ptime-multiple")]
+               public long PtimeMultiple {
+                       get {
+                               GLib.Value val = GetProperty ("ptime-multiple");
+                               long ret = (long) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("ptime-multiple", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("seqnum")]
+               public uint Seqnum {
+                       get {
+                               GLib.Value val = GetProperty ("seqnum");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("seqnum-offset")]
+               public int SeqnumOffset {
+                       get {
+                               GLib.Value val = GetProperty ("seqnum-offset");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("seqnum-offset", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("ssrc")]
+               public uint Ssrc {
+                       get {
+                               GLib.Value val = GetProperty ("ssrc");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("ssrc", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("stats")]
+               public Gst.Structure Stats {
+                       get {
+                               GLib.Value val = GetProperty ("stats");
+                               Gst.Structure ret = (Gst.Structure) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("timestamp")]
+               public uint Timestamp {
+                       get {
+                               GLib.Value val = GetProperty ("timestamp");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("timestamp-offset")]
+               public uint TimestampOffset {
+                       get {
+                               GLib.Value val = GetProperty ("timestamp-offset");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("timestamp-offset", val);
+                               val.Dispose ();
+                       }
+               }
+
+               static GetCapsNativeDelegate GetCaps_cb_delegate;
+               static GetCapsNativeDelegate GetCapsVMCallback {
+                       get {
+                               if (GetCaps_cb_delegate == null)
+                                       GetCaps_cb_delegate = new GetCapsNativeDelegate (GetCaps_cb);
+                               return GetCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetCaps (GLib.GType gtype)
+               {
+                       OverrideGetCaps (gtype, GetCapsVMCallback);
+               }
+
+               static void OverrideGetCaps (GLib.GType gtype, GetCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetCapsNativeDelegate (IntPtr inst, IntPtr pad, IntPtr filter);
+
+               static IntPtr GetCaps_cb (IntPtr inst, IntPtr pad, IntPtr filter)
+               {
+                       try {
+                               RTPBasePayload __obj = GLib.Object.GetObject (inst, false) as RTPBasePayload;
+                               Gst.Caps __result;
+                               __result = __obj.OnGetCaps (GLib.Object.GetObject(pad) as Gst.Pad, filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBasePayload), ConnectionMethod="OverrideGetCaps")]
+               protected virtual Gst.Caps OnGetCaps (Gst.Pad pad, Gst.Caps filter)
+               {
+                       return InternalGetCaps (pad, filter);
+               }
+
+               private Gst.Caps InternalGetCaps (Gst.Pad pad, Gst.Caps filter)
+               {
+                       GetCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_caps"));
+                               unmanaged = (GetCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, pad == null ? IntPtr.Zero : pad.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static SetCapsNativeDelegate SetCaps_cb_delegate;
+               static SetCapsNativeDelegate SetCapsVMCallback {
+                       get {
+                               if (SetCaps_cb_delegate == null)
+                                       SetCaps_cb_delegate = new SetCapsNativeDelegate (SetCaps_cb);
+                               return SetCaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype)
+               {
+                       OverrideSetCaps (gtype, SetCapsVMCallback);
+               }
+
+               static void OverrideSetCaps (GLib.GType gtype, SetCapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetCapsNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static bool SetCaps_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               RTPBasePayload __obj = GLib.Object.GetObject (inst, false) as RTPBasePayload;
+                               bool __result;
+                               __result = __obj.OnSetCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBasePayload), ConnectionMethod="OverrideSetCaps")]
+               protected virtual bool OnSetCaps (Gst.Caps caps)
+               {
+                       return InternalSetCaps (caps);
+               }
+
+               private bool InternalSetCaps (Gst.Caps caps)
+               {
+                       SetCapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_caps"));
+                               unmanaged = (SetCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetCapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       return __result;
+               }
+
+               static HandleBufferNativeDelegate HandleBuffer_cb_delegate;
+               static HandleBufferNativeDelegate HandleBufferVMCallback {
+                       get {
+                               if (HandleBuffer_cb_delegate == null)
+                                       HandleBuffer_cb_delegate = new HandleBufferNativeDelegate (HandleBuffer_cb);
+                               return HandleBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleBuffer (GLib.GType gtype)
+               {
+                       OverrideHandleBuffer (gtype, HandleBufferVMCallback);
+               }
+
+               static void OverrideHandleBuffer (GLib.GType gtype, HandleBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int HandleBufferNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static int HandleBuffer_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               RTPBasePayload __obj = GLib.Object.GetObject (inst, false) as RTPBasePayload;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnHandleBuffer (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBasePayload), ConnectionMethod="OverrideHandleBuffer")]
+               protected virtual Gst.FlowReturn OnHandleBuffer (Gst.Buffer buffer)
+               {
+                       return InternalHandleBuffer (buffer);
+               }
+
+               private Gst.FlowReturn InternalHandleBuffer (Gst.Buffer buffer)
+               {
+                       HandleBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_buffer"));
+                               unmanaged = (HandleBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SinkEventNativeDelegate SinkEvent_cb_delegate;
+               static SinkEventNativeDelegate SinkEventVMCallback {
+                       get {
+                               if (SinkEvent_cb_delegate == null)
+                                       SinkEvent_cb_delegate = new SinkEventNativeDelegate (SinkEvent_cb);
+                               return SinkEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype)
+               {
+                       OverrideSinkEvent (gtype, SinkEventVMCallback);
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype, SinkEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SinkEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               RTPBasePayload __obj = GLib.Object.GetObject (inst, false) as RTPBasePayload;
+                               bool __result;
+                               __result = __obj.OnSinkEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBasePayload), ConnectionMethod="OverrideSinkEvent")]
+               protected virtual bool OnSinkEvent (Gst.Event evnt)
+               {
+                       return InternalSinkEvent (evnt);
+               }
+
+               private bool InternalSinkEvent (Gst.Event evnt)
+               {
+                       SinkEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               unmanaged = (SinkEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SrcEventNativeDelegate SrcEvent_cb_delegate;
+               static SrcEventNativeDelegate SrcEventVMCallback {
+                       get {
+                               if (SrcEvent_cb_delegate == null)
+                                       SrcEvent_cb_delegate = new SrcEventNativeDelegate (SrcEvent_cb);
+                               return SrcEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype)
+               {
+                       OverrideSrcEvent (gtype, SrcEventVMCallback);
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype, SrcEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SrcEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               RTPBasePayload __obj = GLib.Object.GetObject (inst, false) as RTPBasePayload;
+                               bool __result;
+                               __result = __obj.OnSrcEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBasePayload), ConnectionMethod="OverrideSrcEvent")]
+               protected virtual bool OnSrcEvent (Gst.Event evnt)
+               {
+                       return InternalSrcEvent (evnt);
+               }
+
+               private bool InternalSrcEvent (Gst.Event evnt)
+               {
+                       SrcEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               unmanaged = (SrcEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static QueryNativeDelegate Query_cb_delegate;
+               static QueryNativeDelegate QueryVMCallback {
+                       get {
+                               if (Query_cb_delegate == null)
+                                       Query_cb_delegate = new QueryNativeDelegate (Query_cb);
+                               return Query_cb_delegate;
+                       }
+               }
+
+               static void OverrideQuery (GLib.GType gtype)
+               {
+                       OverrideQuery (gtype, QueryVMCallback);
+               }
+
+               static void OverrideQuery (GLib.GType gtype, QueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool QueryNativeDelegate (IntPtr inst, IntPtr pad, IntPtr query);
+
+               static bool Query_cb (IntPtr inst, IntPtr pad, IntPtr query)
+               {
+                       try {
+                               RTPBasePayload __obj = GLib.Object.GetObject (inst, false) as RTPBasePayload;
+                               bool __result;
+                               __result = __obj.OnQuery (GLib.Object.GetObject(pad) as Gst.Pad, query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Rtp.RTPBasePayload), ConnectionMethod="OverrideQuery")]
+               protected virtual bool OnQuery (Gst.Pad pad, Gst.Query query)
+               {
+                       return InternalQuery (pad, query);
+               }
+
+               private bool InternalQuery (Gst.Pad pad, Gst.Query query)
+               {
+                       QueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               unmanaged = (QueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(QueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, pad == null ? IntPtr.Zero : pad.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("get_caps"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_caps
+                                                       , null
+                                                       , "set_caps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_caps
+                                                       , "get_caps"
+                                                       , "handle_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_buffer
+                                                       , "set_caps"
+                                                       , "sink_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event
+                                                       , "handle_buffer"
+                                                       , "src_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_event
+                                                       , "sink_event"
+                                                       , "query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // query
+                                                       , "src_event"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "query"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_base_payload_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtp_base_payload_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_base_payload_is_filled(IntPtr raw, uint size, ulong duration);
+
+               public bool IsFilled(uint size, ulong duration) {
+                       bool raw_ret = gst_rtp_base_payload_is_filled(Handle, size, duration);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtp_base_payload_push(IntPtr raw, IntPtr buffer);
+
+               public Gst.FlowReturn Push(Gst.Buffer buffer) {
+                       int raw_ret = gst_rtp_base_payload_push(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtp_base_payload_push_list(IntPtr raw, IntPtr list);
+
+               public Gst.FlowReturn PushList(Gst.BufferList list) {
+                       int raw_ret = gst_rtp_base_payload_push_list(Handle, list == null ? IntPtr.Zero : list.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_base_payload_set_options(IntPtr raw, IntPtr media, bool dynamic, IntPtr encoding_name, uint clock_rate);
+
+               public void SetOptions(string media, bool dynamic, string encoding_name, uint clock_rate) {
+                       IntPtr native_media = GLib.Marshaller.StringToPtrGStrdup (media);
+                       IntPtr native_encoding_name = GLib.Marshaller.StringToPtrGStrdup (encoding_name);
+                       gst_rtp_base_payload_set_options(Handle, native_media, dynamic, native_encoding_name, clock_rate);
+                       GLib.Marshaller.Free (native_media);
+                       GLib.Marshaller.Free (native_encoding_name);
+               }
+
+
+               static RTPBasePayload ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "srcpad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , "sinkpad"
+                                                       , "ts_base"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ts_base"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // ts_base
+                                                       , "srcpad"
+                                                       , "seqnum_base"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_ts_baseAlign), "ts_base")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("seqnum_base"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ushort)) // seqnum_base
+                                                       , "ts_base"
+                                                       , "media"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_seqnum_baseAlign), "seqnum_base")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("media"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // media
+                                                       , "seqnum_base"
+                                                       , "encoding_name"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("encoding_name"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // encoding_name
+                                                       , "media"
+                                                       , "dynamic"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("dynamic"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // dynamic
+                                                       , "encoding_name"
+                                                       , "clock_rate"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_dynamicAlign), "dynamic")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock_rate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // clock_rate
+                                                       , "dynamic"
+                                                       , "ts_offset"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_clock_rateAlign), "clock_rate")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ts_offset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // ts_offset
+                                                       , "clock_rate"
+                                                       , "timestamp"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_ts_offsetAlign), "ts_offset")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("timestamp"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // timestamp
+                                                       , "ts_offset"
+                                                       , "seqnum_offset"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_timestampAlign), "timestamp")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("seqnum_offset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(short)) // seqnum_offset
+                                                       , "timestamp"
+                                                       , "seqnum"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_seqnum_offsetAlign), "seqnum_offset")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("seqnum"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ushort)) // seqnum
+                                                       , "seqnum_offset"
+                                                       , "max_ptime"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_seqnumAlign), "seqnum")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("max_ptime"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(long)) // max_ptime
+                                                       , "seqnum"
+                                                       , "pt"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_max_ptimeAlign), "max_ptime")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pt"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // pt
+                                                       , "max_ptime"
+                                                       , "ssrc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_ptAlign), "pt")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ssrc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // ssrc
+                                                       , "pt"
+                                                       , "current_ssrc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_ssrcAlign), "ssrc")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("current_ssrc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // current_ssrc
+                                                       , "ssrc"
+                                                       , "mtu"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_current_ssrcAlign), "current_ssrc")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mtu"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // mtu
+                                                       , "current_ssrc"
+                                                       , "segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_mtuAlign), "mtu")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment
+                                                       , "mtu"
+                                                       , "min_ptime"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_segmentAlign), "segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("min_ptime"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // min_ptime
+                                                       , "segment"
+                                                       , "ptime"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_min_ptimeAlign), "min_ptime")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ptime"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // ptime
+                                                       , "min_ptime"
+                                                       , "ptime_multiple"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_ptimeAlign), "ptime")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("ptime_multiple"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // ptime_multiple
+                                                       , "ptime"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTPBasePayload_ptime_multipleAlign), "ptime_multiple")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "ptime_multiple"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_ts_baseAlign
+               {
+                       sbyte f1;
+                       private uint ts_base;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_seqnum_baseAlign
+               {
+                       sbyte f1;
+                       private ushort seqnum_base;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_dynamicAlign
+               {
+                       sbyte f1;
+                       private bool dynamic;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_clock_rateAlign
+               {
+                       sbyte f1;
+                       private uint clock_rate;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_ts_offsetAlign
+               {
+                       sbyte f1;
+                       private int ts_offset;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_timestampAlign
+               {
+                       sbyte f1;
+                       private uint timestamp;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_seqnum_offsetAlign
+               {
+                       sbyte f1;
+                       private short seqnum_offset;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_seqnumAlign
+               {
+                       sbyte f1;
+                       private ushort seqnum;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_max_ptimeAlign
+               {
+                       sbyte f1;
+                       private long max_ptime;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_ptAlign
+               {
+                       sbyte f1;
+                       private uint pt;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_ssrcAlign
+               {
+                       sbyte f1;
+                       private uint ssrc;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_current_ssrcAlign
+               {
+                       sbyte f1;
+                       private uint current_ssrc;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_mtuAlign
+               {
+                       sbyte f1;
+                       private uint mtu;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_min_ptimeAlign
+               {
+                       sbyte f1;
+                       private ulong min_ptime;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_ptimeAlign
+               {
+                       sbyte f1;
+                       private ulong ptime;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTPBasePayload_ptime_multipleAlign
+               {
+                       sbyte f1;
+                       private ulong ptime_multiple;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_RTPBuffer.cs b/sources/generated/Gst.Rtp_RTPBuffer.cs
new file mode 100644 (file)
index 0000000..937cb88
--- /dev/null
@@ -0,0 +1,585 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTPBuffer : IEquatable<RTPBuffer> {
+
+               private IntPtr _buffer;
+               public Gst.Buffer Buffer {
+                       get {
+                               return _buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public uint State;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public IntPtr[] Data;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public ulong[] Size;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public Gst.MapInfo[] MapInfo;
+
+               public static Gst.Rtp.RTPBuffer Zero = new Gst.Rtp.RTPBuffer ();
+
+               public static Gst.Rtp.RTPBuffer New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtp.RTPBuffer.Zero;
+                       return (Gst.Rtp.RTPBuffer) Marshal.PtrToStructure (raw, typeof (Gst.Rtp.RTPBuffer));
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_buffer_add_extension_onebyte_header(IntPtr raw, byte id, byte[] data, uint n_length);
+
+               public bool AddExtensionOnebyteHeader(byte id, byte[] data) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtp_buffer_add_extension_onebyte_header(this_as_native, id, data, (uint) (data == null ? 0 : data.Length));
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_buffer_add_extension_twobytes_header(IntPtr raw, byte appbits, byte id, byte[] data, uint n_length);
+
+               public bool AddExtensionTwobytesHeader(byte appbits, byte id, byte[] data) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtp_buffer_add_extension_twobytes_header(this_as_native, appbits, id, data, (uint) (data == null ? 0 : data.Length));
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_get_csrc(IntPtr raw, byte idx);
+
+               public uint GetCsrc(byte idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_rtp_buffer_get_csrc(this_as_native, idx);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_rtp_buffer_get_csrc_count(IntPtr raw);
+
+               public byte CsrcCount { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               byte raw_ret = gst_rtp_buffer_get_csrc_count(this_as_native);
+                               byte ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_buffer_get_extension(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_extension(IntPtr raw, bool extension);
+
+               public bool Extension { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_rtp_buffer_get_extension(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_extension(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_get_extension_bytes(IntPtr raw, out ushort bits);
+
+               public GLib.Bytes GetExtensionBytes(out ushort bits) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_rtp_buffer_get_extension_bytes(this_as_native, out bits);
+                       GLib.Bytes ret = new GLib.Bytes(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_get_header_len(IntPtr raw);
+
+               public uint HeaderLen { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_rtp_buffer_get_header_len(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_buffer_get_marker(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_marker(IntPtr raw, bool marker);
+
+               public bool Marker { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_rtp_buffer_get_marker(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_marker(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_get_packet_len(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_packet_len(IntPtr raw, uint len);
+
+               public uint PacketLen { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_rtp_buffer_get_packet_len(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_packet_len(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_buffer_get_padding(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_padding(IntPtr raw, bool padding);
+
+               public bool Padding { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_rtp_buffer_get_padding(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_padding(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_get_payload_buffer(IntPtr raw);
+
+               public Gst.Buffer PayloadBuffer { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_rtp_buffer_get_payload_buffer(this_as_native);
+                               Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_get_payload_bytes(IntPtr raw);
+
+               public GLib.Bytes PayloadBytes { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_rtp_buffer_get_payload_bytes(this_as_native);
+                               GLib.Bytes ret = new GLib.Bytes(raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_get_payload_len(IntPtr raw);
+
+               public uint PayloadLen { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_rtp_buffer_get_payload_len(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_get_payload_subbuffer(IntPtr raw, uint offset, uint len);
+
+               public Gst.Buffer GetPayloadSubbuffer(uint offset, uint len) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_rtp_buffer_get_payload_subbuffer(this_as_native, offset, len);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_rtp_buffer_get_payload_type(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_payload_type(IntPtr raw, byte payload_type);
+
+               public byte PayloadType { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               byte raw_ret = gst_rtp_buffer_get_payload_type(this_as_native);
+                               byte ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_payload_type(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ushort gst_rtp_buffer_get_seq(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_seq(IntPtr raw, ushort seq);
+
+               public ushort Seq { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               ushort raw_ret = gst_rtp_buffer_get_seq(this_as_native);
+                               ushort ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_seq(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_get_ssrc(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_ssrc(IntPtr raw, uint ssrc);
+
+               public uint Ssrc { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_rtp_buffer_get_ssrc(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_ssrc(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_get_timestamp(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_timestamp(IntPtr raw, uint timestamp);
+
+               public uint Timestamp { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_rtp_buffer_get_timestamp(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_timestamp(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern byte gst_rtp_buffer_get_version(IntPtr raw);
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_version(IntPtr raw, byte version);
+
+               public byte Version { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               byte raw_ret = gst_rtp_buffer_get_version(this_as_native);
+                               byte ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               gst_rtp_buffer_set_version(this_as_native, value);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_pad_to(IntPtr raw, uint len);
+
+               public void PadTo(uint len) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtp_buffer_pad_to(this_as_native, len);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_set_csrc(IntPtr raw, byte idx, uint csrc);
+
+               public void SetCsrc(byte idx, uint csrc) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtp_buffer_set_csrc(this_as_native, idx, csrc);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_buffer_set_extension_data(IntPtr raw, ushort bits, ushort length);
+
+               public bool SetExtensionData(ushort bits, ushort length) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_rtp_buffer_set_extension_data(this_as_native, bits, length);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_unmap(IntPtr raw);
+
+               public void Unmap() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtp_buffer_unmap(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtp_buffer_allocate_data(IntPtr buffer, uint payload_len, byte pad_len, byte csrc_count);
+
+               public static void AllocateData(Gst.Buffer buffer, uint payload_len, byte pad_len, byte csrc_count) {
+                       gst_rtp_buffer_allocate_data(buffer == null ? IntPtr.Zero : buffer.Handle, payload_len, pad_len, csrc_count);
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_calc_header_len(byte csrc_count);
+
+               public static uint CalcHeaderLen(byte csrc_count) {
+                       uint raw_ret = gst_rtp_buffer_calc_header_len(csrc_count);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_calc_packet_len(uint payload_len, byte pad_len, byte csrc_count);
+
+               public static uint CalcPacketLen(uint payload_len, byte pad_len, byte csrc_count) {
+                       uint raw_ret = gst_rtp_buffer_calc_packet_len(payload_len, pad_len, csrc_count);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_calc_payload_len(uint packet_len, byte pad_len, byte csrc_count);
+
+               public static uint CalcPayloadLen(uint packet_len, byte pad_len, byte csrc_count) {
+                       uint raw_ret = gst_rtp_buffer_calc_payload_len(packet_len, pad_len, csrc_count);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtp_buffer_compare_seqnum(ushort seqnum1, ushort seqnum2);
+
+               public static int CompareSeqnum(ushort seqnum1, ushort seqnum2) {
+                       int raw_ret = gst_rtp_buffer_compare_seqnum(seqnum1, seqnum2);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtp_buffer_default_clock_rate(byte payload_type);
+
+               public static uint DefaultClockRate(byte payload_type) {
+                       uint raw_ret = gst_rtp_buffer_default_clock_rate(payload_type);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtp_buffer_ext_timestamp(ulong exttimestamp, uint timestamp);
+
+               public static ulong ExtTimestamp(ulong exttimestamp, uint timestamp) {
+                       ulong raw_ret = gst_rtp_buffer_ext_timestamp(exttimestamp, timestamp);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtp_buffer_map(IntPtr buffer, int flags, IntPtr rtp);
+
+               public static bool Map(Gst.Buffer buffer, Gst.MapFlags flags, out Gst.Rtp.RTPBuffer rtp) {
+                       IntPtr native_rtp = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtp.RTPBuffer)));
+                       bool raw_ret = gst_rtp_buffer_map(buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags, native_rtp);
+                       bool ret = raw_ret;
+                       rtp = Gst.Rtp.RTPBuffer.New (native_rtp);
+                       Marshal.FreeHGlobal (native_rtp);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_new_allocate(uint payload_len, byte pad_len, byte csrc_count);
+
+               public static Gst.Buffer NewAllocate(uint payload_len, byte pad_len, byte csrc_count) {
+                       IntPtr raw_ret = gst_rtp_buffer_new_allocate(payload_len, pad_len, csrc_count);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_new_allocate_len(uint packet_len, byte pad_len, byte csrc_count);
+
+               public static Gst.Buffer NewAllocateLen(uint packet_len, byte pad_len, byte csrc_count) {
+                       IntPtr raw_ret = gst_rtp_buffer_new_allocate_len(packet_len, pad_len, csrc_count);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_new_copy_data(byte[] data, UIntPtr n_length);
+
+               public static Gst.Buffer NewCopyData(byte[] data) {
+                       IntPtr raw_ret = gst_rtp_buffer_new_copy_data(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_new_take_data(byte[] data, UIntPtr n_length);
+
+               public static Gst.Buffer NewTakeData(byte[] data) {
+                       IntPtr raw_ret = gst_rtp_buffer_new_take_data(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Rtp.RTPBuffer target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (RTPBuffer other)
+               {
+                       return true && Buffer.Equals (other.Buffer) && State.Equals (other.State) && Data.Equals (other.Data) && Size.Equals (other.Size) && MapInfo.Equals (other.MapInfo);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTPBuffer && Equals ((RTPBuffer) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Buffer.GetHashCode () ^ State.GetHashCode () ^ Data.GetHashCode () ^ Size.GetHashCode () ^ MapInfo.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_RTPBufferFlags.cs b/sources/generated/Gst.Rtp_RTPBufferFlags.cs
new file mode 100644 (file)
index 0000000..57c426d
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Rtp.RTPBufferFlagsGType))]
+       public enum RTPBufferFlags {
+
+               Retransmission = 1048576,
+               Last = 268435456,
+       }
+
+       internal class RTPBufferFlagsGType {
+               [DllImport ("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtp_buffer_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtp_RTPBufferMapFlags.cs b/sources/generated/Gst.Rtp_RTPBufferMapFlags.cs
new file mode 100644 (file)
index 0000000..3a34538
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Rtp.RTPBufferMapFlagsGType))]
+       public enum RTPBufferMapFlags {
+
+               SkipPadding = 65536,
+               Last = 16777216,
+       }
+
+       internal class RTPBufferMapFlagsGType {
+               [DllImport ("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_buffer_map_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtp_buffer_map_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtp_RTPPayload.cs b/sources/generated/Gst.Rtp_RTPPayload.cs
new file mode 100644 (file)
index 0000000..6f7e6bc
--- /dev/null
@@ -0,0 +1,52 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtp.RTPPayloadGType))]
+       public enum RTPPayload {
+
+               Pcmu = 0,
+               _1016 = 1,
+               G721 = 2,
+               Gsm = 3,
+               G723 = 4,
+               Dvi48000 = 5,
+               Dvi416000 = 6,
+               Lpc = 7,
+               Pcma = 8,
+               G722 = 9,
+               L16Stereo = 10,
+               L16Mono = 11,
+               Qcelp = 12,
+               Cn = 13,
+               Mpa = 14,
+               G728 = 15,
+               Dvi411025 = 16,
+               Dvi422050 = 17,
+               G729 = 18,
+               Cellb = 25,
+               Jpeg = 26,
+               Nv = 28,
+               H261 = 31,
+               Mpv = 32,
+               Mp2t = 33,
+               H263 = 34,
+       }
+
+       internal class RTPPayloadGType {
+               [DllImport ("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_payload_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtp_payload_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtp_RTPPayloadInfo.cs b/sources/generated/Gst.Rtp_RTPPayloadInfo.cs
new file mode 100644 (file)
index 0000000..349b39c
--- /dev/null
@@ -0,0 +1,74 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTPPayloadInfo : IEquatable<RTPPayloadInfo> {
+
+               public byte PayloadType;
+               public string Media;
+               public string EncodingName;
+               public uint ClockRate;
+               public string EncodingParameters;
+               public uint Bitrate;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Rtp.RTPPayloadInfo Zero = new Gst.Rtp.RTPPayloadInfo ();
+
+               public static Gst.Rtp.RTPPayloadInfo New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtp.RTPPayloadInfo.Zero;
+                       return (Gst.Rtp.RTPPayloadInfo) Marshal.PtrToStructure (raw, typeof (Gst.Rtp.RTPPayloadInfo));
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_payload_info_for_name(IntPtr media, IntPtr encoding_name);
+
+               public static Gst.Rtp.RTPPayloadInfo ForName(string media, string encoding_name) {
+                       IntPtr native_media = GLib.Marshaller.StringToPtrGStrdup (media);
+                       IntPtr native_encoding_name = GLib.Marshaller.StringToPtrGStrdup (encoding_name);
+                       IntPtr raw_ret = gst_rtp_payload_info_for_name(native_media, native_encoding_name);
+                       Gst.Rtp.RTPPayloadInfo ret = Gst.Rtp.RTPPayloadInfo.New (raw_ret);
+                       GLib.Marshaller.Free (native_media);
+                       GLib.Marshaller.Free (native_encoding_name);
+                       return ret;
+               }
+
+               [DllImport("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_payload_info_for_pt(byte payload_type);
+
+               public static Gst.Rtp.RTPPayloadInfo ForPt(byte payload_type) {
+                       IntPtr raw_ret = gst_rtp_payload_info_for_pt(payload_type);
+                       Gst.Rtp.RTPPayloadInfo ret = Gst.Rtp.RTPPayloadInfo.New (raw_ret);
+                       return ret;
+               }
+
+               public bool Equals (RTPPayloadInfo other)
+               {
+                       return true && PayloadType.Equals (other.PayloadType) && Media.Equals (other.Media) && EncodingName.Equals (other.EncodingName) && ClockRate.Equals (other.ClockRate) && EncodingParameters.Equals (other.EncodingParameters) && Bitrate.Equals (other.Bitrate);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTPPayloadInfo && Equals ((RTPPayloadInfo) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ PayloadType.GetHashCode () ^ Media.GetHashCode () ^ EncodingName.GetHashCode () ^ ClockRate.GetHashCode () ^ EncodingParameters.GetHashCode () ^ Bitrate.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtp_RTPProfile.cs b/sources/generated/Gst.Rtp_RTPProfile.cs
new file mode 100644 (file)
index 0000000..f1ea28e
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtp.RTPProfileGType))]
+       public enum RTPProfile {
+
+               Unknown = 0,
+               Avp = 1,
+               Savp = 2,
+               Avpf = 3,
+               Savpf = 4,
+       }
+
+       internal class RTPProfileGType {
+               [DllImport ("libgstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtp_profile_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtp_profile_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_Constants.cs b/sources/generated/Gst.Rtsp_Constants.cs
new file mode 100644 (file)
index 0000000..48083a6
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const int RTSP_DEFAULT_PORT = 554;
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_Global.cs b/sources/generated/Gst.Rtsp_Global.cs
new file mode 100644 (file)
index 0000000..e78ca1c
--- /dev/null
@@ -0,0 +1,365 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_credentials_free(IntPtr credentials);
+
+               public static void RtspAuthCredentialsFree(Gst.Rtsp.RTSPAuthCredential credentials) {
+                       IntPtr native_credentials = GLib.Marshaller.StructureToPtrAlloc (credentials);
+                       gst_rtsp_auth_credentials_free(native_credentials);
+                       Marshal.FreeHGlobal (native_credentials);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_accept(IntPtr socket, out IntPtr conn, IntPtr cancellable);
+
+               public static Gst.Rtsp.RTSPResult RtspConnectionAccept(GLib.Socket socket, out Gst.Rtsp.RTSPConnection conn, GLib.Cancellable cancellable) {
+                       IntPtr native_conn;
+                       int raw_ret = gst_rtsp_connection_accept(socket == null ? IntPtr.Zero : socket.Handle, out native_conn, cancellable == null ? IntPtr.Zero : cancellable.Handle);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       conn = native_conn == IntPtr.Zero ? null : (Gst.Rtsp.RTSPConnection) GLib.Opaque.GetOpaque (native_conn, typeof (Gst.Rtsp.RTSPConnection), true);
+                       return ret;
+               }
+
+               public static Gst.Rtsp.RTSPResult RtspConnectionAccept(GLib.Socket socket, out Gst.Rtsp.RTSPConnection conn) {
+                       return RtspConnectionAccept (socket, out conn, null);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_create(IntPtr url, out IntPtr conn);
+
+               public static Gst.Rtsp.RTSPResult RtspConnectionCreate(Gst.Rtsp.RTSPUrl url, out Gst.Rtsp.RTSPConnection conn) {
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr native_conn;
+                       int raw_ret = gst_rtsp_connection_create(native_url, out native_conn);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_url);
+                       conn = native_conn == IntPtr.Zero ? null : (Gst.Rtsp.RTSPConnection) GLib.Opaque.GetOpaque (native_conn, typeof (Gst.Rtsp.RTSPConnection), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_create_from_socket(IntPtr socket, IntPtr ip, ushort port, IntPtr initial_buffer, out IntPtr conn);
+
+               public static Gst.Rtsp.RTSPResult RtspConnectionCreateFromSocket(GLib.Socket socket, string ip, ushort port, string initial_buffer, out Gst.Rtsp.RTSPConnection conn) {
+                       IntPtr native_ip = GLib.Marshaller.StringToPtrGStrdup (ip);
+                       IntPtr native_initial_buffer = GLib.Marshaller.StringToPtrGStrdup (initial_buffer);
+                       IntPtr native_conn;
+                       int raw_ret = gst_rtsp_connection_create_from_socket(socket == null ? IntPtr.Zero : socket.Handle, native_ip, port, native_initial_buffer, out native_conn);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_ip);
+                       GLib.Marshaller.Free (native_initial_buffer);
+                       conn = native_conn == IntPtr.Zero ? null : (Gst.Rtsp.RTSPConnection) GLib.Opaque.GetOpaque (native_conn, typeof (Gst.Rtsp.RTSPConnection), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_find_header_field(IntPtr header);
+
+               public static Gst.Rtsp.RTSPHeaderField RtspFindHeaderField(string header) {
+                       IntPtr native_header = GLib.Marshaller.StringToPtrGStrdup (header);
+                       int raw_ret = gst_rtsp_find_header_field(native_header);
+                       Gst.Rtsp.RTSPHeaderField ret = (Gst.Rtsp.RTSPHeaderField) raw_ret;
+                       GLib.Marshaller.Free (native_header);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_find_method(IntPtr method);
+
+               public static Gst.Rtsp.RTSPMethod RtspFindMethod(string method) {
+                       IntPtr native_method = GLib.Marshaller.StringToPtrGStrdup (method);
+                       int raw_ret = gst_rtsp_find_method(native_method);
+                       Gst.Rtsp.RTSPMethod ret = (Gst.Rtsp.RTSPMethod) raw_ret;
+                       GLib.Marshaller.Free (native_method);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_generate_digest_auth_response(IntPtr algorithm, IntPtr method, IntPtr realm, IntPtr username, IntPtr password, IntPtr uri, IntPtr nonce);
+
+               public static string RtspGenerateDigestAuthResponse(string algorithm, string method, string realm, string username, string password, string uri, string nonce) {
+                       IntPtr native_algorithm = GLib.Marshaller.StringToPtrGStrdup (algorithm);
+                       IntPtr native_method = GLib.Marshaller.StringToPtrGStrdup (method);
+                       IntPtr native_realm = GLib.Marshaller.StringToPtrGStrdup (realm);
+                       IntPtr native_username = GLib.Marshaller.StringToPtrGStrdup (username);
+                       IntPtr native_password = GLib.Marshaller.StringToPtrGStrdup (password);
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr native_nonce = GLib.Marshaller.StringToPtrGStrdup (nonce);
+                       IntPtr raw_ret = gst_rtsp_generate_digest_auth_response(native_algorithm, native_method, native_realm, native_username, native_password, native_uri, native_nonce);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_algorithm);
+                       GLib.Marshaller.Free (native_method);
+                       GLib.Marshaller.Free (native_realm);
+                       GLib.Marshaller.Free (native_username);
+                       GLib.Marshaller.Free (native_password);
+                       GLib.Marshaller.Free (native_uri);
+                       GLib.Marshaller.Free (native_nonce);
+                       return ret;
+               }
+
+               public static string RtspGenerateDigestAuthResponse(string method, string realm, string username, string password, string uri, string nonce) {
+                       return RtspGenerateDigestAuthResponse (null, method, realm, username, password, uri, nonce);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_header_allow_multiple(int field);
+
+               public static bool RtspHeaderAllowMultiple(Gst.Rtsp.RTSPHeaderField field) {
+                       bool raw_ret = gst_rtsp_header_allow_multiple((int) field);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_header_as_text(int field);
+
+               public static string RtspHeaderAsText(Gst.Rtsp.RTSPHeaderField field) {
+                       IntPtr raw_ret = gst_rtsp_header_as_text((int) field);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_new(IntPtr msg);
+
+               public static Gst.Rtsp.RTSPResult RtspMessageNew(out Gst.Rtsp.RTSPMessage msg) {
+                       IntPtr native_msg = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPMessage)));
+                       int raw_ret = gst_rtsp_message_new(native_msg);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       msg = Gst.Rtsp.RTSPMessage.New (native_msg);
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_new_data(IntPtr msg, byte channel);
+
+               public static Gst.Rtsp.RTSPResult RtspMessageNewData(out Gst.Rtsp.RTSPMessage msg, byte channel) {
+                       IntPtr native_msg = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPMessage)));
+                       int raw_ret = gst_rtsp_message_new_data(native_msg, channel);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       msg = Gst.Rtsp.RTSPMessage.New (native_msg);
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_new_request(IntPtr msg, int method, IntPtr uri);
+
+               public static Gst.Rtsp.RTSPResult RtspMessageNewRequest(out Gst.Rtsp.RTSPMessage msg, Gst.Rtsp.RTSPMethod method, string uri) {
+                       IntPtr native_msg = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPMessage)));
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       int raw_ret = gst_rtsp_message_new_request(native_msg, (int) method, native_uri);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       msg = Gst.Rtsp.RTSPMessage.New (native_msg);
+                       Marshal.FreeHGlobal (native_msg);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_new_response(IntPtr msg, int code, IntPtr reason, IntPtr request);
+
+               public static Gst.Rtsp.RTSPResult RtspMessageNewResponse(out Gst.Rtsp.RTSPMessage msg, Gst.Rtsp.RTSPStatusCode code, string reason, Gst.Rtsp.RTSPMessage request) {
+                       IntPtr native_msg = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPMessage)));
+                       IntPtr native_reason = GLib.Marshaller.StringToPtrGStrdup (reason);
+                       IntPtr native_request = GLib.Marshaller.StructureToPtrAlloc (request);
+                       int raw_ret = gst_rtsp_message_new_response(native_msg, (int) code, native_reason, native_request);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       msg = Gst.Rtsp.RTSPMessage.New (native_msg);
+                       Marshal.FreeHGlobal (native_msg);
+                       GLib.Marshaller.Free (native_reason);
+                       Marshal.FreeHGlobal (native_request);
+                       return ret;
+               }
+
+               public static Gst.Rtsp.RTSPResult RtspMessageNewResponse(out Gst.Rtsp.RTSPMessage msg, Gst.Rtsp.RTSPStatusCode code) {
+                       return RtspMessageNewResponse (out msg, code, null, Gst.Rtsp.RTSPMessage.Zero);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_method_as_text(int method);
+
+               public static string RtspMethodAsText(Gst.Rtsp.RTSPMethod method) {
+                       IntPtr raw_ret = gst_rtsp_method_as_text((int) method);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_options_as_text(int options);
+
+               public static string RtspOptionsAsText(Gst.Rtsp.RTSPMethod options) {
+                       IntPtr raw_ret = gst_rtsp_options_as_text((int) options);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_options_from_text(IntPtr options);
+
+               public static Gst.Rtsp.RTSPMethod RtspOptionsFromText(string options) {
+                       IntPtr native_options = GLib.Marshaller.StringToPtrGStrdup (options);
+                       int raw_ret = gst_rtsp_options_from_text(native_options);
+                       Gst.Rtsp.RTSPMethod ret = (Gst.Rtsp.RTSPMethod) raw_ret;
+                       GLib.Marshaller.Free (native_options);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_range_convert_units(IntPtr range, int unit);
+
+               public static bool RtspRangeConvertUnits(Gst.Rtsp.RTSPTimeRange range, Gst.Rtsp.RTSPRangeUnit unit) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       bool raw_ret = gst_rtsp_range_convert_units(native_range, (int) unit);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_range_free(IntPtr range);
+
+               public static void RtspRangeFree(Gst.Rtsp.RTSPTimeRange range) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       gst_rtsp_range_free(native_range);
+                       Marshal.FreeHGlobal (native_range);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_range_get_times(IntPtr range, ulong min, ulong max);
+
+               public static bool RtspRangeGetTimes(Gst.Rtsp.RTSPTimeRange range, ulong min, ulong max) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       bool raw_ret = gst_rtsp_range_get_times(native_range, min, max);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_range_parse(IntPtr rangestr, IntPtr range);
+
+               public static Gst.Rtsp.RTSPResult RtspRangeParse(string rangestr, Gst.Rtsp.RTSPTimeRange range) {
+                       IntPtr native_rangestr = GLib.Marshaller.StringToPtrGStrdup (rangestr);
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       int raw_ret = gst_rtsp_range_parse(native_rangestr, native_range);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_rangestr);
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_range_to_string(IntPtr range);
+
+               public static string RtspRangeToString(Gst.Rtsp.RTSPTimeRange range) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       IntPtr raw_ret = gst_rtsp_range_to_string(native_range);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_status_as_text(int code);
+
+               public static string RtspStatusAsText(Gst.Rtsp.RTSPStatusCode code) {
+                       IntPtr raw_ret = gst_rtsp_status_as_text((int) code);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_strresult(int _result);
+
+               public static string RtspStrresult(Gst.Rtsp.RTSPResult _result) {
+                       IntPtr raw_ret = gst_rtsp_strresult((int) _result);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_get_manager(int trans, IntPtr manager, uint option);
+
+               public static Gst.Rtsp.RTSPResult RtspTransportGetManager(Gst.Rtsp.RTSPTransMode trans, string manager, uint option) {
+                       IntPtr native_manager = GLib.Marshaller.StringToPtrGStrdup (manager);
+                       int raw_ret = gst_rtsp_transport_get_manager((int) trans, native_manager, option);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_manager);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_get_mime(int trans, IntPtr mime);
+
+               [Obsolete]
+               public static Gst.Rtsp.RTSPResult RtspTransportGetMime(Gst.Rtsp.RTSPTransMode trans, string mime) {
+                       IntPtr native_mime = GLib.Marshaller.StringToPtrGStrdup (mime);
+                       int raw_ret = gst_rtsp_transport_get_mime((int) trans, native_mime);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_mime);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_new(IntPtr transport);
+
+               public static Gst.Rtsp.RTSPResult RtspTransportNew(Gst.Rtsp.RTSPTransport transport) {
+                       IntPtr native_transport = GLib.Marshaller.StructureToPtrAlloc (transport);
+                       int raw_ret = gst_rtsp_transport_new(native_transport);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_transport);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_parse(IntPtr str, IntPtr transport);
+
+               public static Gst.Rtsp.RTSPResult RtspTransportParse(string str, Gst.Rtsp.RTSPTransport transport) {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       IntPtr native_transport = GLib.Marshaller.StructureToPtrAlloc (transport);
+                       int raw_ret = gst_rtsp_transport_parse(native_str, native_transport);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_str);
+                       Marshal.FreeHGlobal (native_transport);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_url_parse(IntPtr urlstr, IntPtr url);
+
+               public static Gst.Rtsp.RTSPResult RtspUrlParse(string urlstr, out Gst.Rtsp.RTSPUrl url) {
+                       IntPtr native_urlstr = GLib.Marshaller.StringToPtrGStrdup (urlstr);
+                       IntPtr native_url = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPUrl)));
+                       int raw_ret = gst_rtsp_url_parse(native_urlstr, native_url);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_urlstr);
+                       url = Gst.Rtsp.RTSPUrl.New (native_url);
+                       Marshal.FreeHGlobal (native_url);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_version_as_text(int version);
+
+               public static string RtspVersionAsText(Gst.Rtsp.RTSPVersion version) {
+                       IntPtr raw_ret = gst_rtsp_version_as_text((int) version);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs b/sources/generated/Gst.Rtsp_Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs
new file mode 100644 (file)
index 0000000..68b590f
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool RTSPConnectionAcceptCertificateFuncNative(IntPtr conn, IntPtr peer_cert, int errors, IntPtr user_data);
+
+       internal class RTSPConnectionAcceptCertificateFuncInvoker {
+
+               RTSPConnectionAcceptCertificateFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPConnectionAcceptCertificateFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPConnectionAcceptCertificateFuncInvoker (RTSPConnectionAcceptCertificateFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPConnectionAcceptCertificateFuncInvoker (RTSPConnectionAcceptCertificateFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPConnectionAcceptCertificateFuncInvoker (RTSPConnectionAcceptCertificateFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Rtsp.RTSPConnectionAcceptCertificateFunc Handler {
+                       get {
+                               return new Gst.Rtsp.RTSPConnectionAcceptCertificateFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (GLib.TlsConnection conn, GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags errors)
+               {
+                       bool __result = native_cb (conn == null ? IntPtr.Zero : conn.Handle, peer_cert == null ? IntPtr.Zero : peer_cert.Handle, (int) errors, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPConnectionAcceptCertificateFuncWrapper {
+
+               public bool NativeCallback (IntPtr conn, IntPtr peer_cert, int errors, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(conn) as GLib.TlsConnection, GLib.Object.GetObject(peer_cert) as GLib.TlsCertificate, (GLib.TlsCertificateFlags) errors);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPConnectionAcceptCertificateFuncNative NativeDelegate;
+               Gst.Rtsp.RTSPConnectionAcceptCertificateFunc managed;
+
+               public RTSPConnectionAcceptCertificateFuncWrapper (Gst.Rtsp.RTSPConnectionAcceptCertificateFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPConnectionAcceptCertificateFuncNative (NativeCallback);
+               }
+
+               public static Gst.Rtsp.RTSPConnectionAcceptCertificateFunc GetManagedDelegate (RTSPConnectionAcceptCertificateFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPConnectionAcceptCertificateFuncWrapper wrapper = (RTSPConnectionAcceptCertificateFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_IRTSPExtension.cs b/sources/generated/Gst.Rtsp_IRTSPExtension.cs
new file mode 100644 (file)
index 0000000..e8f7815
--- /dev/null
@@ -0,0 +1,38 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IRTSPExtension : GLib.IWrapper {
+
+               event Gst.Rtsp.SendEventHandler SendEvent;
+               Gst.Rtsp.RTSPResult AfterSend(Gst.Rtsp.RTSPMessage req, Gst.Rtsp.RTSPMessage resp);
+               Gst.Rtsp.RTSPResult BeforeSend(Gst.Rtsp.RTSPMessage req);
+               bool ConfigureStream(Gst.Caps caps);
+               bool DetectServer(Gst.Rtsp.RTSPMessage resp);
+               Gst.Rtsp.RTSPResult GetTransports(Gst.Rtsp.RTSPLowerTrans protocols, string transport);
+               Gst.Rtsp.RTSPResult ParseSdp(Gst.Sdp.SDPMessage sdp, Gst.Structure s);
+               Gst.Rtsp.RTSPResult ReceiveRequest(Gst.Rtsp.RTSPMessage req);
+               Gst.Rtsp.RTSPResult Send(Gst.Rtsp.RTSPMessage req, Gst.Rtsp.RTSPMessage resp);
+               Gst.Rtsp.RTSPResult SetupMedia(Gst.Sdp.SDPMedia media);
+               Gst.Rtsp.RTSPResult StreamSelect(Gst.Rtsp.RTSPUrl url);
+       }
+
+       [GLib.GInterface (typeof (RTSPExtensionAdapter))]
+       public partial interface IRTSPExtensionImplementor : GLib.IWrapper {
+
+               bool DetectServer (Gst.Rtsp.RTSPMessage resp);
+               Gst.Rtsp.RTSPResult BeforeSend (Gst.Rtsp.RTSPMessage req);
+               Gst.Rtsp.RTSPResult AfterSend (Gst.Rtsp.RTSPMessage req, Gst.Rtsp.RTSPMessage resp);
+               Gst.Rtsp.RTSPResult ParseSdp (Gst.Sdp.SDPMessage sdp, Gst.Structure s);
+               Gst.Rtsp.RTSPResult SetupMedia (Gst.Sdp.SDPMedia media);
+               bool ConfigureStream (Gst.Caps caps);
+               Gst.Rtsp.RTSPResult GetTransports (Gst.Rtsp.RTSPLowerTrans protocols, string transport);
+               Gst.Rtsp.RTSPResult StreamSelect (Gst.Rtsp.RTSPUrl url);
+               Gst.Rtsp.RTSPResult ReceiveRequest (Gst.Rtsp.RTSPMessage req);
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPAuthCredential.cs b/sources/generated/Gst.Rtsp_RTSPAuthCredential.cs
new file mode 100644 (file)
index 0000000..05f3854
--- /dev/null
@@ -0,0 +1,71 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPAuthCredential : IEquatable<RTSPAuthCredential> {
+
+               public Gst.Rtsp.RTSPAuthMethod Scheme;
+               private IntPtr _parms;
+
+               public Gst.Rtsp.RTSPAuthParam parms {
+                       get { return Gst.Rtsp.RTSPAuthParam.New (_parms); }
+               }
+               public string Authorization;
+
+               public static Gst.Rtsp.RTSPAuthCredential Zero = new Gst.Rtsp.RTSPAuthCredential ();
+
+               public static Gst.Rtsp.RTSPAuthCredential New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPAuthCredential.Zero;
+                       return (Gst.Rtsp.RTSPAuthCredential) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPAuthCredential));
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_credential_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_auth_credential_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (RTSPAuthCredential other)
+               {
+                       return true && Scheme.Equals (other.Scheme) && parms.Equals (other.parms) && Authorization.Equals (other.Authorization);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPAuthCredential && Equals ((RTSPAuthCredential) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Scheme.GetHashCode () ^ parms.GetHashCode () ^ Authorization.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Rtsp.RTSPAuthCredential boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Rtsp.RTSPAuthCredential.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Rtsp.RTSPAuthCredential (GLib.Value val)
+               {
+                       return (Gst.Rtsp.RTSPAuthCredential) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPAuthMethod.cs b/sources/generated/Gst.Rtsp_RTSPAuthMethod.cs
new file mode 100644 (file)
index 0000000..b8a50b2
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPAuthMethodGType))]
+       public enum RTSPAuthMethod {
+
+               None = 0,
+               Basic = 1,
+               Digest = 2,
+       }
+
+       internal class RTSPAuthMethodGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_auth_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPAuthParam.cs b/sources/generated/Gst.Rtsp_RTSPAuthParam.cs
new file mode 100644 (file)
index 0000000..9b70e63
--- /dev/null
@@ -0,0 +1,66 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPAuthParam : IEquatable<RTSPAuthParam> {
+
+               public string Name;
+               public string Value;
+
+               public static Gst.Rtsp.RTSPAuthParam Zero = new Gst.Rtsp.RTSPAuthParam ();
+
+               public static Gst.Rtsp.RTSPAuthParam New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPAuthParam.Zero;
+                       return (Gst.Rtsp.RTSPAuthParam) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPAuthParam));
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_param_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_auth_param_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (RTSPAuthParam other)
+               {
+                       return true && Name.Equals (other.Name) && Value.Equals (other.Value);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPAuthParam && Equals ((RTSPAuthParam) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Name.GetHashCode () ^ Value.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Rtsp.RTSPAuthParam boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Rtsp.RTSPAuthParam.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Rtsp.RTSPAuthParam (GLib.Value val)
+               {
+                       return (Gst.Rtsp.RTSPAuthParam) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPConnection.cs b/sources/generated/Gst.Rtsp_RTSPConnection.cs
new file mode 100644 (file)
index 0000000..b7649bf
--- /dev/null
@@ -0,0 +1,444 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPConnection : GLib.Opaque {
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_clear_auth_params(IntPtr raw);
+
+               public void ClearAuthParams() {
+                       gst_rtsp_connection_clear_auth_params(Handle);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_close(IntPtr raw);
+
+               public Gst.Rtsp.RTSPResult Close() {
+                       int raw_ret = gst_rtsp_connection_close(Handle);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_connect(IntPtr raw, IntPtr timeout);
+
+               public Gst.Rtsp.RTSPResult Connect(IntPtr timeout) {
+                       int raw_ret = gst_rtsp_connection_connect(Handle, timeout);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_connect_with_response(IntPtr raw, IntPtr timeout, IntPtr response);
+
+               public Gst.Rtsp.RTSPResult ConnectWithResponse(IntPtr timeout, Gst.Rtsp.RTSPMessage response) {
+                       IntPtr native_response = GLib.Marshaller.StructureToPtrAlloc (response);
+                       int raw_ret = gst_rtsp_connection_connect_with_response(Handle, timeout, native_response);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_response);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_do_tunnel(IntPtr raw, IntPtr conn2);
+
+               public Gst.Rtsp.RTSPResult DoTunnel(Gst.Rtsp.RTSPConnection conn2) {
+                       int raw_ret = gst_rtsp_connection_do_tunnel(Handle, conn2 == null ? IntPtr.Zero : conn2.Handle);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_flush(IntPtr raw, bool flush);
+
+               public Gst.Rtsp.RTSPResult Flush(bool flush) {
+                       int raw_ret = gst_rtsp_connection_flush(Handle, flush);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_free(IntPtr raw);
+
+               public Gst.Rtsp.RTSPResult Free() {
+                       int raw_ret = gst_rtsp_connection_free(Handle);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_connection_get_ip(IntPtr raw);
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_set_ip(IntPtr raw, IntPtr ip);
+
+               public string Ip { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_connection_get_ip(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_connection_set_ip(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_connection_get_read_socket(IntPtr raw);
+
+               public GLib.Socket ReadSocket { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_connection_get_read_socket(Handle);
+                               GLib.Socket ret = raw_ret == IntPtr.Zero ? null : (GLib.Socket) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.Socket), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_connection_get_remember_session_id(IntPtr raw);
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_set_remember_session_id(IntPtr raw, bool remember);
+
+               public bool RememberSessionId { 
+                       get {
+                               bool raw_ret = gst_rtsp_connection_get_remember_session_id(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_connection_set_remember_session_id(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_rtsp_connection_get_tls(IntPtr raw, out IntPtr error);
+
+               public unsafe GLib.TlsConnection GetTls() {
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_rtsp_connection_get_tls(Handle, out error);
+                       GLib.TlsConnection ret = GLib.Object.GetObject(raw_ret) as GLib.TlsConnection;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_connection_get_tls_database(IntPtr raw);
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_set_tls_database(IntPtr raw, IntPtr database);
+
+               public GLib.TlsDatabase TlsDatabase { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_connection_get_tls_database(Handle);
+                               GLib.TlsDatabase ret = GLib.Object.GetObject(raw_ret, true) as GLib.TlsDatabase;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_connection_set_tls_database(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_connection_get_tls_interaction(IntPtr raw);
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_set_tls_interaction(IntPtr raw, IntPtr interaction);
+
+               public GLib.TlsInteraction TlsInteraction { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_connection_get_tls_interaction(Handle);
+                               GLib.TlsInteraction ret = GLib.Object.GetObject(raw_ret, true) as GLib.TlsInteraction;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_connection_set_tls_interaction(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_get_tls_validation_flags(IntPtr raw);
+
+               public GLib.TlsCertificateFlags TlsValidationFlags { 
+                       get {
+                               int raw_ret = gst_rtsp_connection_get_tls_validation_flags(Handle);
+                               GLib.TlsCertificateFlags ret = (GLib.TlsCertificateFlags) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_connection_get_tunnelid(IntPtr raw);
+
+               public string Tunnelid { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_connection_get_tunnelid(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_connection_get_url(IntPtr raw);
+
+               public Gst.Rtsp.RTSPUrl Url { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_connection_get_url(Handle);
+                               Gst.Rtsp.RTSPUrl ret = Gst.Rtsp.RTSPUrl.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_connection_get_write_socket(IntPtr raw);
+
+               public GLib.Socket WriteSocket { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_connection_get_write_socket(Handle);
+                               GLib.Socket ret = raw_ret == IntPtr.Zero ? null : (GLib.Socket) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.Socket), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_connection_is_tunneled(IntPtr raw);
+
+               public bool IsTunneled { 
+                       get {
+                               bool raw_ret = gst_rtsp_connection_is_tunneled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_next_timeout(IntPtr raw, IntPtr timeout);
+
+               public Gst.Rtsp.RTSPResult NextTimeout(IntPtr timeout) {
+                       int raw_ret = gst_rtsp_connection_next_timeout(Handle, timeout);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_poll(IntPtr raw, int events, int revents, IntPtr timeout);
+
+               public Gst.Rtsp.RTSPResult Poll(Gst.Rtsp.RTSPEvent events, Gst.Rtsp.RTSPEvent revents, IntPtr timeout) {
+                       int raw_ret = gst_rtsp_connection_poll(Handle, (int) events, (int) revents, timeout);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_read(IntPtr raw, byte data, uint size, IntPtr timeout);
+
+               public Gst.Rtsp.RTSPResult Read(byte data, uint size, IntPtr timeout) {
+                       int raw_ret = gst_rtsp_connection_read(Handle, data, size, timeout);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_receive(IntPtr raw, IntPtr message, IntPtr timeout);
+
+               public Gst.Rtsp.RTSPResult Receive(Gst.Rtsp.RTSPMessage message, IntPtr timeout) {
+                       IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message);
+                       int raw_ret = gst_rtsp_connection_receive(Handle, native_message, timeout);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_message);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_reset_timeout(IntPtr raw);
+
+               public Gst.Rtsp.RTSPResult ResetTimeout() {
+                       int raw_ret = gst_rtsp_connection_reset_timeout(Handle);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_send(IntPtr raw, IntPtr message, IntPtr timeout);
+
+               public Gst.Rtsp.RTSPResult Send(Gst.Rtsp.RTSPMessage message, IntPtr timeout) {
+                       IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message);
+                       int raw_ret = gst_rtsp_connection_send(Handle, native_message, timeout);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_message);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_set_accept_certificate_func(IntPtr raw, Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative func, IntPtr user_data, GLib.DestroyNotify destroy_notify);
+
+               public Gst.Rtsp.RTSPConnectionAcceptCertificateFunc AcceptCertificateFunc { 
+                       set {
+                               Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncWrapper value_wrapper = new Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify destroy_notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       destroy_notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       destroy_notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_rtsp_connection_set_accept_certificate_func(Handle, value_wrapper.NativeDelegate, user_data, destroy_notify);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_set_auth(IntPtr raw, int method, IntPtr user, IntPtr pass);
+
+               public Gst.Rtsp.RTSPResult SetAuth(Gst.Rtsp.RTSPAuthMethod method, string user, string pass) {
+                       IntPtr native_user = GLib.Marshaller.StringToPtrGStrdup (user);
+                       IntPtr native_pass = GLib.Marshaller.StringToPtrGStrdup (pass);
+                       int raw_ret = gst_rtsp_connection_set_auth(Handle, (int) method, native_user, native_pass);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_user);
+                       GLib.Marshaller.Free (native_pass);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_set_auth_param(IntPtr raw, IntPtr param, IntPtr value);
+
+               public void SetAuthParam(string param, string value) {
+                       IntPtr native_param = GLib.Marshaller.StringToPtrGStrdup (param);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       gst_rtsp_connection_set_auth_param(Handle, native_param, native_value);
+                       GLib.Marshaller.Free (native_param);
+                       GLib.Marshaller.Free (native_value);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_set_http_mode(IntPtr raw, bool enable);
+
+               public bool HttpMode { 
+                       set {
+                               gst_rtsp_connection_set_http_mode(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_set_proxy(IntPtr raw, IntPtr host, uint port);
+
+               public Gst.Rtsp.RTSPResult SetProxy(string host, uint port) {
+                       IntPtr native_host = GLib.Marshaller.StringToPtrGStrdup (host);
+                       int raw_ret = gst_rtsp_connection_set_proxy(Handle, native_host, port);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_host);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_set_qos_dscp(IntPtr raw, uint qos_dscp);
+
+               public Gst.Rtsp.RTSPResult SetQosDscp(uint qos_dscp) {
+                       int raw_ret = gst_rtsp_connection_set_qos_dscp(Handle, qos_dscp);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_connection_set_tls_validation_flags(IntPtr raw, int flags);
+
+               public bool SetTlsValidationFlags(GLib.TlsCertificateFlags flags) {
+                       bool raw_ret = gst_rtsp_connection_set_tls_validation_flags(Handle, (int) flags);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_connection_set_tunneled(IntPtr raw, bool tunneled);
+
+               public bool Tunneled { 
+                       set {
+                               gst_rtsp_connection_set_tunneled(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_write(IntPtr raw, byte data, uint size, IntPtr timeout);
+
+               public Gst.Rtsp.RTSPResult Write(byte data, uint size, IntPtr timeout) {
+                       int raw_ret = gst_rtsp_connection_write(Handle, data, size, timeout);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_accept(IntPtr socket, out IntPtr conn, IntPtr cancellable);
+
+               public static Gst.Rtsp.RTSPResult Accept(GLib.Socket socket, out Gst.Rtsp.RTSPConnection conn, GLib.Cancellable cancellable) {
+                       IntPtr native_conn;
+                       int raw_ret = gst_rtsp_connection_accept(socket == null ? IntPtr.Zero : socket.Handle, out native_conn, cancellable == null ? IntPtr.Zero : cancellable.Handle);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       conn = native_conn == IntPtr.Zero ? null : (Gst.Rtsp.RTSPConnection) GLib.Opaque.GetOpaque (native_conn, typeof (Gst.Rtsp.RTSPConnection), true);
+                       return ret;
+               }
+
+               public static Gst.Rtsp.RTSPResult Accept(GLib.Socket socket, out Gst.Rtsp.RTSPConnection conn) {
+                       return Accept (socket, out conn, null);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_create(IntPtr url, out IntPtr conn);
+
+               public static Gst.Rtsp.RTSPResult Create(Gst.Rtsp.RTSPUrl url, out Gst.Rtsp.RTSPConnection conn) {
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr native_conn;
+                       int raw_ret = gst_rtsp_connection_create(native_url, out native_conn);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_url);
+                       conn = native_conn == IntPtr.Zero ? null : (Gst.Rtsp.RTSPConnection) GLib.Opaque.GetOpaque (native_conn, typeof (Gst.Rtsp.RTSPConnection), true);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_connection_create_from_socket(IntPtr socket, IntPtr ip, ushort port, IntPtr initial_buffer, out IntPtr conn);
+
+               public static Gst.Rtsp.RTSPResult CreateFromSocket(GLib.Socket socket, string ip, ushort port, string initial_buffer, out Gst.Rtsp.RTSPConnection conn) {
+                       IntPtr native_ip = GLib.Marshaller.StringToPtrGStrdup (ip);
+                       IntPtr native_initial_buffer = GLib.Marshaller.StringToPtrGStrdup (initial_buffer);
+                       IntPtr native_conn;
+                       int raw_ret = gst_rtsp_connection_create_from_socket(socket == null ? IntPtr.Zero : socket.Handle, native_ip, port, native_initial_buffer, out native_conn);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_ip);
+                       GLib.Marshaller.Free (native_initial_buffer);
+                       conn = native_conn == IntPtr.Zero ? null : (Gst.Rtsp.RTSPConnection) GLib.Opaque.GetOpaque (native_conn, typeof (Gst.Rtsp.RTSPConnection), true);
+                       return ret;
+               }
+
+               public RTSPConnection(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPConnectionAcceptCertificateFunc.cs b/sources/generated/Gst.Rtsp_RTSPConnectionAcceptCertificateFunc.cs
new file mode 100644 (file)
index 0000000..226f21f
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+
+       public delegate bool RTSPConnectionAcceptCertificateFunc(GLib.TlsConnection conn, GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags errors);
+
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPEvent.cs b/sources/generated/Gst.Rtsp_RTSPEvent.cs
new file mode 100644 (file)
index 0000000..41becad
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Rtsp.RTSPEventGType))]
+       public enum RTSPEvent {
+
+               Read = 1,
+               Write = 2,
+       }
+
+       internal class RTSPEventGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_event_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_event_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPExtensionAdapter.cs b/sources/generated/Gst.Rtsp_RTSPExtensionAdapter.cs
new file mode 100644 (file)
index 0000000..4a60f34
--- /dev/null
@@ -0,0 +1,415 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPExtensionAdapter : GLib.GInterfaceAdapter, Gst.Rtsp.IRTSPExtension {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstRTSPExtensionInterface {
+                       public DetectServerNativeDelegate DetectServer;
+                       public BeforeSendNativeDelegate BeforeSend;
+                       public AfterSendNativeDelegate AfterSend;
+                       public ParseSdpNativeDelegate ParseSdp;
+                       public SetupMediaNativeDelegate SetupMedia;
+                       public ConfigureStreamNativeDelegate ConfigureStream;
+                       public GetTransportsNativeDelegate GetTransports;
+                       public StreamSelectNativeDelegate StreamSelect;
+                       IntPtr SendEvent;
+                       public ReceiveRequestNativeDelegate ReceiveRequest;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+                       private IntPtr[] _gstGstReserved;
+               }
+
+               static GstRTSPExtensionInterface iface;
+
+               static RTSPExtensionAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (RTSPExtensionAdapter));
+                       iface.DetectServer = new DetectServerNativeDelegate (DetectServer_cb);
+                       iface.BeforeSend = new BeforeSendNativeDelegate (BeforeSend_cb);
+                       iface.AfterSend = new AfterSendNativeDelegate (AfterSend_cb);
+                       iface.ParseSdp = new ParseSdpNativeDelegate (ParseSdp_cb);
+                       iface.SetupMedia = new SetupMediaNativeDelegate (SetupMedia_cb);
+                       iface.ConfigureStream = new ConfigureStreamNativeDelegate (ConfigureStream_cb);
+                       iface.GetTransports = new GetTransportsNativeDelegate (GetTransports_cb);
+                       iface.StreamSelect = new StreamSelectNativeDelegate (StreamSelect_cb);
+                       iface.ReceiveRequest = new ReceiveRequestNativeDelegate (ReceiveRequest_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DetectServerNativeDelegate (IntPtr inst, IntPtr resp);
+
+               static bool DetectServer_cb (IntPtr inst, IntPtr resp)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               bool __result;
+                               __result = __obj.DetectServer (Gst.Rtsp.RTSPMessage.New (resp));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int BeforeSendNativeDelegate (IntPtr inst, IntPtr req);
+
+               static int BeforeSend_cb (IntPtr inst, IntPtr req)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.BeforeSend (Gst.Rtsp.RTSPMessage.New (req));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AfterSendNativeDelegate (IntPtr inst, IntPtr req, IntPtr resp);
+
+               static int AfterSend_cb (IntPtr inst, IntPtr req, IntPtr resp)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.AfterSend (Gst.Rtsp.RTSPMessage.New (req), Gst.Rtsp.RTSPMessage.New (resp));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ParseSdpNativeDelegate (IntPtr inst, IntPtr sdp, IntPtr s);
+
+               static int ParseSdp_cb (IntPtr inst, IntPtr sdp, IntPtr s)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.ParseSdp (Gst.Sdp.SDPMessage.New (sdp), s == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (s, typeof (Gst.Structure), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int SetupMediaNativeDelegate (IntPtr inst, IntPtr media);
+
+               static int SetupMedia_cb (IntPtr inst, IntPtr media)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.SetupMedia (Gst.Sdp.SDPMedia.New (media));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ConfigureStreamNativeDelegate (IntPtr inst, IntPtr caps);
+
+               static bool ConfigureStream_cb (IntPtr inst, IntPtr caps)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               bool __result;
+                               __result = __obj.ConfigureStream (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int GetTransportsNativeDelegate (IntPtr inst, int protocols, IntPtr transport);
+
+               static int GetTransports_cb (IntPtr inst, int protocols, IntPtr transport)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.GetTransports ((Gst.Rtsp.RTSPLowerTrans) protocols, GLib.Marshaller.Utf8PtrToString (transport));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int StreamSelectNativeDelegate (IntPtr inst, IntPtr url);
+
+               static int StreamSelect_cb (IntPtr inst, IntPtr url)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.StreamSelect (Gst.Rtsp.RTSPUrl.New (url));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ReceiveRequestNativeDelegate (IntPtr inst, IntPtr req);
+
+               static int ReceiveRequest_cb (IntPtr inst, IntPtr req)
+               {
+                       try {
+                               IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.ReceiveRequest (Gst.Rtsp.RTSPMessage.New (req));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GstRTSPExtensionInterface native_iface = (GstRTSPExtensionInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstRTSPExtensionInterface));
+                       native_iface.DetectServer = iface.DetectServer;
+                       native_iface.BeforeSend = iface.BeforeSend;
+                       native_iface.AfterSend = iface.AfterSend;
+                       native_iface.ParseSdp = iface.ParseSdp;
+                       native_iface.SetupMedia = iface.SetupMedia;
+                       native_iface.ConfigureStream = iface.ConfigureStream;
+                       native_iface.GetTransports = iface.GetTransports;
+                       native_iface.StreamSelect = iface.StreamSelect;
+                       native_iface.ReceiveRequest = iface.ReceiveRequest;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public RTSPExtensionAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public RTSPExtensionAdapter (IRTSPExtensionImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public RTSPExtensionAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_extension_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_rtsp_extension_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IRTSPExtension GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IRTSPExtension GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IRTSPExtensionImplementor)
+                               return new RTSPExtensionAdapter (obj as IRTSPExtensionImplementor);
+                       else if (obj as IRTSPExtension == null)
+                               return new RTSPExtensionAdapter (obj.Handle);
+                       else
+                               return obj as IRTSPExtension;
+               }
+
+               public IRTSPExtensionImplementor Implementor {
+                       get {
+                               return implementor as IRTSPExtensionImplementor;
+                       }
+               }
+
+               [GLib.Signal("send")]
+               public event Gst.Rtsp.SendEventHandler SendEvent {
+                       add {
+                               GLib.Object.GetObject (Handle).AddSignalHandler ("send", value, typeof (Gst.Rtsp.SendEventArgs));
+                       }
+                       remove {
+                               GLib.Object.GetObject (Handle).RemoveSignalHandler ("send", value);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_extension_after_send(IntPtr raw, IntPtr req, IntPtr resp);
+
+               public Gst.Rtsp.RTSPResult AfterSend(Gst.Rtsp.RTSPMessage req, Gst.Rtsp.RTSPMessage resp) {
+                       IntPtr native_req = GLib.Marshaller.StructureToPtrAlloc (req);
+                       IntPtr native_resp = GLib.Marshaller.StructureToPtrAlloc (resp);
+                       int raw_ret = gst_rtsp_extension_after_send(Handle, native_req, native_resp);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_req);
+                       Marshal.FreeHGlobal (native_resp);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_extension_before_send(IntPtr raw, IntPtr req);
+
+               public Gst.Rtsp.RTSPResult BeforeSend(Gst.Rtsp.RTSPMessage req) {
+                       IntPtr native_req = GLib.Marshaller.StructureToPtrAlloc (req);
+                       int raw_ret = gst_rtsp_extension_before_send(Handle, native_req);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_req);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_extension_configure_stream(IntPtr raw, IntPtr caps);
+
+               public bool ConfigureStream(Gst.Caps caps) {
+                       bool raw_ret = gst_rtsp_extension_configure_stream(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_extension_detect_server(IntPtr raw, IntPtr resp);
+
+               public bool DetectServer(Gst.Rtsp.RTSPMessage resp) {
+                       IntPtr native_resp = GLib.Marshaller.StructureToPtrAlloc (resp);
+                       bool raw_ret = gst_rtsp_extension_detect_server(Handle, native_resp);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_resp);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_extension_get_transports(IntPtr raw, int protocols, IntPtr transport);
+
+               public Gst.Rtsp.RTSPResult GetTransports(Gst.Rtsp.RTSPLowerTrans protocols, string transport) {
+                       IntPtr native_transport = GLib.Marshaller.StringToPtrGStrdup (transport);
+                       int raw_ret = gst_rtsp_extension_get_transports(Handle, (int) protocols, native_transport);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_transport);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_extension_parse_sdp(IntPtr raw, IntPtr sdp, IntPtr s);
+
+               public Gst.Rtsp.RTSPResult ParseSdp(Gst.Sdp.SDPMessage sdp, Gst.Structure s) {
+                       IntPtr native_sdp = GLib.Marshaller.StructureToPtrAlloc (sdp);
+                       int raw_ret = gst_rtsp_extension_parse_sdp(Handle, native_sdp, s == null ? IntPtr.Zero : s.Handle);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_sdp);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_extension_receive_request(IntPtr raw, IntPtr req);
+
+               public Gst.Rtsp.RTSPResult ReceiveRequest(Gst.Rtsp.RTSPMessage req) {
+                       IntPtr native_req = GLib.Marshaller.StructureToPtrAlloc (req);
+                       int raw_ret = gst_rtsp_extension_receive_request(Handle, native_req);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_req);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_extension_send(IntPtr raw, IntPtr req, IntPtr resp);
+
+               public Gst.Rtsp.RTSPResult Send(Gst.Rtsp.RTSPMessage req, Gst.Rtsp.RTSPMessage resp) {
+                       IntPtr native_req = GLib.Marshaller.StructureToPtrAlloc (req);
+                       IntPtr native_resp = GLib.Marshaller.StructureToPtrAlloc (resp);
+                       int raw_ret = gst_rtsp_extension_send(Handle, native_req, native_resp);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_req);
+                       Marshal.FreeHGlobal (native_resp);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_extension_setup_media(IntPtr raw, IntPtr media);
+
+               public Gst.Rtsp.RTSPResult SetupMedia(Gst.Sdp.SDPMedia media) {
+                       IntPtr native_media = GLib.Marshaller.StructureToPtrAlloc (media);
+                       int raw_ret = gst_rtsp_extension_setup_media(Handle, native_media);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_media);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_extension_stream_select(IntPtr raw, IntPtr url);
+
+               public Gst.Rtsp.RTSPResult StreamSelect(Gst.Rtsp.RTSPUrl url) {
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       int raw_ret = gst_rtsp_extension_stream_select(Handle, native_url);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_url);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPFamily.cs b/sources/generated/Gst.Rtsp_RTSPFamily.cs
new file mode 100644 (file)
index 0000000..e916d3f
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPFamilyGType))]
+       public enum RTSPFamily {
+
+               None = 0,
+               Inet = 1,
+               Inet6 = 2,
+       }
+
+       internal class RTSPFamilyGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_family_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_family_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPHeaderField.cs b/sources/generated/Gst.Rtsp_RTSPHeaderField.cs
new file mode 100644 (file)
index 0000000..82fb9d6
--- /dev/null
@@ -0,0 +1,114 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPHeaderFieldGType))]
+       public enum RTSPHeaderField {
+
+               Invalid = 0,
+               Accept = 1,
+               AcceptEncoding = 2,
+               AcceptLanguage = 3,
+               Allow = 4,
+               Authorization = 5,
+               Bandwidth = 6,
+               Blocksize = 7,
+               CacheControl = 8,
+               Conference = 9,
+               Connection = 10,
+               ContentBase = 11,
+               ContentEncoding = 12,
+               ContentLanguage = 13,
+               ContentLength = 14,
+               ContentLocation = 15,
+               ContentType = 16,
+               Cseq = 17,
+               Date = 18,
+               Expires = 19,
+               From = 20,
+               IfModifiedSince = 21,
+               LastModified = 22,
+               ProxyAuthenticate = 23,
+               ProxyRequire = 24,
+               Public = 25,
+               Range = 26,
+               Referer = 27,
+               Require = 28,
+               RetryAfter = 29,
+               RtpInfo = 30,
+               Scale = 31,
+               Session = 32,
+               Server = 33,
+               Speed = 34,
+               Transport = 35,
+               Unsupported = 36,
+               UserAgent = 37,
+               Via = 38,
+               WwwAuthenticate = 39,
+               ClientChallenge = 40,
+               RealChallenge1 = 41,
+               RealChallenge2 = 42,
+               RealChallenge3 = 43,
+               Subscribe = 44,
+               Alert = 45,
+               ClientId = 46,
+               CompanyId = 47,
+               Guid = 48,
+               RegionData = 49,
+               MaxAsmWidth = 50,
+               Language = 51,
+               PlayerStartTime = 52,
+               Location = 53,
+               Etag = 54,
+               IfMatch = 55,
+               AcceptCharset = 56,
+               Supported = 57,
+               Vary = 58,
+               XAccelerateStreaming = 59,
+               XAcceptAuthent = 60,
+               XAcceptProxyAuthent = 61,
+               XBroadcastId = 62,
+               XBurstStreaming = 63,
+               XNotice = 64,
+               XPlayerLagTime = 65,
+               XPlaylist = 66,
+               XPlaylistChangeNotice = 67,
+               XPlaylistGenId = 68,
+               XPlaylistSeekId = 69,
+               XProxyClientAgent = 70,
+               XProxyClientVerb = 71,
+               XRecedingPlaylistchange = 72,
+               XRtpInfo = 73,
+               XStartupprofile = 74,
+               Timestamp = 75,
+               AuthenticationInfo = 76,
+               Host = 77,
+               Pragma = 78,
+               XServerIpAddress = 79,
+               XSessioncookie = 80,
+               RtcpInterval = 81,
+               Keymgmt = 82,
+               PipelinedRequests = 83,
+               MediaProperties = 84,
+               SeekStyle = 85,
+               AcceptRanges = 86,
+               Last = 87,
+       }
+
+       internal class RTSPHeaderFieldGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_header_field_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_header_field_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPLowerTrans.cs b/sources/generated/Gst.Rtsp_RTSPLowerTrans.cs
new file mode 100644 (file)
index 0000000..5ce8dc4
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Rtsp.RTSPLowerTransGType))]
+       public enum RTSPLowerTrans {
+
+               Unknown = 0,
+               Udp = 1,
+               UdpMcast = 2,
+               Tcp = 4,
+               Http = 16,
+               Tls = 32,
+       }
+
+       internal class RTSPLowerTransGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_lower_trans_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_lower_trans_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPMessage.cs b/sources/generated/Gst.Rtsp_RTSPMessage.cs
new file mode 100644 (file)
index 0000000..d4ce3cf
--- /dev/null
@@ -0,0 +1,401 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPMessage : IEquatable<RTSPMessage> {
+
+               public Gst.Rtsp.RTSPMsgType Type;
+               private IntPtr HdrFieldsPtr;
+               private IntPtr _body;
+               private uint body_size;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Rtsp.RTSPMessage Zero = new Gst.Rtsp.RTSPMessage ();
+
+               public static Gst.Rtsp.RTSPMessage New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPMessage.Zero;
+                       return (Gst.Rtsp.RTSPMessage) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPMessage));
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_msg_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_msg_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_add_header(IntPtr raw, int field, IntPtr value);
+
+               public Gst.Rtsp.RTSPResult AddHeader(Gst.Rtsp.RTSPHeaderField field, string value) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       int raw_ret = gst_rtsp_message_add_header(this_as_native, (int) field, native_value);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_add_header_by_name(IntPtr raw, IntPtr header, IntPtr value);
+
+               public Gst.Rtsp.RTSPResult AddHeaderByName(string header, string value) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_header = GLib.Marshaller.StringToPtrGStrdup (header);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       int raw_ret = gst_rtsp_message_add_header_by_name(this_as_native, native_header, native_value);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_header);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_append_headers(IntPtr raw, IntPtr str);
+
+               public Gst.Rtsp.RTSPResult AppendHeaders(string str) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_append_headers(this_as_native, new GLib.GString (str).Handle);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_dump(IntPtr raw);
+
+               public Gst.Rtsp.RTSPResult Dump() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_dump(this_as_native);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_get_header(IntPtr raw, int field, out IntPtr value, int indx);
+
+               public Gst.Rtsp.RTSPResult GetHeader(Gst.Rtsp.RTSPHeaderField field, out string value, int indx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_value;
+                       int raw_ret = gst_rtsp_message_get_header(this_as_native, (int) field, out native_value, indx);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       value = GLib.Marshaller.Utf8PtrToString (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_get_header_by_name(IntPtr raw, IntPtr header, out IntPtr value, int index);
+
+               public Gst.Rtsp.RTSPResult GetHeaderByName(string header, out string value, int index) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_header = GLib.Marshaller.StringToPtrGStrdup (header);
+                       IntPtr native_value;
+                       int raw_ret = gst_rtsp_message_get_header_by_name(this_as_native, native_header, out native_value, index);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_header);
+                       value = GLib.Marshaller.Utf8PtrToString (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_get_type(IntPtr raw);
+
+               public Gst.Rtsp.RTSPMsgType MessageType { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               int raw_ret = gst_rtsp_message_get_type(this_as_native);
+                               Gst.Rtsp.RTSPMsgType ret = (Gst.Rtsp.RTSPMsgType) raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_init(IntPtr raw);
+
+               public Gst.Rtsp.RTSPResult Init() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_init(this_as_native);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_init_data(IntPtr raw, byte channel);
+
+               public Gst.Rtsp.RTSPResult InitData(byte channel) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_init_data(this_as_native, channel);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_init_request(IntPtr raw, int method, IntPtr uri);
+
+               public Gst.Rtsp.RTSPResult InitRequest(Gst.Rtsp.RTSPMethod method, string uri) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       int raw_ret = gst_rtsp_message_init_request(this_as_native, (int) method, native_uri);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_init_response(IntPtr raw, int code, IntPtr reason, IntPtr request);
+
+               public Gst.Rtsp.RTSPResult InitResponse(Gst.Rtsp.RTSPStatusCode code, string reason, Gst.Rtsp.RTSPMessage request) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_reason = GLib.Marshaller.StringToPtrGStrdup (reason);
+                       IntPtr native_request = GLib.Marshaller.StructureToPtrAlloc (request);
+                       int raw_ret = gst_rtsp_message_init_response(this_as_native, (int) code, native_reason, native_request);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_reason);
+                       Marshal.FreeHGlobal (native_request);
+                       return ret;
+               }
+
+               public Gst.Rtsp.RTSPResult InitResponse(Gst.Rtsp.RTSPStatusCode code) {
+                       return InitResponse (code, null, Gst.Rtsp.RTSPMessage.Zero);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_message_parse_auth_credentials(IntPtr raw, int field);
+
+               public Gst.Rtsp.RTSPAuthCredential ParseAuthCredentials(Gst.Rtsp.RTSPHeaderField field) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_rtsp_message_parse_auth_credentials(this_as_native, (int) field);
+                       Gst.Rtsp.RTSPAuthCredential ret = Gst.Rtsp.RTSPAuthCredential.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_parse_data(IntPtr raw, out byte channel);
+
+               public Gst.Rtsp.RTSPResult ParseData(out byte channel) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_parse_data(this_as_native, out channel);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_parse_request(IntPtr raw, out int method, out IntPtr uri, out int version);
+
+               public Gst.Rtsp.RTSPResult ParseRequest(out Gst.Rtsp.RTSPMethod method, out string uri, out Gst.Rtsp.RTSPVersion version) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int native_method;
+                       IntPtr native_uri;
+                       int native_version;
+                       int raw_ret = gst_rtsp_message_parse_request(this_as_native, out native_method, out native_uri, out native_version);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       method = (Gst.Rtsp.RTSPMethod) native_method;
+                       uri = GLib.Marshaller.PtrToStringGFree(native_uri);
+                       version = (Gst.Rtsp.RTSPVersion) native_version;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_parse_response(IntPtr raw, out int code, out IntPtr reason, out int version);
+
+               public Gst.Rtsp.RTSPResult ParseResponse(out Gst.Rtsp.RTSPStatusCode code, out string reason, out Gst.Rtsp.RTSPVersion version) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int native_code;
+                       IntPtr native_reason;
+                       int native_version;
+                       int raw_ret = gst_rtsp_message_parse_response(this_as_native, out native_code, out native_reason, out native_version);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       code = (Gst.Rtsp.RTSPStatusCode) native_code;
+                       reason = GLib.Marshaller.PtrToStringGFree(native_reason);
+                       version = (Gst.Rtsp.RTSPVersion) native_version;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_remove_header(IntPtr raw, int field, int indx);
+
+               public Gst.Rtsp.RTSPResult RemoveHeader(Gst.Rtsp.RTSPHeaderField field, int indx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_remove_header(this_as_native, (int) field, indx);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_remove_header_by_name(IntPtr raw, IntPtr header, int index);
+
+               public Gst.Rtsp.RTSPResult RemoveHeaderByName(string header, int index) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_header = GLib.Marshaller.StringToPtrGStrdup (header);
+                       int raw_ret = gst_rtsp_message_remove_header_by_name(this_as_native, native_header, index);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_header);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_set_body(IntPtr raw, byte[] data, uint size);
+
+               public Gst.Rtsp.RTSPResult SetBody(byte[] data, uint size) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_set_body(this_as_native, data, size);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_take_body(IntPtr raw, byte[] data, uint size);
+
+               public Gst.Rtsp.RTSPResult TakeBody(byte[] data, uint size) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_take_body(this_as_native, data, size);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_take_header(IntPtr raw, int field, IntPtr value);
+
+               public Gst.Rtsp.RTSPResult TakeHeader(Gst.Rtsp.RTSPHeaderField field, string value) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_take_header(this_as_native, (int) field, GLib.Marshaller.StringToPtrGStrdup(value));
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_take_header_by_name(IntPtr raw, IntPtr header, IntPtr value);
+
+               public Gst.Rtsp.RTSPResult TakeHeaderByName(string header, string value) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_header = GLib.Marshaller.StringToPtrGStrdup (header);
+                       int raw_ret = gst_rtsp_message_take_header_by_name(this_as_native, native_header, GLib.Marshaller.StringToPtrGStrdup(value));
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_header);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_message_unset(IntPtr raw);
+
+               public Gst.Rtsp.RTSPResult Unset() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_message_unset(this_as_native);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Rtsp.RTSPMessage target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (RTSPMessage other)
+               {
+                       return true && Type.Equals (other.Type) && HdrFieldsPtr.Equals (other.HdrFieldsPtr) && _body.Equals (other._body) && body_size.Equals (other.body_size);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPMessage && Equals ((RTSPMessage) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Type.GetHashCode () ^ HdrFieldsPtr.GetHashCode () ^ _body.GetHashCode () ^ body_size.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Rtsp.RTSPMessage boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Rtsp.RTSPMessage.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Rtsp.RTSPMessage (GLib.Value val)
+               {
+                       return (Gst.Rtsp.RTSPMessage) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPMethod.cs b/sources/generated/Gst.Rtsp_RTSPMethod.cs
new file mode 100644 (file)
index 0000000..d9a5632
--- /dev/null
@@ -0,0 +1,41 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Rtsp.RTSPMethodGType))]
+       public enum RTSPMethod {
+
+               Invalid = 0,
+               Describe = 1,
+               Announce = 2,
+               GetParameter = 4,
+               Options = 8,
+               Pause = 16,
+               Play = 32,
+               Record = 64,
+               Redirect = 128,
+               Setup = 256,
+               SetParameter = 512,
+               Teardown = 1024,
+               Get = 2048,
+               Post = 4096,
+       }
+
+       internal class RTSPMethodGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPMsgType.cs b/sources/generated/Gst.Rtsp_RTSPMsgType.cs
new file mode 100644 (file)
index 0000000..650eef0
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPMsgTypeGType))]
+       public enum RTSPMsgType {
+
+               Invalid = 0,
+               Request = 1,
+               Response = 2,
+               HttpRequest = 3,
+               HttpResponse = 4,
+               Data = 5,
+       }
+
+       internal class RTSPMsgTypeGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_msg_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_msg_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPProfile.cs b/sources/generated/Gst.Rtsp_RTSPProfile.cs
new file mode 100644 (file)
index 0000000..f70b85e
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Rtsp.RTSPProfileGType))]
+       public enum RTSPProfile {
+
+               Unknown = 0,
+               Avp = 1,
+               Savp = 2,
+               Avpf = 4,
+               Savpf = 8,
+       }
+
+       internal class RTSPProfileGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_profile_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_profile_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPRange.cs b/sources/generated/Gst.Rtsp_RTSPRange.cs
new file mode 100644 (file)
index 0000000..0742a22
--- /dev/null
@@ -0,0 +1,101 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPRange : IEquatable<RTSPRange> {
+
+               public int Min;
+               public int Max;
+
+               public static Gst.Rtsp.RTSPRange Zero = new Gst.Rtsp.RTSPRange ();
+
+               public static Gst.Rtsp.RTSPRange New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPRange.Zero;
+                       return (Gst.Rtsp.RTSPRange) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPRange));
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_range_convert_units(IntPtr range, int unit);
+
+               public static bool ConvertUnits(Gst.Rtsp.RTSPTimeRange range, Gst.Rtsp.RTSPRangeUnit unit) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       bool raw_ret = gst_rtsp_range_convert_units(native_range, (int) unit);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_range_free(IntPtr range);
+
+               public static void Free(Gst.Rtsp.RTSPTimeRange range) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       gst_rtsp_range_free(native_range);
+                       Marshal.FreeHGlobal (native_range);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_range_get_times(IntPtr range, ulong min, ulong max);
+
+               public static bool GetTimes(Gst.Rtsp.RTSPTimeRange range, ulong min, ulong max) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       bool raw_ret = gst_rtsp_range_get_times(native_range, min, max);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_range_parse(IntPtr rangestr, IntPtr range);
+
+               public static Gst.Rtsp.RTSPResult Parse(string rangestr, Gst.Rtsp.RTSPTimeRange range) {
+                       IntPtr native_rangestr = GLib.Marshaller.StringToPtrGStrdup (rangestr);
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       int raw_ret = gst_rtsp_range_parse(native_rangestr, native_range);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_rangestr);
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_range_to_string(IntPtr range);
+
+               public static string ToString(Gst.Rtsp.RTSPTimeRange range) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       IntPtr raw_ret = gst_rtsp_range_to_string(native_range);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               public bool Equals (RTSPRange other)
+               {
+                       return true && Min.Equals (other.Min) && Max.Equals (other.Max);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPRange && Equals ((RTSPRange) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Min.GetHashCode () ^ Max.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPRangeUnit.cs b/sources/generated/Gst.Rtsp_RTSPRangeUnit.cs
new file mode 100644 (file)
index 0000000..f09c605
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPRangeUnitGType))]
+       public enum RTSPRangeUnit {
+
+               Smpte = 0,
+               Smpte30Drop = 1,
+               Smpte25 = 2,
+               Npt = 3,
+               Clock = 4,
+       }
+
+       internal class RTSPRangeUnitGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_range_unit_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_range_unit_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPResult.cs b/sources/generated/Gst.Rtsp_RTSPResult.cs
new file mode 100644 (file)
index 0000000..9a196c9
--- /dev/null
@@ -0,0 +1,44 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPResultGType))]
+       public enum RTSPResult {
+
+               Elast = -17,
+               Etpost = -16,
+               Etget = -15,
+               Etimeout = -14,
+               Enotip = -13,
+               Enet = -12,
+               Eeof = -11,
+               Ewsaversion = -10,
+               Ewsastart = -9,
+               Eparse = -8,
+               Esys = -7,
+               Enotimpl = -6,
+               Eresolv = -5,
+               Enomem = -4,
+               Eintr = -3,
+               Einval = -2,
+               Error = -1,
+               Ok = 0,
+       }
+
+       internal class RTSPResultGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_result_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_result_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPState.cs b/sources/generated/Gst.Rtsp_RTSPState.cs
new file mode 100644 (file)
index 0000000..a03b303
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPStateGType))]
+       public enum RTSPState {
+
+               Invalid = 0,
+               Init = 1,
+               Ready = 2,
+               Seeking = 3,
+               Playing = 4,
+               Recording = 5,
+       }
+
+       internal class RTSPStateGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_state_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_state_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPStatusCode.cs b/sources/generated/Gst.Rtsp_RTSPStatusCode.cs
new file mode 100644 (file)
index 0000000..9b55e0c
--- /dev/null
@@ -0,0 +1,72 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPStatusCodeGType))]
+       public enum RTSPStatusCode {
+
+               Invalid = 0,
+               Continue = 100,
+               Ok = 200,
+               Created = 201,
+               LowOnStorage = 250,
+               MultipleChoices = 300,
+               MovedPermanently = 301,
+               MoveTemporarily = 302,
+               SeeOther = 303,
+               NotModified = 304,
+               UseProxy = 305,
+               BadRequest = 400,
+               Unauthorized = 401,
+               PaymentRequired = 402,
+               Forbidden = 403,
+               NotFound = 404,
+               MethodNotAllowed = 405,
+               NotAcceptable = 406,
+               ProxyAuthRequired = 407,
+               RequestTimeout = 408,
+               Gone = 410,
+               LengthRequired = 411,
+               PreconditionFailed = 412,
+               RequestEntityTooLarge = 413,
+               RequestUriTooLarge = 414,
+               UnsupportedMediaType = 415,
+               ParameterNotUnderstood = 451,
+               ConferenceNotFound = 452,
+               NotEnoughBandwidth = 453,
+               SessionNotFound = 454,
+               MethodNotValidInThisState = 455,
+               HeaderFieldNotValidForResource = 456,
+               InvalidRange = 457,
+               ParameterIsReadonly = 458,
+               AggregateOperationNotAllowed = 459,
+               OnlyAggregateOperationAllowed = 460,
+               UnsupportedTransport = 461,
+               DestinationUnreachable = 462,
+               KeyManagementFailure = 463,
+               InternalServerError = 500,
+               NotImplemented = 501,
+               BadGateway = 502,
+               ServiceUnavailable = 503,
+               GatewayTimeout = 504,
+               RtspVersionNotSupported = 505,
+               OptionNotSupported = 551,
+       }
+
+       internal class RTSPStatusCodeGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_status_code_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_status_code_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPTime.cs b/sources/generated/Gst.Rtsp_RTSPTime.cs
new file mode 100644 (file)
index 0000000..73c4e94
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPTime : IEquatable<RTSPTime> {
+
+               public Gst.Rtsp.RTSPTimeType Type;
+               public double Seconds;
+
+               public static Gst.Rtsp.RTSPTime Zero = new Gst.Rtsp.RTSPTime ();
+
+               public static Gst.Rtsp.RTSPTime New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPTime.Zero;
+                       return (Gst.Rtsp.RTSPTime) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPTime));
+               }
+
+               public bool Equals (RTSPTime other)
+               {
+                       return true && Type.Equals (other.Type) && Seconds.Equals (other.Seconds);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPTime && Equals ((RTSPTime) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Type.GetHashCode () ^ Seconds.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPTime2.cs b/sources/generated/Gst.Rtsp_RTSPTime2.cs
new file mode 100644 (file)
index 0000000..0845c48
--- /dev/null
@@ -0,0 +1,48 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPTime2 : IEquatable<RTSPTime2> {
+
+               public double Frames;
+               public uint Year;
+               public uint Month;
+               public uint Day;
+
+               public static Gst.Rtsp.RTSPTime2 Zero = new Gst.Rtsp.RTSPTime2 ();
+
+               public static Gst.Rtsp.RTSPTime2 New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPTime2.Zero;
+                       return (Gst.Rtsp.RTSPTime2) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPTime2));
+               }
+
+               public bool Equals (RTSPTime2 other)
+               {
+                       return true && Frames.Equals (other.Frames) && Year.Equals (other.Year) && Month.Equals (other.Month) && Day.Equals (other.Day);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPTime2 && Equals ((RTSPTime2) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Frames.GetHashCode () ^ Year.GetHashCode () ^ Month.GetHashCode () ^ Day.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPTimeRange.cs b/sources/generated/Gst.Rtsp_RTSPTimeRange.cs
new file mode 100644 (file)
index 0000000..71896a6
--- /dev/null
@@ -0,0 +1,49 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPTimeRange : IEquatable<RTSPTimeRange> {
+
+               public Gst.Rtsp.RTSPRangeUnit Unit;
+               public Gst.Rtsp.RTSPTime Min;
+               public Gst.Rtsp.RTSPTime Max;
+               public Gst.Rtsp.RTSPTime2 Min2;
+               public Gst.Rtsp.RTSPTime2 Max2;
+
+               public static Gst.Rtsp.RTSPTimeRange Zero = new Gst.Rtsp.RTSPTimeRange ();
+
+               public static Gst.Rtsp.RTSPTimeRange New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPTimeRange.Zero;
+                       return (Gst.Rtsp.RTSPTimeRange) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPTimeRange));
+               }
+
+               public bool Equals (RTSPTimeRange other)
+               {
+                       return true && Unit.Equals (other.Unit) && Min.Equals (other.Min) && Max.Equals (other.Max) && Min2.Equals (other.Min2) && Max2.Equals (other.Max2);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPTimeRange && Equals ((RTSPTimeRange) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Unit.GetHashCode () ^ Min.GetHashCode () ^ Max.GetHashCode () ^ Min2.GetHashCode () ^ Max2.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPTimeType.cs b/sources/generated/Gst.Rtsp_RTSPTimeType.cs
new file mode 100644 (file)
index 0000000..2087efc
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPTimeTypeGType))]
+       public enum RTSPTimeType {
+
+               Seconds = 0,
+               Now = 1,
+               End = 2,
+               Frames = 3,
+               Utc = 4,
+       }
+
+       internal class RTSPTimeTypeGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_time_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_time_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPTransMode.cs b/sources/generated/Gst.Rtsp_RTSPTransMode.cs
new file mode 100644 (file)
index 0000000..ddd50bd
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Rtsp.RTSPTransModeGType))]
+       public enum RTSPTransMode {
+
+               Unknown = 0,
+               Rtp = 1,
+               Rdt = 2,
+       }
+
+       internal class RTSPTransModeGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_trans_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_trans_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPTransport.cs b/sources/generated/Gst.Rtsp_RTSPTransport.cs
new file mode 100644 (file)
index 0000000..2ae65de
--- /dev/null
@@ -0,0 +1,167 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPTransport : IEquatable<RTSPTransport> {
+
+               public Gst.Rtsp.RTSPTransMode Trans;
+               public Gst.Rtsp.RTSPProfile Profile;
+               public Gst.Rtsp.RTSPLowerTrans LowerTransport;
+               public string Destination;
+               public string Source;
+               public uint Layers;
+               public bool ModePlay;
+               public bool ModeRecord;
+               public bool Append;
+               public Gst.Rtsp.RTSPRange Interleaved;
+               public uint Ttl;
+               public Gst.Rtsp.RTSPRange Port;
+               public Gst.Rtsp.RTSPRange ClientPort;
+               public Gst.Rtsp.RTSPRange ServerPort;
+               public uint Ssrc;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Rtsp.RTSPTransport Zero = new Gst.Rtsp.RTSPTransport ();
+
+               public static Gst.Rtsp.RTSPTransport New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPTransport.Zero;
+                       return (Gst.Rtsp.RTSPTransport) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPTransport));
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_transport_as_text(IntPtr raw);
+
+               public string AsText() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_rtsp_transport_as_text(this_as_native);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_free(IntPtr raw);
+
+               public Gst.Rtsp.RTSPResult Free() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_transport_free(this_as_native);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_get_media_type(IntPtr raw, out IntPtr media_type);
+
+               public Gst.Rtsp.RTSPResult GetMediaType(out string media_type) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_media_type;
+                       int raw_ret = gst_rtsp_transport_get_media_type(this_as_native, out native_media_type);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       media_type = GLib.Marshaller.Utf8PtrToString (native_media_type);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_init(IntPtr raw);
+
+               public Gst.Rtsp.RTSPResult Init() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_transport_init(this_as_native);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_get_manager(int trans, IntPtr manager, uint option);
+
+               public static Gst.Rtsp.RTSPResult GetManager(Gst.Rtsp.RTSPTransMode trans, string manager, uint option) {
+                       IntPtr native_manager = GLib.Marshaller.StringToPtrGStrdup (manager);
+                       int raw_ret = gst_rtsp_transport_get_manager((int) trans, native_manager, option);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_manager);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_get_mime(int trans, IntPtr mime);
+
+               [Obsolete]
+               public static Gst.Rtsp.RTSPResult GetMime(Gst.Rtsp.RTSPTransMode trans, string mime) {
+                       IntPtr native_mime = GLib.Marshaller.StringToPtrGStrdup (mime);
+                       int raw_ret = gst_rtsp_transport_get_mime((int) trans, native_mime);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_mime);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_new(IntPtr transport);
+
+               public static Gst.Rtsp.RTSPResult New(Gst.Rtsp.RTSPTransport transport) {
+                       IntPtr native_transport = GLib.Marshaller.StructureToPtrAlloc (transport);
+                       int raw_ret = gst_rtsp_transport_new(native_transport);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_transport);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_transport_parse(IntPtr str, IntPtr transport);
+
+               public static Gst.Rtsp.RTSPResult Parse(string str, Gst.Rtsp.RTSPTransport transport) {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       IntPtr native_transport = GLib.Marshaller.StructureToPtrAlloc (transport);
+                       int raw_ret = gst_rtsp_transport_parse(native_str, native_transport);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_str);
+                       Marshal.FreeHGlobal (native_transport);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Rtsp.RTSPTransport target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (RTSPTransport other)
+               {
+                       return true && Trans.Equals (other.Trans) && Profile.Equals (other.Profile) && LowerTransport.Equals (other.LowerTransport) && Destination.Equals (other.Destination) && Source.Equals (other.Source) && Layers.Equals (other.Layers) && ModePlay.Equals (other.ModePlay) && ModeRecord.Equals (other.ModeRecord) && Append.Equals (other.Append) && Interleaved.Equals (other.Interleaved) && Ttl.Equals (other.Ttl) && Port.Equals (other.Port) && ClientPort.Equals (other.ClientPort) && ServerPort.Equals (other.ServerPort) && Ssrc.Equals (other.Ssrc);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPTransport && Equals ((RTSPTransport) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Trans.GetHashCode () ^ Profile.GetHashCode () ^ LowerTransport.GetHashCode () ^ Destination.GetHashCode () ^ Source.GetHashCode () ^ Layers.GetHashCode () ^ ModePlay.GetHashCode () ^ ModeRecord.GetHashCode () ^ Append.GetHashCode () ^ Interleaved.GetHashCode () ^ Ttl.GetHashCode () ^ Port.GetHashCode () ^ ClientPort.GetHashCode () ^ ServerPort.GetHashCode () ^ Ssrc.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPUrl.cs b/sources/generated/Gst.Rtsp_RTSPUrl.cs
new file mode 100644 (file)
index 0000000..b410233
--- /dev/null
@@ -0,0 +1,145 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPUrl : IEquatable<RTSPUrl> {
+
+               public Gst.Rtsp.RTSPLowerTrans Transports;
+               public Gst.Rtsp.RTSPFamily Family;
+               public string User;
+               public string Passwd;
+               public string Host;
+               public ushort Port;
+               public string Abspath;
+               public string Query;
+
+               public static Gst.Rtsp.RTSPUrl Zero = new Gst.Rtsp.RTSPUrl ();
+
+               public static Gst.Rtsp.RTSPUrl New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPUrl.Zero;
+                       return (Gst.Rtsp.RTSPUrl) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPUrl));
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_url_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_url_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_url_decode_path_components(IntPtr raw);
+
+               public string[] DecodePathComponents() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_rtsp_url_decode_path_components(this_as_native);
+                       string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_url_get_port(IntPtr raw, ushort port);
+
+               public Gst.Rtsp.RTSPResult GetPort(ushort port) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_url_get_port(this_as_native, port);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_url_get_request_uri(IntPtr raw);
+
+               public string RequestUri { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_rtsp_url_get_request_uri(this_as_native);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_url_set_port(IntPtr raw, ushort port);
+
+               public Gst.Rtsp.RTSPResult SetPort(ushort port) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_rtsp_url_set_port(this_as_native, port);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_url_parse(IntPtr urlstr, IntPtr url);
+
+               public static Gst.Rtsp.RTSPResult Parse(string urlstr, out Gst.Rtsp.RTSPUrl url) {
+                       IntPtr native_urlstr = GLib.Marshaller.StringToPtrGStrdup (urlstr);
+                       IntPtr native_url = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPUrl)));
+                       int raw_ret = gst_rtsp_url_parse(native_urlstr, native_url);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       GLib.Marshaller.Free (native_urlstr);
+                       url = Gst.Rtsp.RTSPUrl.New (native_url);
+                       Marshal.FreeHGlobal (native_url);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Rtsp.RTSPUrl target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (RTSPUrl other)
+               {
+                       return true && Transports.Equals (other.Transports) && Family.Equals (other.Family) && User.Equals (other.User) && Passwd.Equals (other.Passwd) && Host.Equals (other.Host) && Port.Equals (other.Port) && Abspath.Equals (other.Abspath) && Query.Equals (other.Query);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPUrl && Equals ((RTSPUrl) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Transports.GetHashCode () ^ Family.GetHashCode () ^ User.GetHashCode () ^ Passwd.GetHashCode () ^ Host.GetHashCode () ^ Port.GetHashCode () ^ Abspath.GetHashCode () ^ Query.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Rtsp.RTSPUrl boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Rtsp.RTSPUrl.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Rtsp.RTSPUrl (GLib.Value val)
+               {
+                       return (Gst.Rtsp.RTSPUrl) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPVersion.cs b/sources/generated/Gst.Rtsp_RTSPVersion.cs
new file mode 100644 (file)
index 0000000..547c5a5
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Rtsp.RTSPVersionGType))]
+       public enum RTSPVersion {
+
+               Invalid = 0,
+               _110 = 16,
+               _111 = 17,
+               _220 = 32,
+       }
+
+       internal class RTSPVersionGType {
+               [DllImport ("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_version_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_version_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPWatch.cs b/sources/generated/Gst.Rtsp_RTSPWatch.cs
new file mode 100644 (file)
index 0000000..03156ab
--- /dev/null
@@ -0,0 +1,138 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPWatch : GLib.Opaque {
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_watch_attach(IntPtr raw, IntPtr context);
+
+               public uint Attach(GLib.MainContext context) {
+                       uint raw_ret = gst_rtsp_watch_attach(Handle, context == null ? IntPtr.Zero : context.Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_watch_get_send_backlog(IntPtr raw, out UIntPtr bytes, out uint messages);
+
+               public void GetSendBacklog(out ulong bytes, out uint messages) {
+                       UIntPtr native_bytes;
+                       gst_rtsp_watch_get_send_backlog(Handle, out native_bytes, out messages);
+                       bytes = (ulong) native_bytes;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_watch_reset(IntPtr raw);
+
+               public void Reset() {
+                       gst_rtsp_watch_reset(Handle);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_watch_send_message(IntPtr raw, IntPtr message, out uint id);
+
+               public Gst.Rtsp.RTSPResult SendMessage(Gst.Rtsp.RTSPMessage message, out uint id) {
+                       IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message);
+                       int raw_ret = gst_rtsp_watch_send_message(Handle, native_message, out id);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_message);
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_watch_set_flushing(IntPtr raw, bool flushing);
+
+               public bool Flushing { 
+                       set {
+                               gst_rtsp_watch_set_flushing(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_watch_set_send_backlog(IntPtr raw, UIntPtr bytes, uint messages);
+
+               public void SetSendBacklog(ulong bytes, uint messages) {
+                       gst_rtsp_watch_set_send_backlog(Handle, new UIntPtr (bytes), messages);
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_watch_wait_backlog(IntPtr raw, IntPtr timeout);
+
+               public Gst.Rtsp.RTSPResult WaitBacklog(IntPtr timeout) {
+                       int raw_ret = gst_rtsp_watch_wait_backlog(Handle, timeout);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_watch_write_data(IntPtr raw, byte[] data, uint size, out uint id);
+
+               public Gst.Rtsp.RTSPResult WriteData(byte[] data, uint size, out uint id) {
+                       int raw_ret = gst_rtsp_watch_write_data(Handle, data, size, out id);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       return ret;
+               }
+
+               public RTSPWatch(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_watch_unref(IntPtr raw);
+
+               protected override void Unref (IntPtr raw)
+               {
+                       if (Owned) {
+                               gst_rtsp_watch_unref (raw);
+                               Owned = false;
+                       }
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_rtsp_watch_unref (handle);
+                               return false;
+                       }
+               }
+
+               ~RTSPWatch ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_RTSPWatchFuncs.cs b/sources/generated/Gst.Rtsp_RTSPWatchFuncs.cs
new file mode 100644 (file)
index 0000000..4fa204d
--- /dev/null
@@ -0,0 +1,55 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPWatchFuncs : IEquatable<RTSPWatchFuncs> {
+
+               private IntPtr _message_received;
+               private IntPtr _message_sent;
+               private IntPtr _closed;
+               private IntPtr _error;
+               private IntPtr _tunnel_start;
+               private IntPtr _tunnel_complete;
+               private IntPtr _error_full;
+               private IntPtr _tunnel_lost;
+               private IntPtr _tunnel_http_response;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=3)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Rtsp.RTSPWatchFuncs Zero = new Gst.Rtsp.RTSPWatchFuncs ();
+
+               public static Gst.Rtsp.RTSPWatchFuncs New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Rtsp.RTSPWatchFuncs.Zero;
+                       return (Gst.Rtsp.RTSPWatchFuncs) Marshal.PtrToStructure (raw, typeof (Gst.Rtsp.RTSPWatchFuncs));
+               }
+
+               public bool Equals (RTSPWatchFuncs other)
+               {
+                       return true && _message_received.Equals (other._message_received) && _message_sent.Equals (other._message_sent) && _closed.Equals (other._closed) && _error.Equals (other._error) && _tunnel_start.Equals (other._tunnel_start) && _tunnel_complete.Equals (other._tunnel_complete) && _error_full.Equals (other._error_full) && _tunnel_lost.Equals (other._tunnel_lost) && _tunnel_http_response.Equals (other._tunnel_http_response);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPWatchFuncs && Equals ((RTSPWatchFuncs) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ _message_received.GetHashCode () ^ _message_sent.GetHashCode () ^ _closed.GetHashCode () ^ _error.GetHashCode () ^ _tunnel_start.GetHashCode () ^ _tunnel_complete.GetHashCode () ^ _error_full.GetHashCode () ^ _tunnel_lost.GetHashCode () ^ _tunnel_http_response.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Rtsp_SendEventHandler.cs b/sources/generated/Gst.Rtsp_SendEventHandler.cs
new file mode 100644 (file)
index 0000000..1124a8d
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Rtsp {
+
+       using System;
+
+       public delegate void SendEventHandler(object o, SendEventArgs args);
+
+       public class SendEventArgs : GLib.SignalArgs {
+               public IntPtr Object{
+                       get {
+                               return (IntPtr) Args [0];
+                       }
+               }
+
+               public IntPtr P0{
+                       get {
+                               return (IntPtr) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.Sdp_Constants.cs b/sources/generated/Gst.Sdp_Constants.cs
new file mode 100644 (file)
index 0000000..a305c06
--- /dev/null
@@ -0,0 +1,23 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const int MIKEY_VERSION = 1;
+               public const string SDP_BWTYPE_AS = @"AS";
+               public const string SDP_BWTYPE_CT = @"CT";
+               public const string SDP_BWTYPE_EXT_PREFIX = @"X-";
+               public const string SDP_BWTYPE_RR = @"RR";
+               public const string SDP_BWTYPE_RS = @"RS";
+               public const string SDP_BWTYPE_TIAS = @"TIAS";
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_Global.cs b/sources/generated/Gst.Sdp_Global.cs
new file mode 100644 (file)
index 0000000..4782c2c
--- /dev/null
@@ -0,0 +1,116 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_sdp_address_is_multicast(IntPtr nettype, IntPtr addrtype, IntPtr addr);
+
+               public static bool SdpAddressIsMulticast(string nettype, string addrtype, string addr) {
+                       IntPtr native_nettype = GLib.Marshaller.StringToPtrGStrdup (nettype);
+                       IntPtr native_addrtype = GLib.Marshaller.StringToPtrGStrdup (addrtype);
+                       IntPtr native_addr = GLib.Marshaller.StringToPtrGStrdup (addr);
+                       bool raw_ret = gst_sdp_address_is_multicast(native_nettype, native_addrtype, native_addr);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_nettype);
+                       GLib.Marshaller.Free (native_addrtype);
+                       GLib.Marshaller.Free (native_addr);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_make_keymgmt(IntPtr uri, IntPtr base64);
+
+               public static string SdpMakeKeymgmt(string uri, string base64) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr native_base64 = GLib.Marshaller.StringToPtrGStrdup (base64);
+                       IntPtr raw_ret = gst_sdp_make_keymgmt(native_uri, native_base64);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_uri);
+                       GLib.Marshaller.Free (native_base64);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_new(IntPtr media);
+
+               public static Gst.Sdp.SDPResult SdpMediaNew(out Gst.Sdp.SDPMedia media) {
+                       IntPtr native_media = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Sdp.SDPMedia)));
+                       int raw_ret = gst_sdp_media_new(native_media);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       media = Gst.Sdp.SDPMedia.New (native_media);
+                       Marshal.FreeHGlobal (native_media);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_set_media_from_caps(IntPtr caps, IntPtr media);
+
+               public static Gst.Sdp.SDPResult SdpMediaSetMediaFromCaps(Gst.Caps caps, Gst.Sdp.SDPMedia media) {
+                       IntPtr native_media = GLib.Marshaller.StructureToPtrAlloc (media);
+                       int raw_ret = gst_sdp_media_set_media_from_caps(caps == null ? IntPtr.Zero : caps.Handle, native_media);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_media);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_as_uri(IntPtr scheme, IntPtr msg);
+
+               public static string SdpMessageAsUri(string scheme, Gst.Sdp.SDPMessage msg) {
+                       IntPtr native_scheme = GLib.Marshaller.StringToPtrGStrdup (scheme);
+                       IntPtr native_msg = GLib.Marshaller.StructureToPtrAlloc (msg);
+                       IntPtr raw_ret = gst_sdp_message_as_uri(native_scheme, native_msg);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_scheme);
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_new(IntPtr msg);
+
+               public static Gst.Sdp.SDPResult SdpMessageNew(out Gst.Sdp.SDPMessage msg) {
+                       IntPtr native_msg = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Sdp.SDPMessage)));
+                       int raw_ret = gst_sdp_message_new(native_msg);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       msg = Gst.Sdp.SDPMessage.New (native_msg);
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_parse_buffer(byte[] data, uint size, IntPtr msg);
+
+               public static Gst.Sdp.SDPResult SdpMessageParseBuffer(byte[] data, uint size, Gst.Sdp.SDPMessage msg) {
+                       IntPtr native_msg = GLib.Marshaller.StructureToPtrAlloc (msg);
+                       int raw_ret = gst_sdp_message_parse_buffer(data, size, native_msg);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_parse_uri(IntPtr uri, IntPtr msg);
+
+               public static Gst.Sdp.SDPResult SdpMessageParseUri(string uri, Gst.Sdp.SDPMessage msg) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr native_msg = GLib.Marshaller.StructureToPtrAlloc (msg);
+                       int raw_ret = gst_sdp_message_parse_uri(native_uri, native_msg);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYCacheType.cs b/sources/generated/Gst.Sdp_MIKEYCacheType.cs
new file mode 100644 (file)
index 0000000..a536ab3
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYCacheType {
+
+               None = 0,
+               Always = 1,
+               ForCsb = 2,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYDecryptInfo.cs b/sources/generated/Gst.Sdp_MIKEYDecryptInfo.cs
new file mode 100644 (file)
index 0000000..8fd29fc
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class MIKEYDecryptInfo : GLib.Opaque {
+
+               public MIKEYDecryptInfo(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYEncAlg.cs b/sources/generated/Gst.Sdp_MIKEYEncAlg.cs
new file mode 100644 (file)
index 0000000..3b310a5
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYEncAlg {
+
+               Null = 0,
+               AesCm128 = 1,
+               AesKw128 = 2,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYEncryptInfo.cs b/sources/generated/Gst.Sdp_MIKEYEncryptInfo.cs
new file mode 100644 (file)
index 0000000..5c1013a
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class MIKEYEncryptInfo : GLib.Opaque {
+
+               public MIKEYEncryptInfo(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYKVType.cs b/sources/generated/Gst.Sdp_MIKEYKVType.cs
new file mode 100644 (file)
index 0000000..bd4c295
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYKVType {
+
+               Null = 0,
+               Spi = 1,
+               Interval = 2,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYKeyDataType.cs b/sources/generated/Gst.Sdp_MIKEYKeyDataType.cs
new file mode 100644 (file)
index 0000000..b7c7b84
--- /dev/null
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYKeyDataType {
+
+               Tgk = 0,
+               Tek = 2,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYMacAlg.cs b/sources/generated/Gst.Sdp_MIKEYMacAlg.cs
new file mode 100644 (file)
index 0000000..02bdc87
--- /dev/null
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYMacAlg {
+
+               Null = 0,
+               HmacSha1160 = 1,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYMapSRTP.cs b/sources/generated/Gst.Sdp_MIKEYMapSRTP.cs
new file mode 100644 (file)
index 0000000..e1f938f
--- /dev/null
@@ -0,0 +1,47 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MIKEYMapSRTP : IEquatable<MIKEYMapSRTP> {
+
+               public byte Policy;
+               public uint Ssrc;
+               public uint Roc;
+
+               public static Gst.Sdp.MIKEYMapSRTP Zero = new Gst.Sdp.MIKEYMapSRTP ();
+
+               public static Gst.Sdp.MIKEYMapSRTP New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.MIKEYMapSRTP.Zero;
+                       return (Gst.Sdp.MIKEYMapSRTP) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.MIKEYMapSRTP));
+               }
+
+               public bool Equals (MIKEYMapSRTP other)
+               {
+                       return true && Policy.Equals (other.Policy) && Ssrc.Equals (other.Ssrc) && Roc.Equals (other.Roc);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MIKEYMapSRTP && Equals ((MIKEYMapSRTP) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Policy.GetHashCode () ^ Ssrc.GetHashCode () ^ Roc.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYMapType.cs b/sources/generated/Gst.Sdp_MIKEYMapType.cs
new file mode 100644 (file)
index 0000000..9f30c4c
--- /dev/null
@@ -0,0 +1,15 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYMapType {
+
+               MikeyMapTypeSrtp = 0,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYMessage.cs b/sources/generated/Gst.Sdp_MIKEYMessage.cs
new file mode 100644 (file)
index 0000000..969c481
--- /dev/null
@@ -0,0 +1,484 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class MIKEYMessage : Gst.MiniObject {
+
+               public byte Version {
+                       get {
+                               unsafe {
+                                       byte* raw_ptr = (byte*)(((byte*)Handle) + abi_info.GetFieldOffset("version"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       byte* raw_ptr = (byte*)(((byte*)Handle) + abi_info.GetFieldOffset("version"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public Gst.Sdp.MIKEYType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (Gst.Sdp.MIKEYType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public bool V {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("V"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("V"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public Gst.Sdp.MIKEYPRFFunc PrfFunc {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("prf_func"));
+                                       return (Gst.Sdp.MIKEYPRFFunc) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("prf_func"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public uint CSBId {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("CSB_id"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("CSB_id"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public Gst.Sdp.MIKEYMapType MapType {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("map_type"));
+                                       return (Gst.Sdp.MIKEYMapType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("map_type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_mikey_message_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_add_cs_srtp(IntPtr raw, byte policy, uint ssrc, uint roc);
+
+               public bool AddCsSrtp(byte policy, uint ssrc, uint roc) {
+                       bool raw_ret = gst_mikey_message_add_cs_srtp(Handle, policy, ssrc, roc);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_add_payload(IntPtr raw, IntPtr payload);
+
+               public bool AddPayload(Gst.Sdp.MIKEYPayload payload) {
+                       payload.Owned = false;
+                       bool raw_ret = gst_mikey_message_add_payload(Handle, payload == null ? IntPtr.Zero : payload.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_add_pke(IntPtr raw, int C, ushort data_len, byte[] data);
+
+               public bool AddPke(Gst.Sdp.MIKEYCacheType C, ushort data_len, byte[] data) {
+                       bool raw_ret = gst_mikey_message_add_pke(Handle, (int) C, data_len, data);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_add_rand(IntPtr raw, byte len, byte[] rand);
+
+               public bool AddRand(byte len, byte[] rand) {
+                       bool raw_ret = gst_mikey_message_add_rand(Handle, len, rand);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_add_rand_len(IntPtr raw, byte len);
+
+               public bool AddRandLen(byte len) {
+                       bool raw_ret = gst_mikey_message_add_rand_len(Handle, len);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_add_t(IntPtr raw, int type, byte[] ts_value);
+
+               public bool AddT(Gst.Sdp.MIKEYTSType type, byte[] ts_value) {
+                       bool raw_ret = gst_mikey_message_add_t(Handle, (int) type, ts_value);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_add_t_now_ntp_utc(IntPtr raw);
+
+               public bool AddTNowNtpUtc() {
+                       bool raw_ret = gst_mikey_message_add_t_now_ntp_utc(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_base64_encode(IntPtr raw);
+
+               public string Base64Encode() {
+                       IntPtr raw_ret = gst_mikey_message_base64_encode(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_find_payload(IntPtr raw, int type, uint nth);
+
+               public Gst.Sdp.MIKEYPayload FindPayload(Gst.Sdp.MIKEYPayloadType type, uint nth) {
+                       IntPtr raw_ret = gst_mikey_message_find_payload(Handle, (int) type, nth);
+                       Gst.Sdp.MIKEYPayload ret = raw_ret == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sdp.MIKEYPayload), false);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_get_cs_srtp(IntPtr raw, uint idx);
+
+               public Gst.Sdp.MIKEYMapSRTP GetCsSrtp(uint idx) {
+                       IntPtr raw_ret = gst_mikey_message_get_cs_srtp(Handle, idx);
+                       Gst.Sdp.MIKEYMapSRTP ret = Gst.Sdp.MIKEYMapSRTP.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_mikey_message_get_n_cs(IntPtr raw);
+
+               public uint NCs { 
+                       get {
+                               uint raw_ret = gst_mikey_message_get_n_cs(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_mikey_message_get_n_payloads(IntPtr raw);
+
+               public uint NPayloads { 
+                       get {
+                               uint raw_ret = gst_mikey_message_get_n_payloads(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_get_payload(IntPtr raw, uint idx);
+
+               public Gst.Sdp.MIKEYPayload GetPayload(uint idx) {
+                       IntPtr raw_ret = gst_mikey_message_get_payload(Handle, idx);
+                       Gst.Sdp.MIKEYPayload ret = raw_ret == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sdp.MIKEYPayload), false);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_insert_cs_srtp(IntPtr raw, int idx, IntPtr map);
+
+               public bool InsertCsSrtp(int idx, Gst.Sdp.MIKEYMapSRTP map) {
+                       IntPtr native_map = GLib.Marshaller.StructureToPtrAlloc (map);
+                       bool raw_ret = gst_mikey_message_insert_cs_srtp(Handle, idx, native_map);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_map);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_insert_payload(IntPtr raw, uint idx, IntPtr payload);
+
+               public bool InsertPayload(uint idx, Gst.Sdp.MIKEYPayload payload) {
+                       payload.Owned = false;
+                       bool raw_ret = gst_mikey_message_insert_payload(Handle, idx, payload == null ? IntPtr.Zero : payload.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_remove_cs_srtp(IntPtr raw, int idx);
+
+               public bool RemoveCsSrtp(int idx) {
+                       bool raw_ret = gst_mikey_message_remove_cs_srtp(Handle, idx);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_remove_payload(IntPtr raw, uint idx);
+
+               public bool RemovePayload(uint idx) {
+                       bool raw_ret = gst_mikey_message_remove_payload(Handle, idx);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_replace_cs_srtp(IntPtr raw, int idx, IntPtr map);
+
+               public bool ReplaceCsSrtp(int idx, Gst.Sdp.MIKEYMapSRTP map) {
+                       IntPtr native_map = GLib.Marshaller.StructureToPtrAlloc (map);
+                       bool raw_ret = gst_mikey_message_replace_cs_srtp(Handle, idx, native_map);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_map);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_replace_payload(IntPtr raw, uint idx, IntPtr payload);
+
+               public bool ReplacePayload(uint idx, Gst.Sdp.MIKEYPayload payload) {
+                       payload.Owned = false;
+                       bool raw_ret = gst_mikey_message_replace_payload(Handle, idx, payload == null ? IntPtr.Zero : payload.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_set_info(IntPtr raw, byte version, int type, bool V, int prf_func, uint CSB_id, int map_type);
+
+               public bool SetInfo(byte version, Gst.Sdp.MIKEYType type, bool V, Gst.Sdp.MIKEYPRFFunc prf_func, uint CSB_id, Gst.Sdp.MIKEYMapType map_type) {
+                       bool raw_ret = gst_mikey_message_set_info(Handle, version, (int) type, V, (int) prf_func, CSB_id, (int) map_type);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_mikey_message_to_bytes(IntPtr raw, IntPtr info, out IntPtr error);
+
+               public unsafe GLib.Bytes ToBytes(Gst.Sdp.MIKEYEncryptInfo info) {
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_mikey_message_to_bytes(Handle, info == null ? IntPtr.Zero : info.Handle, out error);
+                       GLib.Bytes ret = new GLib.Bytes(raw_ret);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_message_to_caps(IntPtr raw, IntPtr caps);
+
+               public bool ToCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_mikey_message_to_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public MIKEYMessage(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_new();
+
+               public MIKEYMessage () 
+               {
+                       Raw = gst_mikey_message_new();
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_new_from_bytes(IntPtr bytes, IntPtr info);
+
+               public MIKEYMessage (GLib.Bytes bytes, Gst.Sdp.MIKEYDecryptInfo info) 
+               {
+                       Raw = gst_mikey_message_new_from_bytes(bytes == null ? IntPtr.Zero : bytes.Handle, info == null ? IntPtr.Zero : info.Handle);
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_new_from_caps(IntPtr caps);
+
+               public MIKEYMessage (Gst.Caps caps) 
+               {
+                       Raw = gst_mikey_message_new_from_caps(caps == null ? IntPtr.Zero : caps.Handle);
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_message_new_from_data(byte[] data, UIntPtr n_length, IntPtr info);
+
+               public MIKEYMessage (byte[] data, Gst.Sdp.MIKEYDecryptInfo info) 
+               {
+                       Raw = gst_mikey_message_new_from_data(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)), info == null ? IntPtr.Zero : info.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("version"
+                                                       , Gst.MiniObject.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(byte)) // version
+                                                       , null
+                                                       , "type"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMIKEYMessage_versionAlign), "version")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("type"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Sdp.MIKEYType))) // type
+                                                       , "version"
+                                                       , "V"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMIKEYMessage_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("V"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // V
+                                                       , "type"
+                                                       , "prf_func"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMIKEYMessage_VAlign), "V")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prf_func"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Sdp.MIKEYPRFFunc))) // prf_func
+                                                       , "V"
+                                                       , "CSB_id"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMIKEYMessage_prf_funcAlign), "prf_func")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("CSB_id"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // CSB_id
+                                                       , "prf_func"
+                                                       , "map_type"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMIKEYMessage_CSB_idAlign), "CSB_id")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("map_type"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Sdp.MIKEYMapType))) // map_type
+                                                       , "CSB_id"
+                                                       , "map_info"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMIKEYMessage_map_typeAlign), "map_type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("map_info"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // map_info
+                                                       , "map_type"
+                                                       , "payloads"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("payloads"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // payloads
+                                                       , "map_info"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMIKEYMessage_versionAlign
+               {
+                       sbyte f1;
+                       private byte version;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMIKEYMessage_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.Sdp.MIKEYType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMIKEYMessage_VAlign
+               {
+                       sbyte f1;
+                       private bool V;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMIKEYMessage_prf_funcAlign
+               {
+                       sbyte f1;
+                       private Gst.Sdp.MIKEYPRFFunc prf_func;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMIKEYMessage_CSB_idAlign
+               {
+                       sbyte f1;
+                       private uint CSB_id;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMIKEYMessage_map_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.Sdp.MIKEYMapType map_type;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPRFFunc.cs b/sources/generated/Gst.Sdp_MIKEYPRFFunc.cs
new file mode 100644 (file)
index 0000000..7d2563e
--- /dev/null
@@ -0,0 +1,15 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYPRFFunc {
+
+               MikeyPrfMikey1 = 0,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayload.cs b/sources/generated/Gst.Sdp_MIKEYPayload.cs
new file mode 100644 (file)
index 0000000..3236466
--- /dev/null
@@ -0,0 +1,271 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class MIKEYPayload : Gst.MiniObject {
+
+               public Gst.Sdp.MIKEYPayloadType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (Gst.Sdp.MIKEYPayloadType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public uint Len {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("len"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("len"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_payload_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_mikey_payload_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_kemac_add_sub(IntPtr raw, IntPtr newpay);
+
+               public bool KemacAddSub(Gst.Sdp.MIKEYPayload newpay) {
+                       newpay.Owned = false;
+                       bool raw_ret = gst_mikey_payload_kemac_add_sub(Handle, newpay == null ? IntPtr.Zero : newpay.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_mikey_payload_kemac_get_n_sub(IntPtr raw);
+
+               public uint KemacGetNSub() {
+                       uint raw_ret = gst_mikey_payload_kemac_get_n_sub(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_payload_kemac_get_sub(IntPtr raw, uint idx);
+
+               public Gst.Sdp.MIKEYPayload KemacGetSub(uint idx) {
+                       IntPtr raw_ret = gst_mikey_payload_kemac_get_sub(Handle, idx);
+                       Gst.Sdp.MIKEYPayload ret = raw_ret == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sdp.MIKEYPayload), false);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_kemac_remove_sub(IntPtr raw, uint idx);
+
+               public bool KemacRemoveSub(uint idx) {
+                       bool raw_ret = gst_mikey_payload_kemac_remove_sub(Handle, idx);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_kemac_set(IntPtr raw, int enc_alg, int mac_alg);
+
+               public bool KemacSet(Gst.Sdp.MIKEYEncAlg enc_alg, Gst.Sdp.MIKEYMacAlg mac_alg) {
+                       bool raw_ret = gst_mikey_payload_kemac_set(Handle, (int) enc_alg, (int) mac_alg);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_key_data_set_interval(IntPtr raw, byte vf_len, byte[] vf_data, byte vt_len, byte[] vt_data);
+
+               public bool KeyDataSetInterval(byte vf_len, byte[] vf_data, byte vt_len, byte[] vt_data) {
+                       bool raw_ret = gst_mikey_payload_key_data_set_interval(Handle, vf_len, vf_data, vt_len, vt_data);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_key_data_set_key(IntPtr raw, int key_type, ushort key_len, byte[] key_data);
+
+               public bool KeyDataSetKey(Gst.Sdp.MIKEYKeyDataType key_type, ushort key_len, byte[] key_data) {
+                       bool raw_ret = gst_mikey_payload_key_data_set_key(Handle, (int) key_type, key_len, key_data);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_key_data_set_salt(IntPtr raw, ushort salt_len, byte[] salt_data);
+
+               public bool KeyDataSetSalt(ushort salt_len, byte[] salt_data) {
+                       bool raw_ret = gst_mikey_payload_key_data_set_salt(Handle, salt_len, salt_data);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool KeyDataSetSalt(ushort salt_len) {
+                       return KeyDataSetSalt (salt_len, null);
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_key_data_set_spi(IntPtr raw, byte spi_len, byte[] spi_data);
+
+               public bool KeyDataSetSpi(byte spi_len, byte[] spi_data) {
+                       bool raw_ret = gst_mikey_payload_key_data_set_spi(Handle, spi_len, spi_data);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_pke_set(IntPtr raw, int C, ushort data_len, byte[] data);
+
+               public bool PkeSet(Gst.Sdp.MIKEYCacheType C, ushort data_len, byte[] data) {
+                       bool raw_ret = gst_mikey_payload_pke_set(Handle, (int) C, data_len, data);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_rand_set(IntPtr raw, byte len, byte[] rand);
+
+               public bool RandSet(byte len, byte[] rand) {
+                       bool raw_ret = gst_mikey_payload_rand_set(Handle, len, rand);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_sp_add_param(IntPtr raw, byte type, byte len, byte[] val);
+
+               public bool SpAddParam(byte type, byte len, byte[] val) {
+                       bool raw_ret = gst_mikey_payload_sp_add_param(Handle, type, len, val);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_mikey_payload_sp_get_n_params(IntPtr raw);
+
+               public uint SpGetNParams() {
+                       uint raw_ret = gst_mikey_payload_sp_get_n_params(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_payload_sp_get_param(IntPtr raw, uint idx);
+
+               public Gst.Sdp.MIKEYPayloadSPParam SpGetParam(uint idx) {
+                       IntPtr raw_ret = gst_mikey_payload_sp_get_param(Handle, idx);
+                       Gst.Sdp.MIKEYPayloadSPParam ret = Gst.Sdp.MIKEYPayloadSPParam.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_sp_remove_param(IntPtr raw, uint idx);
+
+               public bool SpRemoveParam(uint idx) {
+                       bool raw_ret = gst_mikey_payload_sp_remove_param(Handle, idx);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_sp_set(IntPtr raw, uint policy, int proto);
+
+               public bool SpSet(uint policy, Gst.Sdp.MIKEYSecProto proto) {
+                       bool raw_ret = gst_mikey_payload_sp_set(Handle, policy, (int) proto);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mikey_payload_t_set(IntPtr raw, int type, byte[] ts_value);
+
+               public bool TSet(Gst.Sdp.MIKEYTSType type, byte[] ts_value) {
+                       bool raw_ret = gst_mikey_payload_t_set(Handle, (int) type, ts_value);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public MIKEYPayload(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mikey_payload_new(int type);
+
+               public MIKEYPayload (Gst.Sdp.MIKEYPayloadType type) 
+               {
+                       Raw = gst_mikey_payload_new((int) type);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("type"
+                                                       , Gst.MiniObject.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Sdp.MIKEYPayloadType))) // type
+                                                       , null
+                                                       , "len"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMIKEYPayload_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("len"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // len
+                                                       , "type"
+                                                       , null
+                                                       , (long) Marshal.OffsetOf(typeof(GstMIKEYPayload_lenAlign), "len")
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMIKEYPayload_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.Sdp.MIKEYPayloadType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMIKEYPayload_lenAlign
+               {
+                       sbyte f1;
+                       private uint len;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayloadKEMAC.cs b/sources/generated/Gst.Sdp_MIKEYPayloadKEMAC.cs
new file mode 100644 (file)
index 0000000..851bba9
--- /dev/null
@@ -0,0 +1,60 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MIKEYPayloadKEMAC : IEquatable<MIKEYPayloadKEMAC> {
+
+               private IntPtr _pt;
+               public Gst.Sdp.MIKEYPayload Pt {
+                       get {
+                               return _pt == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (_pt, typeof (Gst.Sdp.MIKEYPayload), false);
+                       }
+                       set {
+                               _pt = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public Gst.Sdp.MIKEYEncAlg EncAlg;
+               public Gst.Sdp.MIKEYMacAlg MacAlg;
+               private IntPtr SubpayloadsPtr;
+               public IntPtr[] Subpayloads {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (SubpayloadsPtr); }
+                       set { SubpayloadsPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+
+               public static Gst.Sdp.MIKEYPayloadKEMAC Zero = new Gst.Sdp.MIKEYPayloadKEMAC ();
+
+               public static Gst.Sdp.MIKEYPayloadKEMAC New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.MIKEYPayloadKEMAC.Zero;
+                       return (Gst.Sdp.MIKEYPayloadKEMAC) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.MIKEYPayloadKEMAC));
+               }
+
+               public bool Equals (MIKEYPayloadKEMAC other)
+               {
+                       return true && Pt.Equals (other.Pt) && EncAlg.Equals (other.EncAlg) && MacAlg.Equals (other.MacAlg) && SubpayloadsPtr.Equals (other.SubpayloadsPtr);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MIKEYPayloadKEMAC && Equals ((MIKEYPayloadKEMAC) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Pt.GetHashCode () ^ EncAlg.GetHashCode () ^ MacAlg.GetHashCode () ^ SubpayloadsPtr.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayloadKeyData.cs b/sources/generated/Gst.Sdp_MIKEYPayloadKeyData.cs
new file mode 100644 (file)
index 0000000..bcd2bbc
--- /dev/null
@@ -0,0 +1,63 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MIKEYPayloadKeyData : IEquatable<MIKEYPayloadKeyData> {
+
+               private IntPtr _pt;
+               public Gst.Sdp.MIKEYPayload Pt {
+                       get {
+                               return _pt == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (_pt, typeof (Gst.Sdp.MIKEYPayload), false);
+                       }
+                       set {
+                               _pt = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public Gst.Sdp.MIKEYKeyDataType KeyType;
+               public ushort KeyLen;
+               private IntPtr _key_data;
+               public ushort SaltLen;
+               private IntPtr _salt_data;
+               public Gst.Sdp.MIKEYKVType KvType;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=2)]
+               public byte[] KvLen;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=2)]
+               public byte[] KvData;
+
+               public static Gst.Sdp.MIKEYPayloadKeyData Zero = new Gst.Sdp.MIKEYPayloadKeyData ();
+
+               public static Gst.Sdp.MIKEYPayloadKeyData New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.MIKEYPayloadKeyData.Zero;
+                       return (Gst.Sdp.MIKEYPayloadKeyData) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.MIKEYPayloadKeyData));
+               }
+
+               public bool Equals (MIKEYPayloadKeyData other)
+               {
+                       return true && Pt.Equals (other.Pt) && KeyType.Equals (other.KeyType) && KeyLen.Equals (other.KeyLen) && _key_data.Equals (other._key_data) && SaltLen.Equals (other.SaltLen) && _salt_data.Equals (other._salt_data) && KvType.Equals (other.KvType) && KvLen.Equals (other.KvLen) && KvData.Equals (other.KvData);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MIKEYPayloadKeyData && Equals ((MIKEYPayloadKeyData) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Pt.GetHashCode () ^ KeyType.GetHashCode () ^ KeyLen.GetHashCode () ^ _key_data.GetHashCode () ^ SaltLen.GetHashCode () ^ _salt_data.GetHashCode () ^ KvType.GetHashCode () ^ KvLen.GetHashCode () ^ KvData.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayloadPKE.cs b/sources/generated/Gst.Sdp_MIKEYPayloadPKE.cs
new file mode 100644 (file)
index 0000000..7bfb3da
--- /dev/null
@@ -0,0 +1,56 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MIKEYPayloadPKE : IEquatable<MIKEYPayloadPKE> {
+
+               private IntPtr _pt;
+               public Gst.Sdp.MIKEYPayload Pt {
+                       get {
+                               return _pt == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (_pt, typeof (Gst.Sdp.MIKEYPayload), false);
+                       }
+                       set {
+                               _pt = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public Gst.Sdp.MIKEYCacheType C;
+               public ushort DataLen;
+               private IntPtr _data;
+
+               public static Gst.Sdp.MIKEYPayloadPKE Zero = new Gst.Sdp.MIKEYPayloadPKE ();
+
+               public static Gst.Sdp.MIKEYPayloadPKE New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.MIKEYPayloadPKE.Zero;
+                       return (Gst.Sdp.MIKEYPayloadPKE) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.MIKEYPayloadPKE));
+               }
+
+               public bool Equals (MIKEYPayloadPKE other)
+               {
+                       return true && Pt.Equals (other.Pt) && C.Equals (other.C) && DataLen.Equals (other.DataLen) && _data.Equals (other._data);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MIKEYPayloadPKE && Equals ((MIKEYPayloadPKE) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Pt.GetHashCode () ^ C.GetHashCode () ^ DataLen.GetHashCode () ^ _data.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayloadRAND.cs b/sources/generated/Gst.Sdp_MIKEYPayloadRAND.cs
new file mode 100644 (file)
index 0000000..05b907c
--- /dev/null
@@ -0,0 +1,55 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MIKEYPayloadRAND : IEquatable<MIKEYPayloadRAND> {
+
+               private IntPtr _pt;
+               public Gst.Sdp.MIKEYPayload Pt {
+                       get {
+                               return _pt == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (_pt, typeof (Gst.Sdp.MIKEYPayload), false);
+                       }
+                       set {
+                               _pt = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public byte Len;
+               public byte Rand;
+
+               public static Gst.Sdp.MIKEYPayloadRAND Zero = new Gst.Sdp.MIKEYPayloadRAND ();
+
+               public static Gst.Sdp.MIKEYPayloadRAND New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.MIKEYPayloadRAND.Zero;
+                       return (Gst.Sdp.MIKEYPayloadRAND) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.MIKEYPayloadRAND));
+               }
+
+               public bool Equals (MIKEYPayloadRAND other)
+               {
+                       return true && Pt.Equals (other.Pt) && Len.Equals (other.Len) && Rand.Equals (other.Rand);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MIKEYPayloadRAND && Equals ((MIKEYPayloadRAND) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Pt.GetHashCode () ^ Len.GetHashCode () ^ Rand.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayloadSP.cs b/sources/generated/Gst.Sdp_MIKEYPayloadSP.cs
new file mode 100644 (file)
index 0000000..a0073c7
--- /dev/null
@@ -0,0 +1,60 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MIKEYPayloadSP : IEquatable<MIKEYPayloadSP> {
+
+               private IntPtr _pt;
+               public Gst.Sdp.MIKEYPayload Pt {
+                       get {
+                               return _pt == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (_pt, typeof (Gst.Sdp.MIKEYPayload), false);
+                       }
+                       set {
+                               _pt = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public uint Policy;
+               public Gst.Sdp.MIKEYSecProto Proto;
+               private IntPtr ParamsPtr;
+               public IntPtr[] Params {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (ParamsPtr); }
+                       set { ParamsPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+
+               public static Gst.Sdp.MIKEYPayloadSP Zero = new Gst.Sdp.MIKEYPayloadSP ();
+
+               public static Gst.Sdp.MIKEYPayloadSP New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.MIKEYPayloadSP.Zero;
+                       return (Gst.Sdp.MIKEYPayloadSP) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.MIKEYPayloadSP));
+               }
+
+               public bool Equals (MIKEYPayloadSP other)
+               {
+                       return true && Pt.Equals (other.Pt) && Policy.Equals (other.Policy) && Proto.Equals (other.Proto) && ParamsPtr.Equals (other.ParamsPtr);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MIKEYPayloadSP && Equals ((MIKEYPayloadSP) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Pt.GetHashCode () ^ Policy.GetHashCode () ^ Proto.GetHashCode () ^ ParamsPtr.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayloadSPParam.cs b/sources/generated/Gst.Sdp_MIKEYPayloadSPParam.cs
new file mode 100644 (file)
index 0000000..c509ec7
--- /dev/null
@@ -0,0 +1,47 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MIKEYPayloadSPParam : IEquatable<MIKEYPayloadSPParam> {
+
+               public byte Type;
+               public byte Len;
+               private IntPtr _val;
+
+               public static Gst.Sdp.MIKEYPayloadSPParam Zero = new Gst.Sdp.MIKEYPayloadSPParam ();
+
+               public static Gst.Sdp.MIKEYPayloadSPParam New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.MIKEYPayloadSPParam.Zero;
+                       return (Gst.Sdp.MIKEYPayloadSPParam) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.MIKEYPayloadSPParam));
+               }
+
+               public bool Equals (MIKEYPayloadSPParam other)
+               {
+                       return true && Type.Equals (other.Type) && Len.Equals (other.Len) && _val.Equals (other._val);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MIKEYPayloadSPParam && Equals ((MIKEYPayloadSPParam) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Type.GetHashCode () ^ Len.GetHashCode () ^ _val.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayloadT.cs b/sources/generated/Gst.Sdp_MIKEYPayloadT.cs
new file mode 100644 (file)
index 0000000..7ed0085
--- /dev/null
@@ -0,0 +1,55 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MIKEYPayloadT : IEquatable<MIKEYPayloadT> {
+
+               private IntPtr _pt;
+               public Gst.Sdp.MIKEYPayload Pt {
+                       get {
+                               return _pt == IntPtr.Zero ? null : (Gst.Sdp.MIKEYPayload) GLib.Opaque.GetOpaque (_pt, typeof (Gst.Sdp.MIKEYPayload), false);
+                       }
+                       set {
+                               _pt = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public Gst.Sdp.MIKEYTSType Type;
+               public byte TsValue;
+
+               public static Gst.Sdp.MIKEYPayloadT Zero = new Gst.Sdp.MIKEYPayloadT ();
+
+               public static Gst.Sdp.MIKEYPayloadT New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.MIKEYPayloadT.Zero;
+                       return (Gst.Sdp.MIKEYPayloadT) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.MIKEYPayloadT));
+               }
+
+               public bool Equals (MIKEYPayloadT other)
+               {
+                       return true && Pt.Equals (other.Pt) && Type.Equals (other.Type) && TsValue.Equals (other.TsValue);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MIKEYPayloadT && Equals ((MIKEYPayloadT) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Pt.GetHashCode () ^ Type.GetHashCode () ^ TsValue.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYPayloadType.cs b/sources/generated/Gst.Sdp_MIKEYPayloadType.cs
new file mode 100644 (file)
index 0000000..104b240
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYPayloadType {
+
+               Last = 0,
+               Kemac = 1,
+               Pke = 2,
+               Dh = 3,
+               Sign = 4,
+               T = 5,
+               Id = 6,
+               Cert = 7,
+               Chash = 8,
+               V = 9,
+               Sp = 10,
+               Rand = 11,
+               Err = 12,
+               KeyData = 20,
+               GenExt = 21,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYSecProto.cs b/sources/generated/Gst.Sdp_MIKEYSecProto.cs
new file mode 100644 (file)
index 0000000..4c7721f
--- /dev/null
@@ -0,0 +1,15 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYSecProto {
+
+               MikeySecProtoSrtp = 0,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYSecSRTP.cs b/sources/generated/Gst.Sdp_MIKEYSecSRTP.cs
new file mode 100644 (file)
index 0000000..8f7522a
--- /dev/null
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYSecSRTP {
+
+               EncAlg = 0,
+               EncKeyLen = 1,
+               AuthAlg = 2,
+               AuthKeyLen = 3,
+               SaltKeyLen = 4,
+               Prf = 5,
+               KeyDerivRate = 6,
+               SrtpEnc = 7,
+               SrtcpEnc = 8,
+               FecOrder = 9,
+               SrtpAuth = 10,
+               AuthTagLen = 11,
+               SrtpPrefixLen = 12,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYTSType.cs b/sources/generated/Gst.Sdp_MIKEYTSType.cs
new file mode 100644 (file)
index 0000000..42984d0
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYTSType {
+
+               NtpUtc = 0,
+               Ntp = 1,
+               Counter = 2,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_MIKEYType.cs b/sources/generated/Gst.Sdp_MIKEYType.cs
new file mode 100644 (file)
index 0000000..937b0cc
--- /dev/null
@@ -0,0 +1,22 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum MIKEYType {
+
+               Invalid = -1,
+               PskInit = 0,
+               PskVerify = 1,
+               PkInit = 2,
+               PkVerify = 3,
+               DhInit = 4,
+               DhResp = 5,
+               Error = 6,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_SDPAttribute.cs b/sources/generated/Gst.Sdp_SDPAttribute.cs
new file mode 100644 (file)
index 0000000..01b4be9
--- /dev/null
@@ -0,0 +1,85 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPAttribute : IEquatable<SDPAttribute> {
+
+               public string Key;
+               public string Value;
+
+               public static Gst.Sdp.SDPAttribute Zero = new Gst.Sdp.SDPAttribute ();
+
+               public static Gst.Sdp.SDPAttribute New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPAttribute.Zero;
+                       return (Gst.Sdp.SDPAttribute) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPAttribute));
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_attribute_clear(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_attribute_clear(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_attribute_set(IntPtr raw, IntPtr key, IntPtr value);
+
+               public Gst.Sdp.SDPResult Set(string key, string value) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       int raw_ret = gst_sdp_attribute_set(this_as_native, native_key, native_value);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_key);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public Gst.Sdp.SDPResult Set(string key) {
+                       return Set (key, null);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Sdp.SDPAttribute target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (SDPAttribute other)
+               {
+                       return true && Key.Equals (other.Key) && Value.Equals (other.Value);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPAttribute && Equals ((SDPAttribute) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Key.GetHashCode () ^ Value.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_SDPBandwidth.cs b/sources/generated/Gst.Sdp_SDPBandwidth.cs
new file mode 100644 (file)
index 0000000..fcccd48
--- /dev/null
@@ -0,0 +1,79 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPBandwidth : IEquatable<SDPBandwidth> {
+
+               public string Bwtype;
+               public uint Bandwidth;
+
+               public static Gst.Sdp.SDPBandwidth Zero = new Gst.Sdp.SDPBandwidth ();
+
+               public static Gst.Sdp.SDPBandwidth New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPBandwidth.Zero;
+                       return (Gst.Sdp.SDPBandwidth) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPBandwidth));
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_bandwidth_clear(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_bandwidth_clear(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_bandwidth_set(IntPtr raw, IntPtr bwtype, uint bandwidth);
+
+               public Gst.Sdp.SDPResult Set(string bwtype, uint bandwidth) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_bwtype = GLib.Marshaller.StringToPtrGStrdup (bwtype);
+                       int raw_ret = gst_sdp_bandwidth_set(this_as_native, native_bwtype, bandwidth);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_bwtype);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Sdp.SDPBandwidth target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (SDPBandwidth other)
+               {
+                       return true && Bwtype.Equals (other.Bwtype) && Bandwidth.Equals (other.Bandwidth);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPBandwidth && Equals ((SDPBandwidth) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Bwtype.GetHashCode () ^ Bandwidth.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_SDPConnection.cs b/sources/generated/Gst.Sdp_SDPConnection.cs
new file mode 100644 (file)
index 0000000..1403f01
--- /dev/null
@@ -0,0 +1,86 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPConnection : IEquatable<SDPConnection> {
+
+               public string Nettype;
+               public string Addrtype;
+               public string Address;
+               public uint Ttl;
+               public uint AddrNumber;
+
+               public static Gst.Sdp.SDPConnection Zero = new Gst.Sdp.SDPConnection ();
+
+               public static Gst.Sdp.SDPConnection New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPConnection.Zero;
+                       return (Gst.Sdp.SDPConnection) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPConnection));
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_connection_clear(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_connection_clear(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_connection_set(IntPtr raw, IntPtr nettype, IntPtr addrtype, IntPtr address, uint ttl, uint addr_number);
+
+               public Gst.Sdp.SDPResult Set(string nettype, string addrtype, string address, uint ttl, uint addr_number) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_nettype = GLib.Marshaller.StringToPtrGStrdup (nettype);
+                       IntPtr native_addrtype = GLib.Marshaller.StringToPtrGStrdup (addrtype);
+                       IntPtr native_address = GLib.Marshaller.StringToPtrGStrdup (address);
+                       int raw_ret = gst_sdp_connection_set(this_as_native, native_nettype, native_addrtype, native_address, ttl, addr_number);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_nettype);
+                       GLib.Marshaller.Free (native_addrtype);
+                       GLib.Marshaller.Free (native_address);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Sdp.SDPConnection target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (SDPConnection other)
+               {
+                       return true && Nettype.Equals (other.Nettype) && Addrtype.Equals (other.Addrtype) && Address.Equals (other.Address) && Ttl.Equals (other.Ttl) && AddrNumber.Equals (other.AddrNumber);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPConnection && Equals ((SDPConnection) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Nettype.GetHashCode () ^ Addrtype.GetHashCode () ^ Address.GetHashCode () ^ Ttl.GetHashCode () ^ AddrNumber.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_SDPKey.cs b/sources/generated/Gst.Sdp_SDPKey.cs
new file mode 100644 (file)
index 0000000..5edd049
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPKey : IEquatable<SDPKey> {
+
+               public string Type;
+               public string Data;
+
+               public static Gst.Sdp.SDPKey Zero = new Gst.Sdp.SDPKey ();
+
+               public static Gst.Sdp.SDPKey New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPKey.Zero;
+                       return (Gst.Sdp.SDPKey) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPKey));
+               }
+
+               public bool Equals (SDPKey other)
+               {
+                       return true && Type.Equals (other.Type) && Data.Equals (other.Data);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPKey && Equals ((SDPKey) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Type.GetHashCode () ^ Data.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_SDPMedia.cs b/sources/generated/Gst.Sdp_SDPMedia.cs
new file mode 100644 (file)
index 0000000..ce19775
--- /dev/null
@@ -0,0 +1,658 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPMedia : IEquatable<SDPMedia> {
+
+               public string Media;
+               public uint Port;
+               public uint NumPorts;
+               public string Proto;
+               private IntPtr FmtsPtr;
+               public IntPtr[] Fmts {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (FmtsPtr); }
+                       set { FmtsPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               public string Information;
+               private IntPtr ConnectionsPtr;
+               public IntPtr[] Connections {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (ConnectionsPtr); }
+                       set { ConnectionsPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               private IntPtr BandwidthsPtr;
+               public IntPtr[] Bandwidths {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (BandwidthsPtr); }
+                       set { BandwidthsPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               public Gst.Sdp.SDPKey Key;
+               private IntPtr AttributesPtr;
+               public IntPtr[] Attributes {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (AttributesPtr); }
+                       set { AttributesPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+
+               public static Gst.Sdp.SDPMedia Zero = new Gst.Sdp.SDPMedia ();
+
+               public static Gst.Sdp.SDPMedia New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPMedia.Zero;
+                       return (Gst.Sdp.SDPMedia) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPMedia));
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_add_attribute(IntPtr raw, IntPtr key, IntPtr value);
+
+               public Gst.Sdp.SDPResult AddAttribute(string key, string value) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       int raw_ret = gst_sdp_media_add_attribute(this_as_native, native_key, native_value);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_key);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public Gst.Sdp.SDPResult AddAttribute(string key) {
+                       return AddAttribute (key, null);
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_add_bandwidth(IntPtr raw, IntPtr bwtype, uint bandwidth);
+
+               public Gst.Sdp.SDPResult AddBandwidth(string bwtype, uint bandwidth) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_bwtype = GLib.Marshaller.StringToPtrGStrdup (bwtype);
+                       int raw_ret = gst_sdp_media_add_bandwidth(this_as_native, native_bwtype, bandwidth);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_bwtype);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_add_connection(IntPtr raw, IntPtr nettype, IntPtr addrtype, IntPtr address, uint ttl, uint addr_number);
+
+               public Gst.Sdp.SDPResult AddConnection(string nettype, string addrtype, string address, uint ttl, uint addr_number) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_nettype = GLib.Marshaller.StringToPtrGStrdup (nettype);
+                       IntPtr native_addrtype = GLib.Marshaller.StringToPtrGStrdup (addrtype);
+                       IntPtr native_address = GLib.Marshaller.StringToPtrGStrdup (address);
+                       int raw_ret = gst_sdp_media_add_connection(this_as_native, native_nettype, native_addrtype, native_address, ttl, addr_number);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_nettype);
+                       GLib.Marshaller.Free (native_addrtype);
+                       GLib.Marshaller.Free (native_address);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_add_format(IntPtr raw, IntPtr format);
+
+               public Gst.Sdp.SDPResult AddFormat(string format) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+                       int raw_ret = gst_sdp_media_add_format(this_as_native, native_format);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_format);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_media_as_text(IntPtr raw);
+
+               public string AsText() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_media_as_text(this_as_native);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_media_attributes_len(IntPtr raw);
+
+               public uint AttributesLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_media_attributes_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_attributes_to_caps(IntPtr raw, IntPtr caps);
+
+               public Gst.Sdp.SDPResult AttributesToCaps(Gst.Caps caps) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_attributes_to_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_media_bandwidths_len(IntPtr raw);
+
+               public uint BandwidthsLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_media_bandwidths_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_media_connections_len(IntPtr raw);
+
+               public uint ConnectionsLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_media_connections_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_copy(IntPtr raw, IntPtr copy);
+
+               public Gst.Sdp.SDPResult Copy(out Gst.Sdp.SDPMedia copy) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_copy = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Sdp.SDPMedia)));
+                       int raw_ret = gst_sdp_media_copy(this_as_native, native_copy);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       copy = Gst.Sdp.SDPMedia.New (native_copy);
+                       Marshal.FreeHGlobal (native_copy);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_media_formats_len(IntPtr raw);
+
+               public uint FormatsLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_media_formats_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_free(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Free() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_free(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_media_get_attribute(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPAttribute GetAttribute(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_media_get_attribute(this_as_native, idx);
+                       Gst.Sdp.SDPAttribute ret = Gst.Sdp.SDPAttribute.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_media_get_attribute_val(IntPtr raw, IntPtr key);
+
+               public string GetAttributeVal(string key) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = gst_sdp_media_get_attribute_val(this_as_native, native_key);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_media_get_attribute_val_n(IntPtr raw, IntPtr key, uint nth);
+
+               public string GetAttributeValN(string key, uint nth) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = gst_sdp_media_get_attribute_val_n(this_as_native, native_key, nth);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_media_get_bandwidth(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPBandwidth GetBandwidth(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_media_get_bandwidth(this_as_native, idx);
+                       Gst.Sdp.SDPBandwidth ret = Gst.Sdp.SDPBandwidth.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_media_get_caps_from_media(IntPtr raw, int pt);
+
+               public Gst.Caps GetCapsFromMedia(int pt) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_media_get_caps_from_media(this_as_native, pt);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_media_get_connection(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPConnection GetConnection(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_media_get_connection(this_as_native, idx);
+                       Gst.Sdp.SDPConnection ret = Gst.Sdp.SDPConnection.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_media_get_format(IntPtr raw, uint idx);
+
+               public string GetFormat(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_media_get_format(this_as_native, idx);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_init(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Init() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_init(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_insert_attribute(IntPtr raw, int idx, IntPtr attr);
+
+               public Gst.Sdp.SDPResult InsertAttribute(int idx, Gst.Sdp.SDPAttribute attr) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_attr = GLib.Marshaller.StructureToPtrAlloc (attr);
+                       int raw_ret = gst_sdp_media_insert_attribute(this_as_native, idx, native_attr);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_attr);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_insert_bandwidth(IntPtr raw, int idx, IntPtr bw);
+
+               public Gst.Sdp.SDPResult InsertBandwidth(int idx, Gst.Sdp.SDPBandwidth bw) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_bw = GLib.Marshaller.StructureToPtrAlloc (bw);
+                       int raw_ret = gst_sdp_media_insert_bandwidth(this_as_native, idx, native_bw);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_bw);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_insert_connection(IntPtr raw, int idx, IntPtr conn);
+
+               public Gst.Sdp.SDPResult InsertConnection(int idx, Gst.Sdp.SDPConnection conn) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_conn = GLib.Marshaller.StructureToPtrAlloc (conn);
+                       int raw_ret = gst_sdp_media_insert_connection(this_as_native, idx, native_conn);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_conn);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_insert_format(IntPtr raw, int idx, IntPtr format);
+
+               public Gst.Sdp.SDPResult InsertFormat(int idx, string format) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+                       int raw_ret = gst_sdp_media_insert_format(this_as_native, idx, native_format);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_format);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_parse_keymgmt(IntPtr raw, out IntPtr mikey);
+
+               public Gst.Sdp.SDPResult ParseKeymgmt(out Gst.Sdp.MIKEYMessage mikey) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_mikey;
+                       int raw_ret = gst_sdp_media_parse_keymgmt(this_as_native, out native_mikey);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       mikey = native_mikey == IntPtr.Zero ? null : (Gst.Sdp.MIKEYMessage) GLib.Opaque.GetOpaque (native_mikey, typeof (Gst.Sdp.MIKEYMessage), true);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_remove_attribute(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveAttribute(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_remove_attribute(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_remove_bandwidth(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveBandwidth(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_remove_bandwidth(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_remove_connection(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveConnection(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_remove_connection(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_remove_format(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveFormat(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_remove_format(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_replace_attribute(IntPtr raw, uint idx, IntPtr attr);
+
+               public Gst.Sdp.SDPResult ReplaceAttribute(uint idx, Gst.Sdp.SDPAttribute attr) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_attr = GLib.Marshaller.StructureToPtrAlloc (attr);
+                       int raw_ret = gst_sdp_media_replace_attribute(this_as_native, idx, native_attr);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_attr);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_replace_bandwidth(IntPtr raw, uint idx, IntPtr bw);
+
+               public Gst.Sdp.SDPResult ReplaceBandwidth(uint idx, Gst.Sdp.SDPBandwidth bw) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_bw = GLib.Marshaller.StructureToPtrAlloc (bw);
+                       int raw_ret = gst_sdp_media_replace_bandwidth(this_as_native, idx, native_bw);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_bw);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_replace_connection(IntPtr raw, uint idx, IntPtr conn);
+
+               public Gst.Sdp.SDPResult ReplaceConnection(uint idx, Gst.Sdp.SDPConnection conn) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_conn = GLib.Marshaller.StructureToPtrAlloc (conn);
+                       int raw_ret = gst_sdp_media_replace_connection(this_as_native, idx, native_conn);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_conn);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_replace_format(IntPtr raw, uint idx, IntPtr format);
+
+               public Gst.Sdp.SDPResult ReplaceFormat(uint idx, string format) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+                       int raw_ret = gst_sdp_media_replace_format(this_as_native, idx, native_format);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_format);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_set_information(IntPtr raw, IntPtr information);
+
+               public Gst.Sdp.SDPResult SetInformation(string information) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_information = GLib.Marshaller.StringToPtrGStrdup (information);
+                       int raw_ret = gst_sdp_media_set_information(this_as_native, native_information);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_information);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_set_key(IntPtr raw, IntPtr type, IntPtr data);
+
+               public Gst.Sdp.SDPResult SetKey(string type, string data) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+                       IntPtr native_data = GLib.Marshaller.StringToPtrGStrdup (data);
+                       int raw_ret = gst_sdp_media_set_key(this_as_native, native_type, native_data);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_type);
+                       GLib.Marshaller.Free (native_data);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_set_media(IntPtr raw, IntPtr med);
+
+               public Gst.Sdp.SDPResult SetMedia(string med) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_med = GLib.Marshaller.StringToPtrGStrdup (med);
+                       int raw_ret = gst_sdp_media_set_media(this_as_native, native_med);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_med);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_set_port_info(IntPtr raw, uint port, uint num_ports);
+
+               public Gst.Sdp.SDPResult SetPortInfo(uint port, uint num_ports) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_set_port_info(this_as_native, port, num_ports);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_set_proto(IntPtr raw, IntPtr proto);
+
+               public Gst.Sdp.SDPResult SetProto(string proto) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_proto = GLib.Marshaller.StringToPtrGStrdup (proto);
+                       int raw_ret = gst_sdp_media_set_proto(this_as_native, native_proto);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_proto);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_uninit(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Uninit() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_media_uninit(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_new(IntPtr media);
+
+               public static Gst.Sdp.SDPResult New(out Gst.Sdp.SDPMedia media) {
+                       IntPtr native_media = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Sdp.SDPMedia)));
+                       int raw_ret = gst_sdp_media_new(native_media);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       media = Gst.Sdp.SDPMedia.New (native_media);
+                       Marshal.FreeHGlobal (native_media);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_media_set_media_from_caps(IntPtr caps, IntPtr media);
+
+               public static Gst.Sdp.SDPResult SetMediaFromCaps(Gst.Caps caps, Gst.Sdp.SDPMedia media) {
+                       IntPtr native_media = GLib.Marshaller.StructureToPtrAlloc (media);
+                       int raw_ret = gst_sdp_media_set_media_from_caps(caps == null ? IntPtr.Zero : caps.Handle, native_media);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_media);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Sdp.SDPMedia target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (SDPMedia other)
+               {
+                       return true && Media.Equals (other.Media) && Port.Equals (other.Port) && NumPorts.Equals (other.NumPorts) && Proto.Equals (other.Proto) && FmtsPtr.Equals (other.FmtsPtr) && Information.Equals (other.Information) && ConnectionsPtr.Equals (other.ConnectionsPtr) && BandwidthsPtr.Equals (other.BandwidthsPtr) && Key.Equals (other.Key) && AttributesPtr.Equals (other.AttributesPtr);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPMedia && Equals ((SDPMedia) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Media.GetHashCode () ^ Port.GetHashCode () ^ NumPorts.GetHashCode () ^ Proto.GetHashCode () ^ FmtsPtr.GetHashCode () ^ Information.GetHashCode () ^ ConnectionsPtr.GetHashCode () ^ BandwidthsPtr.GetHashCode () ^ Key.GetHashCode () ^ AttributesPtr.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_SDPMessage.cs b/sources/generated/Gst.Sdp_SDPMessage.cs
new file mode 100644 (file)
index 0000000..2f8e2a2
--- /dev/null
@@ -0,0 +1,955 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPMessage : IEquatable<SDPMessage> {
+
+               public string Version;
+               public Gst.Sdp.SDPOrigin Origin;
+               public string SessionName;
+               public string Information;
+               public string Uri;
+               private IntPtr EmailsPtr;
+               public IntPtr[] Emails {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (EmailsPtr); }
+                       set { EmailsPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               private IntPtr PhonesPtr;
+               public IntPtr[] Phones {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (PhonesPtr); }
+                       set { PhonesPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               public Gst.Sdp.SDPConnection Connection;
+               private IntPtr BandwidthsPtr;
+               public IntPtr[] Bandwidths {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (BandwidthsPtr); }
+                       set { BandwidthsPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               private IntPtr TimesPtr;
+               public IntPtr[] Times {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (TimesPtr); }
+                       set { TimesPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               private IntPtr ZonesPtr;
+               public IntPtr[] Zones {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (ZonesPtr); }
+                       set { ZonesPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               public Gst.Sdp.SDPKey Key;
+               private IntPtr AttributesPtr;
+               public IntPtr[] Attributes {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (AttributesPtr); }
+                       set { AttributesPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+               private IntPtr MediasPtr;
+               public IntPtr[] Medias {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (MediasPtr); }
+                       set { MediasPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+
+               public static Gst.Sdp.SDPMessage Zero = new Gst.Sdp.SDPMessage ();
+
+               public static Gst.Sdp.SDPMessage New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPMessage.Zero;
+                       return (Gst.Sdp.SDPMessage) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPMessage));
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_sdp_message_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_add_attribute(IntPtr raw, IntPtr key, IntPtr value);
+
+               public Gst.Sdp.SDPResult AddAttribute(string key, string value) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       int raw_ret = gst_sdp_message_add_attribute(this_as_native, native_key, native_value);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_key);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public Gst.Sdp.SDPResult AddAttribute(string key) {
+                       return AddAttribute (key, null);
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_add_bandwidth(IntPtr raw, IntPtr bwtype, uint bandwidth);
+
+               public Gst.Sdp.SDPResult AddBandwidth(string bwtype, uint bandwidth) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_bwtype = GLib.Marshaller.StringToPtrGStrdup (bwtype);
+                       int raw_ret = gst_sdp_message_add_bandwidth(this_as_native, native_bwtype, bandwidth);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_bwtype);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_add_email(IntPtr raw, IntPtr email);
+
+               public Gst.Sdp.SDPResult AddEmail(string email) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_email = GLib.Marshaller.StringToPtrGStrdup (email);
+                       int raw_ret = gst_sdp_message_add_email(this_as_native, native_email);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_email);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_add_media(IntPtr raw, IntPtr media);
+
+               public Gst.Sdp.SDPResult AddMedia(Gst.Sdp.SDPMedia media) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_media = GLib.Marshaller.StructureToPtrAlloc (media);
+                       int raw_ret = gst_sdp_message_add_media(this_as_native, native_media);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_media);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_add_phone(IntPtr raw, IntPtr phone);
+
+               public Gst.Sdp.SDPResult AddPhone(string phone) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_phone = GLib.Marshaller.StringToPtrGStrdup (phone);
+                       int raw_ret = gst_sdp_message_add_phone(this_as_native, native_phone);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_phone);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_add_time(IntPtr raw, IntPtr start, IntPtr stop, IntPtr[] repeat);
+
+               public Gst.Sdp.SDPResult AddTime(string start, string stop, string[] repeat) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_start = GLib.Marshaller.StringToPtrGStrdup (start);
+                       IntPtr native_stop = GLib.Marshaller.StringToPtrGStrdup (stop);
+                       int cnt_repeat = repeat == null ? 0 : repeat.Length;
+                       IntPtr[] native_repeat = new IntPtr [cnt_repeat + 1];
+                       for (int i = 0; i < cnt_repeat; i++)
+                               native_repeat [i] = GLib.Marshaller.StringToPtrGStrdup (repeat[i]);
+                       native_repeat [cnt_repeat] = IntPtr.Zero;
+                       int raw_ret = gst_sdp_message_add_time(this_as_native, native_start, native_stop, native_repeat);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_start);
+                       GLib.Marshaller.Free (native_stop);
+                       for (int i = 0; i < native_repeat.Length - 1; i++) {
+                               repeat [i] = GLib.Marshaller.Utf8PtrToString (native_repeat[i]);
+                               GLib.Marshaller.Free (native_repeat[i]);
+                       }
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_add_zone(IntPtr raw, IntPtr adj_time, IntPtr typed_time);
+
+               public Gst.Sdp.SDPResult AddZone(string adj_time, string typed_time) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_adj_time = GLib.Marshaller.StringToPtrGStrdup (adj_time);
+                       IntPtr native_typed_time = GLib.Marshaller.StringToPtrGStrdup (typed_time);
+                       int raw_ret = gst_sdp_message_add_zone(this_as_native, native_adj_time, native_typed_time);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_adj_time);
+                       GLib.Marshaller.Free (native_typed_time);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_as_text(IntPtr raw);
+
+               public string AsText() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_message_as_text(this_as_native);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_message_attributes_len(IntPtr raw);
+
+               public uint AttributesLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_message_attributes_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_attributes_to_caps(IntPtr raw, IntPtr caps);
+
+               public Gst.Sdp.SDPResult AttributesToCaps(Gst.Caps caps) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_attributes_to_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_message_bandwidths_len(IntPtr raw);
+
+               public uint BandwidthsLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_message_bandwidths_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_dump(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Dump() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_dump(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_message_emails_len(IntPtr raw);
+
+               public uint EmailsLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_message_emails_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_attribute(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPAttribute GetAttribute(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_message_get_attribute(this_as_native, idx);
+                       Gst.Sdp.SDPAttribute ret = Gst.Sdp.SDPAttribute.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_attribute_val(IntPtr raw, IntPtr key);
+
+               public string GetAttributeVal(string key) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = gst_sdp_message_get_attribute_val(this_as_native, native_key);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_attribute_val_n(IntPtr raw, IntPtr key, uint nth);
+
+               public string GetAttributeValN(string key, uint nth) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = gst_sdp_message_get_attribute_val_n(this_as_native, native_key, nth);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_bandwidth(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPBandwidth GetBandwidth(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_message_get_bandwidth(this_as_native, idx);
+                       Gst.Sdp.SDPBandwidth ret = Gst.Sdp.SDPBandwidth.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_email(IntPtr raw, uint idx);
+
+               public string GetEmail(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_message_get_email(this_as_native, idx);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_media(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPMedia GetMedia(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_message_get_media(this_as_native, idx);
+                       Gst.Sdp.SDPMedia ret = Gst.Sdp.SDPMedia.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_phone(IntPtr raw, uint idx);
+
+               public string GetPhone(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_message_get_phone(this_as_native, idx);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_time(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPTime GetTime(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_message_get_time(this_as_native, idx);
+                       Gst.Sdp.SDPTime ret = Gst.Sdp.SDPTime.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_get_zone(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPZone GetZone(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_sdp_message_get_zone(this_as_native, idx);
+                       Gst.Sdp.SDPZone ret = Gst.Sdp.SDPZone.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_init(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Init() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_init(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_insert_attribute(IntPtr raw, int idx, IntPtr attr);
+
+               public Gst.Sdp.SDPResult InsertAttribute(int idx, Gst.Sdp.SDPAttribute attr) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_attr = GLib.Marshaller.StructureToPtrAlloc (attr);
+                       int raw_ret = gst_sdp_message_insert_attribute(this_as_native, idx, native_attr);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_attr);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_insert_bandwidth(IntPtr raw, int idx, IntPtr bw);
+
+               public Gst.Sdp.SDPResult InsertBandwidth(int idx, Gst.Sdp.SDPBandwidth bw) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_bw = GLib.Marshaller.StructureToPtrAlloc (bw);
+                       int raw_ret = gst_sdp_message_insert_bandwidth(this_as_native, idx, native_bw);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_bw);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_insert_email(IntPtr raw, int idx, IntPtr email);
+
+               public Gst.Sdp.SDPResult InsertEmail(int idx, string email) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_email = GLib.Marshaller.StringToPtrGStrdup (email);
+                       int raw_ret = gst_sdp_message_insert_email(this_as_native, idx, native_email);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_email);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_insert_phone(IntPtr raw, int idx, IntPtr phone);
+
+               public Gst.Sdp.SDPResult InsertPhone(int idx, string phone) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_phone = GLib.Marshaller.StringToPtrGStrdup (phone);
+                       int raw_ret = gst_sdp_message_insert_phone(this_as_native, idx, native_phone);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_phone);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_insert_time(IntPtr raw, int idx, IntPtr t);
+
+               public Gst.Sdp.SDPResult InsertTime(int idx, Gst.Sdp.SDPTime t) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_t = GLib.Marshaller.StructureToPtrAlloc (t);
+                       int raw_ret = gst_sdp_message_insert_time(this_as_native, idx, native_t);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_t);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_insert_zone(IntPtr raw, int idx, IntPtr zone);
+
+               public Gst.Sdp.SDPResult InsertZone(int idx, Gst.Sdp.SDPZone zone) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_zone = GLib.Marshaller.StructureToPtrAlloc (zone);
+                       int raw_ret = gst_sdp_message_insert_zone(this_as_native, idx, native_zone);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_zone);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_message_medias_len(IntPtr raw);
+
+               public uint MediasLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_message_medias_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_parse_keymgmt(IntPtr raw, out IntPtr mikey);
+
+               public Gst.Sdp.SDPResult ParseKeymgmt(out Gst.Sdp.MIKEYMessage mikey) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_mikey;
+                       int raw_ret = gst_sdp_message_parse_keymgmt(this_as_native, out native_mikey);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       mikey = native_mikey == IntPtr.Zero ? null : (Gst.Sdp.MIKEYMessage) GLib.Opaque.GetOpaque (native_mikey, typeof (Gst.Sdp.MIKEYMessage), true);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_message_phones_len(IntPtr raw);
+
+               public uint PhonesLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_message_phones_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_remove_attribute(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveAttribute(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_remove_attribute(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_remove_bandwidth(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveBandwidth(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_remove_bandwidth(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_remove_email(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveEmail(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_remove_email(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_remove_phone(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemovePhone(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_remove_phone(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_remove_time(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveTime(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_remove_time(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_remove_zone(IntPtr raw, uint idx);
+
+               public Gst.Sdp.SDPResult RemoveZone(uint idx) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_remove_zone(this_as_native, idx);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_replace_attribute(IntPtr raw, uint idx, IntPtr attr);
+
+               public Gst.Sdp.SDPResult ReplaceAttribute(uint idx, Gst.Sdp.SDPAttribute attr) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_attr = GLib.Marshaller.StructureToPtrAlloc (attr);
+                       int raw_ret = gst_sdp_message_replace_attribute(this_as_native, idx, native_attr);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_attr);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_replace_bandwidth(IntPtr raw, uint idx, IntPtr bw);
+
+               public Gst.Sdp.SDPResult ReplaceBandwidth(uint idx, Gst.Sdp.SDPBandwidth bw) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_bw = GLib.Marshaller.StructureToPtrAlloc (bw);
+                       int raw_ret = gst_sdp_message_replace_bandwidth(this_as_native, idx, native_bw);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_bw);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_replace_email(IntPtr raw, uint idx, IntPtr email);
+
+               public Gst.Sdp.SDPResult ReplaceEmail(uint idx, string email) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_email = GLib.Marshaller.StringToPtrGStrdup (email);
+                       int raw_ret = gst_sdp_message_replace_email(this_as_native, idx, native_email);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_email);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_replace_phone(IntPtr raw, uint idx, IntPtr phone);
+
+               public Gst.Sdp.SDPResult ReplacePhone(uint idx, string phone) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_phone = GLib.Marshaller.StringToPtrGStrdup (phone);
+                       int raw_ret = gst_sdp_message_replace_phone(this_as_native, idx, native_phone);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_phone);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_replace_time(IntPtr raw, uint idx, IntPtr t);
+
+               public Gst.Sdp.SDPResult ReplaceTime(uint idx, Gst.Sdp.SDPTime t) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_t = GLib.Marshaller.StructureToPtrAlloc (t);
+                       int raw_ret = gst_sdp_message_replace_time(this_as_native, idx, native_t);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_t);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_replace_zone(IntPtr raw, uint idx, IntPtr zone);
+
+               public Gst.Sdp.SDPResult ReplaceZone(uint idx, Gst.Sdp.SDPZone zone) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_zone = GLib.Marshaller.StructureToPtrAlloc (zone);
+                       int raw_ret = gst_sdp_message_replace_zone(this_as_native, idx, native_zone);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_zone);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_set_connection(IntPtr raw, IntPtr nettype, IntPtr addrtype, IntPtr address, uint ttl, uint addr_number);
+
+               public Gst.Sdp.SDPResult SetConnection(string nettype, string addrtype, string address, uint ttl, uint addr_number) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_nettype = GLib.Marshaller.StringToPtrGStrdup (nettype);
+                       IntPtr native_addrtype = GLib.Marshaller.StringToPtrGStrdup (addrtype);
+                       IntPtr native_address = GLib.Marshaller.StringToPtrGStrdup (address);
+                       int raw_ret = gst_sdp_message_set_connection(this_as_native, native_nettype, native_addrtype, native_address, ttl, addr_number);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_nettype);
+                       GLib.Marshaller.Free (native_addrtype);
+                       GLib.Marshaller.Free (native_address);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_set_information(IntPtr raw, IntPtr information);
+
+               public Gst.Sdp.SDPResult SetInformation(string information) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_information = GLib.Marshaller.StringToPtrGStrdup (information);
+                       int raw_ret = gst_sdp_message_set_information(this_as_native, native_information);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_information);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_set_key(IntPtr raw, IntPtr type, IntPtr data);
+
+               public Gst.Sdp.SDPResult SetKey(string type, string data) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+                       IntPtr native_data = GLib.Marshaller.StringToPtrGStrdup (data);
+                       int raw_ret = gst_sdp_message_set_key(this_as_native, native_type, native_data);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_type);
+                       GLib.Marshaller.Free (native_data);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_set_origin(IntPtr raw, IntPtr username, IntPtr sess_id, IntPtr sess_version, IntPtr nettype, IntPtr addrtype, IntPtr addr);
+
+               public Gst.Sdp.SDPResult SetOrigin(string username, string sess_id, string sess_version, string nettype, string addrtype, string addr) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_username = GLib.Marshaller.StringToPtrGStrdup (username);
+                       IntPtr native_sess_id = GLib.Marshaller.StringToPtrGStrdup (sess_id);
+                       IntPtr native_sess_version = GLib.Marshaller.StringToPtrGStrdup (sess_version);
+                       IntPtr native_nettype = GLib.Marshaller.StringToPtrGStrdup (nettype);
+                       IntPtr native_addrtype = GLib.Marshaller.StringToPtrGStrdup (addrtype);
+                       IntPtr native_addr = GLib.Marshaller.StringToPtrGStrdup (addr);
+                       int raw_ret = gst_sdp_message_set_origin(this_as_native, native_username, native_sess_id, native_sess_version, native_nettype, native_addrtype, native_addr);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_username);
+                       GLib.Marshaller.Free (native_sess_id);
+                       GLib.Marshaller.Free (native_sess_version);
+                       GLib.Marshaller.Free (native_nettype);
+                       GLib.Marshaller.Free (native_addrtype);
+                       GLib.Marshaller.Free (native_addr);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_set_session_name(IntPtr raw, IntPtr session_name);
+
+               public Gst.Sdp.SDPResult SetSessionName(string session_name) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_session_name = GLib.Marshaller.StringToPtrGStrdup (session_name);
+                       int raw_ret = gst_sdp_message_set_session_name(this_as_native, native_session_name);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_session_name);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_set_uri(IntPtr raw, IntPtr uri);
+
+               public Gst.Sdp.SDPResult SetUri(string uri) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       int raw_ret = gst_sdp_message_set_uri(this_as_native, native_uri);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_set_version(IntPtr raw, IntPtr version);
+
+               public Gst.Sdp.SDPResult SetVersion(string version) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_version = GLib.Marshaller.StringToPtrGStrdup (version);
+                       int raw_ret = gst_sdp_message_set_version(this_as_native, native_version);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_version);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_message_times_len(IntPtr raw);
+
+               public uint TimesLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_message_times_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_uninit(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Uninit() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_message_uninit(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_sdp_message_zones_len(IntPtr raw);
+
+               public uint ZonesLen() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_sdp_message_zones_len(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sdp_message_as_uri(IntPtr scheme, IntPtr msg);
+
+               public static string AsUri(string scheme, Gst.Sdp.SDPMessage msg) {
+                       IntPtr native_scheme = GLib.Marshaller.StringToPtrGStrdup (scheme);
+                       IntPtr native_msg = GLib.Marshaller.StructureToPtrAlloc (msg);
+                       IntPtr raw_ret = gst_sdp_message_as_uri(native_scheme, native_msg);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_scheme);
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_new(IntPtr msg);
+
+               public static Gst.Sdp.SDPResult New(out Gst.Sdp.SDPMessage msg) {
+                       IntPtr native_msg = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Sdp.SDPMessage)));
+                       int raw_ret = gst_sdp_message_new(native_msg);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       msg = Gst.Sdp.SDPMessage.New (native_msg);
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_parse_buffer(byte[] data, uint size, IntPtr msg);
+
+               public static Gst.Sdp.SDPResult ParseBuffer(byte[] data, uint size, Gst.Sdp.SDPMessage msg) {
+                       IntPtr native_msg = GLib.Marshaller.StructureToPtrAlloc (msg);
+                       int raw_ret = gst_sdp_message_parse_buffer(data, size, native_msg);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_message_parse_uri(IntPtr uri, IntPtr msg);
+
+               public static Gst.Sdp.SDPResult ParseUri(string uri, Gst.Sdp.SDPMessage msg) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr native_msg = GLib.Marshaller.StructureToPtrAlloc (msg);
+                       int raw_ret = gst_sdp_message_parse_uri(native_uri, native_msg);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       Marshal.FreeHGlobal (native_msg);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Sdp.SDPMessage target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (SDPMessage other)
+               {
+                       return true && Version.Equals (other.Version) && Origin.Equals (other.Origin) && SessionName.Equals (other.SessionName) && Information.Equals (other.Information) && Uri.Equals (other.Uri) && EmailsPtr.Equals (other.EmailsPtr) && PhonesPtr.Equals (other.PhonesPtr) && Connection.Equals (other.Connection) && BandwidthsPtr.Equals (other.BandwidthsPtr) && TimesPtr.Equals (other.TimesPtr) && ZonesPtr.Equals (other.ZonesPtr) && Key.Equals (other.Key) && AttributesPtr.Equals (other.AttributesPtr) && MediasPtr.Equals (other.MediasPtr);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPMessage && Equals ((SDPMessage) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Version.GetHashCode () ^ Origin.GetHashCode () ^ SessionName.GetHashCode () ^ Information.GetHashCode () ^ Uri.GetHashCode () ^ EmailsPtr.GetHashCode () ^ PhonesPtr.GetHashCode () ^ Connection.GetHashCode () ^ BandwidthsPtr.GetHashCode () ^ TimesPtr.GetHashCode () ^ ZonesPtr.GetHashCode () ^ Key.GetHashCode () ^ AttributesPtr.GetHashCode () ^ MediasPtr.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Sdp.SDPMessage boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Sdp.SDPMessage.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Sdp.SDPMessage (GLib.Value val)
+               {
+                       return (Gst.Sdp.SDPMessage) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_SDPOrigin.cs b/sources/generated/Gst.Sdp_SDPOrigin.cs
new file mode 100644 (file)
index 0000000..eaaeb68
--- /dev/null
@@ -0,0 +1,50 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPOrigin : IEquatable<SDPOrigin> {
+
+               public string Username;
+               public string SessId;
+               public string SessVersion;
+               public string Nettype;
+               public string Addrtype;
+               public string Addr;
+
+               public static Gst.Sdp.SDPOrigin Zero = new Gst.Sdp.SDPOrigin ();
+
+               public static Gst.Sdp.SDPOrigin New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPOrigin.Zero;
+                       return (Gst.Sdp.SDPOrigin) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPOrigin));
+               }
+
+               public bool Equals (SDPOrigin other)
+               {
+                       return true && Username.Equals (other.Username) && SessId.Equals (other.SessId) && SessVersion.Equals (other.SessVersion) && Nettype.Equals (other.Nettype) && Addrtype.Equals (other.Addrtype) && Addr.Equals (other.Addr);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPOrigin && Equals ((SDPOrigin) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Username.GetHashCode () ^ SessId.GetHashCode () ^ SessVersion.GetHashCode () ^ Nettype.GetHashCode () ^ Addrtype.GetHashCode () ^ Addr.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_SDPResult.cs b/sources/generated/Gst.Sdp_SDPResult.cs
new file mode 100644 (file)
index 0000000..f86c702
--- /dev/null
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum SDPResult {
+
+               Einval = -1,
+               Ok = 0,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Sdp_SDPTime.cs b/sources/generated/Gst.Sdp_SDPTime.cs
new file mode 100644 (file)
index 0000000..5c264a6
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPTime : IEquatable<SDPTime> {
+
+               public string Start;
+               public string Stop;
+               private IntPtr RepeatPtr;
+               public IntPtr[] Repeat {
+                       get { return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<IntPtr> (RepeatPtr); }
+                       set { RepeatPtr = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<IntPtr> (value); }
+               }
+
+               public static Gst.Sdp.SDPTime Zero = new Gst.Sdp.SDPTime ();
+
+               public static Gst.Sdp.SDPTime New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPTime.Zero;
+                       return (Gst.Sdp.SDPTime) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPTime));
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_time_clear(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_time_clear(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_time_set(IntPtr raw, IntPtr start, IntPtr stop, IntPtr[] repeat);
+
+               public Gst.Sdp.SDPResult Set(string start, string stop, string[] repeat) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_start = GLib.Marshaller.StringToPtrGStrdup (start);
+                       IntPtr native_stop = GLib.Marshaller.StringToPtrGStrdup (stop);
+                       int cnt_repeat = repeat == null ? 0 : repeat.Length;
+                       IntPtr[] native_repeat = new IntPtr [cnt_repeat + 1];
+                       for (int i = 0; i < cnt_repeat; i++)
+                               native_repeat [i] = GLib.Marshaller.StringToPtrGStrdup (repeat[i]);
+                       native_repeat [cnt_repeat] = IntPtr.Zero;
+                       int raw_ret = gst_sdp_time_set(this_as_native, native_start, native_stop, native_repeat);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_start);
+                       GLib.Marshaller.Free (native_stop);
+                       for (int i = 0; i < native_repeat.Length - 1; i++) {
+                               repeat [i] = GLib.Marshaller.Utf8PtrToString (native_repeat[i]);
+                               GLib.Marshaller.Free (native_repeat[i]);
+                       }
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Sdp.SDPTime target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (SDPTime other)
+               {
+                       return true && Start.Equals (other.Start) && Stop.Equals (other.Stop) && RepeatPtr.Equals (other.RepeatPtr);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPTime && Equals ((SDPTime) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Start.GetHashCode () ^ Stop.GetHashCode () ^ RepeatPtr.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Sdp_SDPZone.cs b/sources/generated/Gst.Sdp_SDPZone.cs
new file mode 100644 (file)
index 0000000..041f51d
--- /dev/null
@@ -0,0 +1,81 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Sdp {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPZone : IEquatable<SDPZone> {
+
+               public string Time;
+               public string TypedTime;
+
+               public static Gst.Sdp.SDPZone Zero = new Gst.Sdp.SDPZone ();
+
+               public static Gst.Sdp.SDPZone New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Sdp.SDPZone.Zero;
+                       return (Gst.Sdp.SDPZone) Marshal.PtrToStructure (raw, typeof (Gst.Sdp.SDPZone));
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_zone_clear(IntPtr raw);
+
+               public Gst.Sdp.SDPResult Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_sdp_zone_clear(this_as_native);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_sdp_zone_set(IntPtr raw, IntPtr adj_time, IntPtr typed_time);
+
+               public Gst.Sdp.SDPResult Set(string adj_time, string typed_time) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_adj_time = GLib.Marshaller.StringToPtrGStrdup (adj_time);
+                       IntPtr native_typed_time = GLib.Marshaller.StringToPtrGStrdup (typed_time);
+                       int raw_ret = gst_sdp_zone_set(this_as_native, native_adj_time, native_typed_time);
+                       Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_adj_time);
+                       GLib.Marshaller.Free (native_typed_time);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Sdp.SDPZone target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (SDPZone other)
+               {
+                       return true && Time.Equals (other.Time) && TypedTime.Equals (other.TypedTime);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPZone && Equals ((SDPZone) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Time.GetHashCode () ^ TypedTime.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Tags_Constants.cs b/sources/generated/Gst.Tags_Constants.cs
new file mode 100644 (file)
index 0000000..7833c2c
--- /dev/null
@@ -0,0 +1,51 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const string TAG_CAPTURING_CONTRAST = @"capturing-contrast";
+               public const string TAG_CAPTURING_DIGITAL_ZOOM_RATIO = @"capturing-digital-zoom-ratio";
+               public const string TAG_CAPTURING_EXPOSURE_COMPENSATION = @"capturing-exposure-compensation";
+               public const string TAG_CAPTURING_EXPOSURE_MODE = @"capturing-exposure-mode";
+               public const string TAG_CAPTURING_EXPOSURE_PROGRAM = @"capturing-exposure-program";
+               public const string TAG_CAPTURING_FLASH_FIRED = @"capturing-flash-fired";
+               public const string TAG_CAPTURING_FLASH_MODE = @"capturing-flash-mode";
+               public const string TAG_CAPTURING_FOCAL_LENGTH = @"capturing-focal-length";
+               public const string TAG_CAPTURING_FOCAL_LENGTH_35_MM = @"capturing-focal-length-35mm";
+               public const string TAG_CAPTURING_FOCAL_RATIO = @"capturing-focal-ratio";
+               public const string TAG_CAPTURING_GAIN_ADJUSTMENT = @"capturing-gain-adjustment";
+               public const string TAG_CAPTURING_ISO_SPEED = @"capturing-iso-speed";
+               public const string TAG_CAPTURING_METERING_MODE = @"capturing-metering-mode";
+               public const string TAG_CAPTURING_SATURATION = @"capturing-saturation";
+               public const string TAG_CAPTURING_SCENE_CAPTURE_TYPE = @"capturing-scene-capture-type";
+               public const string TAG_CAPTURING_SHARPNESS = @"capturing-sharpness";
+               public const string TAG_CAPTURING_SHUTTER_SPEED = @"capturing-shutter-speed";
+               public const string TAG_CAPTURING_SOURCE = @"capturing-source";
+               public const string TAG_CAPTURING_WHITE_BALANCE = @"capturing-white-balance";
+               public const string TAG_CDDA_CDDB_DISCID = @"discid";
+               public const string TAG_CDDA_CDDB_DISCID_FULL = @"discid-full";
+               public const string TAG_CDDA_MUSICBRAINZ_DISCID = @"musicbrainz-discid";
+               public const string TAG_CDDA_MUSICBRAINZ_DISCID_FULL = @"musicbrainz-discid-full";
+               public const string TAG_CMML_CLIP = @"cmml-clip";
+               public const string TAG_CMML_HEAD = @"cmml-head";
+               public const string TAG_CMML_STREAM = @"cmml-stream";
+               public const int TAG_ID3V2_HEADER_SIZE = 10;
+               public const string TAG_IMAGE_HORIZONTAL_PPI = @"image-horizontal-ppi";
+               public const string TAG_IMAGE_VERTICAL_PPI = @"image-vertical-ppi";
+               public const string TAG_MUSICAL_KEY = @"musical-key";
+               public const string TAG_MUSICBRAINZ_ALBUMARTISTID = @"musicbrainz-albumartistid";
+               public const string TAG_MUSICBRAINZ_ALBUMID = @"musicbrainz-albumid";
+               public const string TAG_MUSICBRAINZ_ARTISTID = @"musicbrainz-artistid";
+               public const string TAG_MUSICBRAINZ_TRACKID = @"musicbrainz-trackid";
+               public const string TAG_MUSICBRAINZ_TRMID = @"musicbrainz-trmid";
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Tags_Global.cs b/sources/generated/Gst.Tags_Global.cs
new file mode 100644 (file)
index 0000000..5e62003
--- /dev/null
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_vorbis_tag_add(IntPtr list, IntPtr tag, IntPtr value);
+
+               public static void VorbisTagAdd(Gst.TagList list, string tag, string value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       gst_vorbis_tag_add(list == null ? IntPtr.Zero : list.Handle, native_tag, native_value);
+                       GLib.Marshaller.Free (native_tag);
+                       GLib.Marshaller.Free (native_value);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Tags_ITagXmpWriter.cs b/sources/generated/Gst.Tags_ITagXmpWriter.cs
new file mode 100644 (file)
index 0000000..3a2ae16
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface ITagXmpWriter : GLib.IWrapper {
+
+               void AddAllSchemas();
+               void AddSchema(string schema);
+               bool HasSchema(string schema);
+               void RemoveAllSchemas();
+               void RemoveSchema(string schema);
+               Gst.Buffer TagListToXmpBuffer(Gst.TagList taglist, bool read_only);
+       }
+
+       [GLib.GInterface (typeof (TagXmpWriterAdapter))]
+       public partial interface ITagXmpWriterImplementor : GLib.IWrapper {
+
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Tags_TagDemux.cs b/sources/generated/Gst.Tags_TagDemux.cs
new file mode 100644 (file)
index 0000000..b445af7
--- /dev/null
@@ -0,0 +1,323 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TagDemux : Gst.Element {
+
+               protected TagDemux (IntPtr raw) : base(raw) {}
+
+               protected TagDemux() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               static IdentifyTagNativeDelegate IdentifyTag_cb_delegate;
+               static IdentifyTagNativeDelegate IdentifyTagVMCallback {
+                       get {
+                               if (IdentifyTag_cb_delegate == null)
+                                       IdentifyTag_cb_delegate = new IdentifyTagNativeDelegate (IdentifyTag_cb);
+                               return IdentifyTag_cb_delegate;
+                       }
+               }
+
+               static void OverrideIdentifyTag (GLib.GType gtype)
+               {
+                       OverrideIdentifyTag (gtype, IdentifyTagVMCallback);
+               }
+
+               static void OverrideIdentifyTag (GLib.GType gtype, IdentifyTagNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("identify_tag"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool IdentifyTagNativeDelegate (IntPtr inst, IntPtr buffer, bool start_tag, uint tag_size);
+
+               static bool IdentifyTag_cb (IntPtr inst, IntPtr buffer, bool start_tag, uint tag_size)
+               {
+                       try {
+                               TagDemux __obj = GLib.Object.GetObject (inst, false) as TagDemux;
+                               bool __result;
+                               __result = __obj.OnIdentifyTag (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), start_tag, tag_size);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Tags.TagDemux), ConnectionMethod="OverrideIdentifyTag")]
+               protected virtual bool OnIdentifyTag (Gst.Buffer buffer, bool start_tag, uint tag_size)
+               {
+                       return InternalIdentifyTag (buffer, start_tag, tag_size);
+               }
+
+               private bool InternalIdentifyTag (Gst.Buffer buffer, bool start_tag, uint tag_size)
+               {
+                       IdentifyTagNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("identify_tag"));
+                               unmanaged = (IdentifyTagNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(IdentifyTagNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, start_tag, tag_size);
+                       return __result;
+               }
+
+               static ParseTagNativeDelegate ParseTag_cb_delegate;
+               static ParseTagNativeDelegate ParseTagVMCallback {
+                       get {
+                               if (ParseTag_cb_delegate == null)
+                                       ParseTag_cb_delegate = new ParseTagNativeDelegate (ParseTag_cb);
+                               return ParseTag_cb_delegate;
+                       }
+               }
+
+               static void OverrideParseTag (GLib.GType gtype)
+               {
+                       OverrideParseTag (gtype, ParseTagVMCallback);
+               }
+
+               static void OverrideParseTag (GLib.GType gtype, ParseTagNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("parse_tag"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ParseTagNativeDelegate (IntPtr inst, IntPtr buffer, bool start_tag, uint tag_size, IntPtr tags);
+
+               static int ParseTag_cb (IntPtr inst, IntPtr buffer, bool start_tag, uint tag_size, IntPtr tags)
+               {
+                       try {
+                               TagDemux __obj = GLib.Object.GetObject (inst, false) as TagDemux;
+                               Gst.Tags.TagDemuxResult __result;
+                               __result = __obj.OnParseTag (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), start_tag, tag_size, tags == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (tags, typeof (Gst.TagList), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Tags.TagDemux), ConnectionMethod="OverrideParseTag")]
+               protected virtual Gst.Tags.TagDemuxResult OnParseTag (Gst.Buffer buffer, bool start_tag, uint tag_size, Gst.TagList tags)
+               {
+                       return InternalParseTag (buffer, start_tag, tag_size, tags);
+               }
+
+               private Gst.Tags.TagDemuxResult InternalParseTag (Gst.Buffer buffer, bool start_tag, uint tag_size, Gst.TagList tags)
+               {
+                       ParseTagNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("parse_tag"));
+                               unmanaged = (ParseTagNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ParseTagNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Tags.TagDemuxResult) 0;
+
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, start_tag, tag_size, tags == null ? IntPtr.Zero : tags.Handle);
+                       return (Gst.Tags.TagDemuxResult) __result;
+               }
+
+               static MergeTagsNativeDelegate MergeTags_cb_delegate;
+               static MergeTagsNativeDelegate MergeTagsVMCallback {
+                       get {
+                               if (MergeTags_cb_delegate == null)
+                                       MergeTags_cb_delegate = new MergeTagsNativeDelegate (MergeTags_cb);
+                               return MergeTags_cb_delegate;
+                       }
+               }
+
+               static void OverrideMergeTags (GLib.GType gtype)
+               {
+                       OverrideMergeTags (gtype, MergeTagsVMCallback);
+               }
+
+               static void OverrideMergeTags (GLib.GType gtype, MergeTagsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("merge_tags"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr MergeTagsNativeDelegate (IntPtr inst, IntPtr start_tags, IntPtr end_tags);
+
+               static IntPtr MergeTags_cb (IntPtr inst, IntPtr start_tags, IntPtr end_tags)
+               {
+                       try {
+                               TagDemux __obj = GLib.Object.GetObject (inst, false) as TagDemux;
+                               Gst.TagList __result;
+                               __result = __obj.OnMergeTags (start_tags == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (start_tags, typeof (Gst.TagList), false), end_tags == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (end_tags, typeof (Gst.TagList), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Tags.TagDemux), ConnectionMethod="OverrideMergeTags")]
+               protected virtual Gst.TagList OnMergeTags (Gst.TagList start_tags, Gst.TagList end_tags)
+               {
+                       return InternalMergeTags (start_tags, end_tags);
+               }
+
+               private Gst.TagList InternalMergeTags (Gst.TagList start_tags, Gst.TagList end_tags)
+               {
+                       MergeTagsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("merge_tags"));
+                               unmanaged = (MergeTagsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(MergeTagsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, start_tags == null ? IntPtr.Zero : start_tags.Handle, end_tags == null ? IntPtr.Zero : end_tags.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (__result, typeof (Gst.TagList), true);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("min_start_size"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // min_start_size
+                                                       , null
+                                                       , "min_end_size"
+                                                       , (long) Marshal.OffsetOf(typeof(GstTagDemux_min_start_sizeAlign), "min_start_size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("min_end_size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // min_end_size
+                                                       , "min_start_size"
+                                                       , "identify_tag"
+                                                       , (long) Marshal.OffsetOf(typeof(GstTagDemux_min_end_sizeAlign), "min_end_size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("identify_tag"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // identify_tag
+                                                       , "min_end_size"
+                                                       , "parse_tag"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("parse_tag"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // parse_tag
+                                                       , "identify_tag"
+                                                       , "merge_tags"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("merge_tags"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // merge_tags
+                                                       , "parse_tag"
+                                                       , "reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // reserved
+                                                       , "merge_tags"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstTagDemux_min_start_sizeAlign
+               {
+                       sbyte f1;
+                       private uint min_start_size;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstTagDemux_min_end_sizeAlign
+               {
+                       sbyte f1;
+                       private uint min_end_size;
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_demux_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_tag_demux_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static TagDemux ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Tags_TagDemuxResult.cs b/sources/generated/Gst.Tags_TagDemuxResult.cs
new file mode 100644 (file)
index 0000000..1035354
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Tags.TagDemuxResultGType))]
+       public enum TagDemuxResult {
+
+               BrokenTag = 0,
+               Again = 1,
+               Ok = 2,
+       }
+
+       internal class TagDemuxResultGType {
+               [DllImport ("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_demux_result_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_tag_demux_result_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Tags_TagImageType.cs b/sources/generated/Gst.Tags_TagImageType.cs
new file mode 100644 (file)
index 0000000..f2f0133
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Tags.TagImageTypeGType))]
+       public enum TagImageType {
+
+               None = -1,
+               Undefined = 0,
+               FrontCover = 1,
+               BackCover = 2,
+               LeafletPage = 3,
+               Medium = 4,
+               LeadArtist = 5,
+               Artist = 6,
+               Conductor = 7,
+               BandOrchestra = 8,
+               Composer = 9,
+               Lyricist = 10,
+               RecordingLocation = 11,
+               DuringRecording = 12,
+               DuringPerformance = 13,
+               VideoCapture = 14,
+               Fish = 15,
+               Illustration = 16,
+               BandArtistLogo = 17,
+               PublisherStudioLogo = 18,
+       }
+
+       internal class TagImageTypeGType {
+               [DllImport ("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_image_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_tag_image_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Tags_TagLicenseFlags.cs b/sources/generated/Gst.Tags_TagLicenseFlags.cs
new file mode 100644 (file)
index 0000000..a753870
--- /dev/null
@@ -0,0 +1,41 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Tags.TagLicenseFlagsGType))]
+       public enum TagLicenseFlags {
+
+               PermitsReproduction = 1,
+               PermitsDistribution = 2,
+               PermitsDerivativeWorks = 4,
+               PermitsSharing = 8,
+               RequiresNotice = 256,
+               RequiresAttribution = 512,
+               RequiresShareAlike = 1024,
+               RequiresSourceCode = 2048,
+               RequiresCopyleft = 4096,
+               RequiresLesserCopyleft = 8192,
+               ProhibitsCommercialUse = 65536,
+               ProhibitsHighIncomeNationUse = 131072,
+               CreativeCommonsLicense = 16777216,
+               FreeSoftwareFoundationLicense = 33554432,
+       }
+
+       internal class TagLicenseFlagsGType {
+               [DllImport ("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_license_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_tag_license_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Tags_TagMux.cs b/sources/generated/Gst.Tags_TagMux.cs
new file mode 100644 (file)
index 0000000..90aac77
--- /dev/null
@@ -0,0 +1,280 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TagMux : Gst.Element, Gst.ITagSetter {
+
+               protected TagMux (IntPtr raw) : base(raw) {}
+
+               protected TagMux() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               static RenderStartTagNativeDelegate RenderStartTag_cb_delegate;
+               static RenderStartTagNativeDelegate RenderStartTagVMCallback {
+                       get {
+                               if (RenderStartTag_cb_delegate == null)
+                                       RenderStartTag_cb_delegate = new RenderStartTagNativeDelegate (RenderStartTag_cb);
+                               return RenderStartTag_cb_delegate;
+                       }
+               }
+
+               static void OverrideRenderStartTag (GLib.GType gtype)
+               {
+                       OverrideRenderStartTag (gtype, RenderStartTagVMCallback);
+               }
+
+               static void OverrideRenderStartTag (GLib.GType gtype, RenderStartTagNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("render_start_tag"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr RenderStartTagNativeDelegate (IntPtr inst, IntPtr tag_list);
+
+               static IntPtr RenderStartTag_cb (IntPtr inst, IntPtr tag_list)
+               {
+                       try {
+                               TagMux __obj = GLib.Object.GetObject (inst, false) as TagMux;
+                               Gst.Buffer __result;
+                               __result = __obj.OnRenderStartTag (tag_list == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (tag_list, typeof (Gst.TagList), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Tags.TagMux), ConnectionMethod="OverrideRenderStartTag")]
+               protected virtual Gst.Buffer OnRenderStartTag (Gst.TagList tag_list)
+               {
+                       return InternalRenderStartTag (tag_list);
+               }
+
+               private Gst.Buffer InternalRenderStartTag (Gst.TagList tag_list)
+               {
+                       RenderStartTagNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("render_start_tag"));
+                               unmanaged = (RenderStartTagNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RenderStartTagNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, tag_list == null ? IntPtr.Zero : tag_list.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (__result, typeof (Gst.Buffer), true);
+               }
+
+               static RenderEndTagNativeDelegate RenderEndTag_cb_delegate;
+               static RenderEndTagNativeDelegate RenderEndTagVMCallback {
+                       get {
+                               if (RenderEndTag_cb_delegate == null)
+                                       RenderEndTag_cb_delegate = new RenderEndTagNativeDelegate (RenderEndTag_cb);
+                               return RenderEndTag_cb_delegate;
+                       }
+               }
+
+               static void OverrideRenderEndTag (GLib.GType gtype)
+               {
+                       OverrideRenderEndTag (gtype, RenderEndTagVMCallback);
+               }
+
+               static void OverrideRenderEndTag (GLib.GType gtype, RenderEndTagNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("render_end_tag"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr RenderEndTagNativeDelegate (IntPtr inst, IntPtr tag_list);
+
+               static IntPtr RenderEndTag_cb (IntPtr inst, IntPtr tag_list)
+               {
+                       try {
+                               TagMux __obj = GLib.Object.GetObject (inst, false) as TagMux;
+                               Gst.Buffer __result;
+                               __result = __obj.OnRenderEndTag (tag_list == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (tag_list, typeof (Gst.TagList), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Tags.TagMux), ConnectionMethod="OverrideRenderEndTag")]
+               protected virtual Gst.Buffer OnRenderEndTag (Gst.TagList tag_list)
+               {
+                       return InternalRenderEndTag (tag_list);
+               }
+
+               private Gst.Buffer InternalRenderEndTag (Gst.TagList tag_list)
+               {
+                       RenderEndTagNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("render_end_tag"));
+                               unmanaged = (RenderEndTagNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RenderEndTagNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, tag_list == null ? IntPtr.Zero : tag_list.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (__result, typeof (Gst.Buffer), true);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("render_start_tag"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // render_start_tag
+                                                       , null
+                                                       , "render_end_tag"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("render_end_tag"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // render_end_tag
+                                                       , "render_start_tag"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "render_end_tag"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_mux_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_tag_mux_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_setter_add_tag_value(IntPtr raw, int mode, IntPtr tag, IntPtr value);
+
+               public void AddTagValue(Gst.TagMergeMode mode, string tag, GLib.Value value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_tag_setter_add_tag_value(Handle, (int) mode, native_tag, native_value);
+                       GLib.Marshaller.Free (native_tag);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_setter_get_tag_list(IntPtr raw);
+
+               public Gst.TagList TagList { 
+                       get {
+                               IntPtr raw_ret = gst_tag_setter_get_tag_list(Handle);
+                               Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_tag_setter_get_tag_merge_mode(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_setter_set_tag_merge_mode(IntPtr raw, int mode);
+
+               public Gst.TagMergeMode TagMergeMode { 
+                       get {
+                               int raw_ret = gst_tag_setter_get_tag_merge_mode(Handle);
+                               Gst.TagMergeMode ret = (Gst.TagMergeMode) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_tag_setter_set_tag_merge_mode(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_setter_merge_tags(IntPtr raw, IntPtr list, int mode);
+
+               public void MergeTags(Gst.TagList list, Gst.TagMergeMode mode) {
+                       gst_tag_setter_merge_tags(Handle, list == null ? IntPtr.Zero : list.Handle, (int) mode);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_setter_reset_tags(IntPtr raw);
+
+               public void ResetTags() {
+                       gst_tag_setter_reset_tags(Handle);
+               }
+
+
+               static TagMux ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Tags_TagXmpWriterAdapter.cs b/sources/generated/Gst.Tags_TagXmpWriterAdapter.cs
new file mode 100644 (file)
index 0000000..e5c5e11
--- /dev/null
@@ -0,0 +1,157 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Tags {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TagXmpWriterAdapter : GLib.GInterfaceAdapter, Gst.Tags.ITagXmpWriter {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstTagXmpWriterInterface {
+               }
+
+               static GstTagXmpWriterInterface iface;
+
+               static TagXmpWriterAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (TagXmpWriterAdapter));
+               }
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+               }
+
+               GLib.Object implementor;
+
+               public TagXmpWriterAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public TagXmpWriterAdapter (ITagXmpWriterImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public TagXmpWriterAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_xmp_writer_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_tag_xmp_writer_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static ITagXmpWriter GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static ITagXmpWriter GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is ITagXmpWriterImplementor)
+                               return new TagXmpWriterAdapter (obj as ITagXmpWriterImplementor);
+                       else if (obj as ITagXmpWriter == null)
+                               return new TagXmpWriterAdapter (obj.Handle);
+                       else
+                               return obj as ITagXmpWriter;
+               }
+
+               public ITagXmpWriterImplementor Implementor {
+                       get {
+                               return implementor as ITagXmpWriterImplementor;
+                       }
+               }
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_xmp_writer_add_all_schemas(IntPtr raw);
+
+               public void AddAllSchemas() {
+                       gst_tag_xmp_writer_add_all_schemas(Handle);
+               }
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_xmp_writer_add_schema(IntPtr raw, IntPtr schema);
+
+               public void AddSchema(string schema) {
+                       IntPtr native_schema = GLib.Marshaller.StringToPtrGStrdup (schema);
+                       gst_tag_xmp_writer_add_schema(Handle, native_schema);
+                       GLib.Marshaller.Free (native_schema);
+               }
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_xmp_writer_has_schema(IntPtr raw, IntPtr schema);
+
+               public bool HasSchema(string schema) {
+                       IntPtr native_schema = GLib.Marshaller.StringToPtrGStrdup (schema);
+                       bool raw_ret = gst_tag_xmp_writer_has_schema(Handle, native_schema);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_schema);
+                       return ret;
+               }
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_xmp_writer_remove_all_schemas(IntPtr raw);
+
+               public void RemoveAllSchemas() {
+                       gst_tag_xmp_writer_remove_all_schemas(Handle);
+               }
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_xmp_writer_remove_schema(IntPtr raw, IntPtr schema);
+
+               public void RemoveSchema(string schema) {
+                       IntPtr native_schema = GLib.Marshaller.StringToPtrGStrdup (schema);
+                       gst_tag_xmp_writer_remove_schema(Handle, native_schema);
+                       GLib.Marshaller.Free (native_schema);
+               }
+
+               [DllImport("libgsttag-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_xmp_writer_tag_list_to_xmp_buffer(IntPtr raw, IntPtr taglist, bool read_only);
+
+               public Gst.Buffer TagListToXmpBuffer(Gst.TagList taglist, bool read_only) {
+                       IntPtr raw_ret = gst_tag_xmp_writer_tag_list_to_xmp_buffer(Handle, taglist == null ? IntPtr.Zero : taglist.Handle, read_only);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_ColorBalanceAdapter.cs b/sources/generated/Gst.Video_ColorBalanceAdapter.cs
new file mode 100644 (file)
index 0000000..97de069
--- /dev/null
@@ -0,0 +1,242 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ColorBalanceAdapter : GLib.GInterfaceAdapter, Gst.Video.IColorBalance {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstColorBalanceInterface {
+                       public ListChannelsNativeDelegate ListChannels;
+                       public SetValueNativeDelegate SetValue;
+                       public GetValueNativeDelegate GetValue;
+                       public GetBalanceTypeNativeDelegate GetBalanceType;
+                       IntPtr ValueChangedEvent;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+                       private IntPtr[] _gstGstReserved;
+               }
+
+               static GstColorBalanceInterface iface;
+
+               static ColorBalanceAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (ColorBalanceAdapter));
+                       iface.ListChannels = new ListChannelsNativeDelegate (ListChannels_cb);
+                       iface.SetValue = new SetValueNativeDelegate (SetValue_cb);
+                       iface.GetValue = new GetValueNativeDelegate (GetValue_cb);
+                       iface.GetBalanceType = new GetBalanceTypeNativeDelegate (GetBalanceType_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr ListChannelsNativeDelegate (IntPtr inst);
+
+               static IntPtr ListChannels_cb (IntPtr inst)
+               {
+                       try {
+                               IColorBalanceImplementor __obj = GLib.Object.GetObject (inst, false) as IColorBalanceImplementor;
+                               Gst.Video.ColorBalanceChannel[] __result;
+                               __result = __obj.ListChannels ();
+                               return new GLib.List(__result, typeof (Gst.Video.ColorBalanceChannel), false, false) == null ? IntPtr.Zero : new GLib.List(__result, typeof (Gst.Video.ColorBalanceChannel), false, false).Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SetValueNativeDelegate (IntPtr inst, IntPtr channel, int value);
+
+               static void SetValue_cb (IntPtr inst, IntPtr channel, int value)
+               {
+                       try {
+                               IColorBalanceImplementor __obj = GLib.Object.GetObject (inst, false) as IColorBalanceImplementor;
+                               __obj.SetValue (GLib.Object.GetObject(channel) as Gst.Video.ColorBalanceChannel, value);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int GetValueNativeDelegate (IntPtr inst, IntPtr channel);
+
+               static int GetValue_cb (IntPtr inst, IntPtr channel)
+               {
+                       try {
+                               IColorBalanceImplementor __obj = GLib.Object.GetObject (inst, false) as IColorBalanceImplementor;
+                               int __result;
+                               __result = __obj.GetValue (GLib.Object.GetObject(channel) as Gst.Video.ColorBalanceChannel);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int GetBalanceTypeNativeDelegate (IntPtr inst);
+
+               static int GetBalanceType_cb (IntPtr inst)
+               {
+                       try {
+                               IColorBalanceImplementor __obj = GLib.Object.GetObject (inst, false) as IColorBalanceImplementor;
+                               Gst.Video.ColorBalanceType __result;
+                               __result = __obj.BalanceType;
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GstColorBalanceInterface native_iface = (GstColorBalanceInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstColorBalanceInterface));
+                       native_iface.ListChannels = iface.ListChannels;
+                       native_iface.SetValue = iface.SetValue;
+                       native_iface.GetValue = iface.GetValue;
+                       native_iface.GetBalanceType = iface.GetBalanceType;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public ColorBalanceAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public ColorBalanceAdapter (IColorBalanceImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public ColorBalanceAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_color_balance_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_color_balance_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IColorBalance GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IColorBalance GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IColorBalanceImplementor)
+                               return new ColorBalanceAdapter (obj as IColorBalanceImplementor);
+                       else if (obj as IColorBalance == null)
+                               return new ColorBalanceAdapter (obj.Handle);
+                       else
+                               return obj as IColorBalance;
+               }
+
+               public IColorBalanceImplementor Implementor {
+                       get {
+                               return implementor as IColorBalanceImplementor;
+                       }
+               }
+
+               [GLib.Signal("value-changed")]
+               public event Gst.Video.ValueChangedEventHandler ValueChangedEvent {
+                       add {
+                               GLib.Object.GetObject (Handle).AddSignalHandler ("value-changed", value, typeof (Gst.Video.ValueChangedEventArgs));
+                       }
+                       remove {
+                               GLib.Object.GetObject (Handle).RemoveSignalHandler ("value-changed", value);
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_color_balance_get_balance_type(IntPtr raw);
+
+               public Gst.Video.ColorBalanceType BalanceType { 
+                       get {
+                               int raw_ret = gst_color_balance_get_balance_type(Handle);
+                               Gst.Video.ColorBalanceType ret = (Gst.Video.ColorBalanceType) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_color_balance_get_value(IntPtr raw, IntPtr channel);
+
+               public int GetValue(Gst.Video.ColorBalanceChannel channel) {
+                       int raw_ret = gst_color_balance_get_value(Handle, channel == null ? IntPtr.Zero : channel.Handle);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_color_balance_list_channels(IntPtr raw);
+
+               public Gst.Video.ColorBalanceChannel[] ListChannels() {
+                       IntPtr raw_ret = gst_color_balance_list_channels(Handle);
+                       Gst.Video.ColorBalanceChannel[] ret = (Gst.Video.ColorBalanceChannel[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(Gst.Video.ColorBalanceChannel));
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_color_balance_set_value(IntPtr raw, IntPtr channel, int value);
+
+               public void SetValue(Gst.Video.ColorBalanceChannel channel, int value) {
+                       gst_color_balance_set_value(Handle, channel == null ? IntPtr.Zero : channel.Handle, value);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_color_balance_value_changed(IntPtr raw, IntPtr channel, int value);
+
+               public void ValueChanged(Gst.Video.ColorBalanceChannel channel, int value) {
+                       gst_color_balance_value_changed(Handle, channel == null ? IntPtr.Zero : channel.Handle, value);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_ColorBalanceChannel.cs b/sources/generated/Gst.Video_ColorBalanceChannel.cs
new file mode 100644 (file)
index 0000000..40c9ab4
--- /dev/null
@@ -0,0 +1,223 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ColorBalanceChannel : GLib.Object {
+
+               public ColorBalanceChannel (IntPtr raw) : base(raw) {}
+
+               protected ColorBalanceChannel() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public string Label {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("label"));
+                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public int MinValue {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("min_value"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int MaxValue {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("max_value"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               [GLib.Signal("value-changed")]
+               public event Gst.Video.ValueChangedHandler ValueChanged {
+                       add {
+                               this.AddSignalHandler ("value-changed", value, typeof (Gst.Video.ValueChangedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("value-changed", value);
+                       }
+               }
+
+               static ValueChangedNativeDelegate ValueChanged_cb_delegate;
+               static ValueChangedNativeDelegate ValueChangedVMCallback {
+                       get {
+                               if (ValueChanged_cb_delegate == null)
+                                       ValueChanged_cb_delegate = new ValueChangedNativeDelegate (ValueChanged_cb);
+                               return ValueChanged_cb_delegate;
+                       }
+               }
+
+               static void OverrideValueChanged (GLib.GType gtype)
+               {
+                       OverrideValueChanged (gtype, ValueChangedVMCallback);
+               }
+
+               static void OverrideValueChanged (GLib.GType gtype, ValueChangedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("value_changed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ValueChangedNativeDelegate (IntPtr inst, int value);
+
+               static void ValueChanged_cb (IntPtr inst, int value)
+               {
+                       try {
+                               ColorBalanceChannel __obj = GLib.Object.GetObject (inst, false) as ColorBalanceChannel;
+                               __obj.OnValueChanged (value);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.ColorBalanceChannel), ConnectionMethod="OverrideValueChanged")]
+               protected virtual void OnValueChanged (int value)
+               {
+                       InternalValueChanged (value);
+               }
+
+               private void InternalValueChanged (int value)
+               {
+                       ValueChangedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("value_changed"));
+                               unmanaged = (ValueChangedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ValueChangedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, value);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("value_changed"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // value_changed
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "value_changed"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_color_balance_channel_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_color_balance_channel_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static ColorBalanceChannel ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("label"
+                                                       , GLib.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // label
+                                                       , null
+                                                       , "min_value"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("min_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // min_value
+                                                       , "label"
+                                                       , "max_value"
+                                                       , (long) Marshal.OffsetOf(typeof(GstColorBalanceChannel_min_valueAlign), "min_value")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("max_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // max_value
+                                                       , "min_value"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstColorBalanceChannel_max_valueAlign), "max_value")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "max_value"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstColorBalanceChannel_min_valueAlign
+               {
+                       sbyte f1;
+                       private int min_value;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstColorBalanceChannel_max_valueAlign
+               {
+                       sbyte f1;
+                       private int max_value;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_ColorBalanceType.cs b/sources/generated/Gst.Video_ColorBalanceType.cs
new file mode 100644 (file)
index 0000000..8d1f0a2
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.ColorBalanceTypeGType))]
+       public enum ColorBalanceType {
+
+               Hardware = 0,
+               Software = 1,
+       }
+
+       internal class ColorBalanceTypeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_color_balance_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_color_balance_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_Constants.cs b/sources/generated/Gst.Video_Constants.cs
new file mode 100644 (file)
index 0000000..ed404f9
--- /dev/null
@@ -0,0 +1,86 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const string BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META = @"GstBufferPoolOptionVideoAffineTransformation";
+               public const string BUFFER_POOL_OPTION_VIDEO_ALIGNMENT = @"GstBufferPoolOptionVideoAlignment";
+               public const string BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META = @"GstBufferPoolOptionVideoGLTextureUploadMeta";
+               public const string BUFFER_POOL_OPTION_VIDEO_META = @"GstBufferPoolOptionVideoMeta";
+               public const string CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META = @"meta:GstVideoAffineTransformation";
+               public const string CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META = @"meta:GstVideoGLTextureUploadMeta";
+               public const string CAPS_FEATURE_META_GST_VIDEO_META = @"meta:GstVideoMeta";
+               public const string CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION = @"meta:GstVideoOverlayComposition";
+               public const string META_TAG_VIDEO_COLORSPACE_STR = @"colorspace";
+               public const string META_TAG_VIDEO_ORIENTATION_STR = @"orientation";
+               public const string META_TAG_VIDEO_SIZE_STR = @"size";
+               public const string META_TAG_VIDEO_STR = @"video";
+               public const string VIDEO_COLORIMETRY_BT2020 = @"bt2020";
+               public const string VIDEO_COLORIMETRY_BT601 = @"bt601";
+               public const string VIDEO_COLORIMETRY_BT709 = @"bt709";
+               public const string VIDEO_COLORIMETRY_SMPTE240M = @"smpte240m";
+               public const string VIDEO_COLORIMETRY_SRGB = @"sRGB";
+               public const int VIDEO_COMP_A = 3;
+               public const int VIDEO_COMP_B = 2;
+               public const int VIDEO_COMP_G = 1;
+               public const int VIDEO_COMP_INDEX = 0;
+               public const int VIDEO_COMP_PALETTE = 1;
+               public const int VIDEO_COMP_R = 0;
+               public const int VIDEO_COMP_U = 1;
+               public const int VIDEO_COMP_V = 2;
+               public const int VIDEO_COMP_Y = 0;
+               public const string VIDEO_CONVERTER_OPT_ALPHA_MODE = @"GstVideoConverter.alpha-mode";
+               public const string VIDEO_CONVERTER_OPT_ALPHA_VALUE = @"GstVideoConverter.alpha-value";
+               public const string VIDEO_CONVERTER_OPT_BORDER_ARGB = @"GstVideoConverter.border-argb";
+               public const string VIDEO_CONVERTER_OPT_CHROMA_MODE = @"GstVideoConverter.chroma-mode";
+               public const string VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD = @"GstVideoConverter.chroma-resampler-method";
+               public const string VIDEO_CONVERTER_OPT_DEST_HEIGHT = @"GstVideoConverter.dest-height";
+               public const string VIDEO_CONVERTER_OPT_DEST_WIDTH = @"GstVideoConverter.dest-width";
+               public const string VIDEO_CONVERTER_OPT_DEST_X = @"GstVideoConverter.dest-x";
+               public const string VIDEO_CONVERTER_OPT_DEST_Y = @"GstVideoConverter.dest-y";
+               public const string VIDEO_CONVERTER_OPT_DITHER_METHOD = @"GstVideoConverter.dither-method";
+               public const string VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION = @"GstVideoConverter.dither-quantization";
+               public const string VIDEO_CONVERTER_OPT_FILL_BORDER = @"GstVideoConverter.fill-border";
+               public const string VIDEO_CONVERTER_OPT_GAMMA_MODE = @"GstVideoConverter.gamma-mode";
+               public const string VIDEO_CONVERTER_OPT_MATRIX_MODE = @"GstVideoConverter.matrix-mode";
+               public const string VIDEO_CONVERTER_OPT_PRIMARIES_MODE = @"GstVideoConverter.primaries-mode";
+               public const string VIDEO_CONVERTER_OPT_RESAMPLER_METHOD = @"GstVideoConverter.resampler-method";
+               public const string VIDEO_CONVERTER_OPT_RESAMPLER_TAPS = @"GstVideoConverter.resampler-taps";
+               public const string VIDEO_CONVERTER_OPT_SRC_HEIGHT = @"GstVideoConverter.src-height";
+               public const string VIDEO_CONVERTER_OPT_SRC_WIDTH = @"GstVideoConverter.src-width";
+               public const string VIDEO_CONVERTER_OPT_SRC_X = @"GstVideoConverter.src-x";
+               public const string VIDEO_CONVERTER_OPT_SRC_Y = @"GstVideoConverter.src-y";
+               public const string VIDEO_CONVERTER_OPT_THREADS = @"GstVideoConverter.threads";
+               public const int VIDEO_DECODER_MAX_ERRORS = 10;
+               public const string VIDEO_DECODER_SINK_NAME = @"sink";
+               public const string VIDEO_DECODER_SRC_NAME = @"src";
+               public const string VIDEO_ENCODER_SINK_NAME = @"sink";
+               public const string VIDEO_ENCODER_SRC_NAME = @"src";
+               public const string VIDEO_FORMATS_ALL = @"{ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE }";
+               public const string VIDEO_FPS_RANGE = @"(fraction) [ 0, max ]";
+               public const int VIDEO_MAX_COMPONENTS = 4;
+               public const int VIDEO_MAX_PLANES = 4;
+               public const string VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS = @"{ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }";
+               public const string VIDEO_RESAMPLER_OPT_CUBIC_B = @"GstVideoResampler.cubic-b";
+               public const string VIDEO_RESAMPLER_OPT_CUBIC_C = @"GstVideoResampler.cubic-c";
+               public const string VIDEO_RESAMPLER_OPT_ENVELOPE = @"GstVideoResampler.envelope";
+               public const string VIDEO_RESAMPLER_OPT_MAX_TAPS = @"GstVideoResampler.max-taps";
+               public const string VIDEO_RESAMPLER_OPT_SHARPEN = @"GstVideoResampler.sharpen";
+               public const string VIDEO_RESAMPLER_OPT_SHARPNESS = @"GstVideoResampler.sharpness";
+               public const string VIDEO_SCALER_OPT_DITHER_METHOD = @"GstVideoScaler.dither-method";
+               public const string VIDEO_SIZE_RANGE = @"(int) [ 1, max ]";
+               public const int VIDEO_TILE_TYPE_MASK = 0;
+               public const int VIDEO_TILE_TYPE_SHIFT = 16;
+               public const int VIDEO_TILE_X_TILES_MASK = 0;
+               public const int VIDEO_TILE_Y_TILES_SHIFT = 16;
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_Global.cs b/sources/generated/Gst.Video_Global.cs
new file mode 100644 (file)
index 0000000..79d23e0
--- /dev/null
@@ -0,0 +1,902 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_affine_transformation_meta(IntPtr buffer);
+
+               public static Gst.Video.VideoAffineTransformationMeta BufferAddVideoAffineTransformationMeta(Gst.Buffer buffer) {
+                       IntPtr raw_ret = gst_buffer_add_video_affine_transformation_meta(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.Video.VideoAffineTransformationMeta ret = Gst.Video.VideoAffineTransformationMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_gl_texture_upload_meta(IntPtr buffer, int texture_orientation, uint n_textures, int texture_type, Gst.VideoSharp.VideoGLTextureUploadNative upload, IntPtr user_data, IntPtr user_data_copy, IntPtr user_data_free);
+
+               public static Gst.Video.VideoGLTextureUploadMeta BufferAddVideoGlTextureUploadMeta(Gst.Buffer buffer, Gst.Video.VideoGLTextureOrientation texture_orientation, uint n_textures, Gst.Video.VideoGLTextureType texture_type, Gst.Video.VideoGLTextureUpload upload, IntPtr user_data_copy, IntPtr user_data_free) {
+                       Gst.VideoSharp.VideoGLTextureUploadWrapper upload_wrapper = new Gst.VideoSharp.VideoGLTextureUploadWrapper (upload);
+                       IntPtr raw_ret = gst_buffer_add_video_gl_texture_upload_meta(buffer == null ? IntPtr.Zero : buffer.Handle, (int) texture_orientation, n_textures, (int) texture_type, upload_wrapper.NativeDelegate, IntPtr.Zero, user_data_copy, user_data_free);
+                       Gst.Video.VideoGLTextureUploadMeta ret = Gst.Video.VideoGLTextureUploadMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_meta(IntPtr buffer, int flags, int format, uint width, uint height);
+
+               public static Gst.Video.VideoMeta BufferAddVideoMeta(Gst.Buffer buffer, Gst.Video.VideoFrameFlags flags, Gst.Video.VideoFormat format, uint width, uint height) {
+                       IntPtr raw_ret = gst_buffer_add_video_meta(buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags, (int) format, width, height);
+                       Gst.Video.VideoMeta ret = Gst.Video.VideoMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_meta_full(IntPtr buffer, int flags, int format, uint width, uint height, uint n_planes, UIntPtr offset, int stride);
+
+               public static Gst.Video.VideoMeta BufferAddVideoMetaFull(Gst.Buffer buffer, Gst.Video.VideoFrameFlags flags, Gst.Video.VideoFormat format, uint width, uint height, uint n_planes, ulong offset, int stride) {
+                       IntPtr raw_ret = gst_buffer_add_video_meta_full(buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags, (int) format, width, height, n_planes, new UIntPtr (offset), stride);
+                       Gst.Video.VideoMeta ret = Gst.Video.VideoMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_overlay_composition_meta(IntPtr buf, IntPtr comp);
+
+               public static Gst.Video.VideoOverlayCompositionMeta BufferAddVideoOverlayCompositionMeta(Gst.Buffer buf, Gst.Video.VideoOverlayComposition comp) {
+                       IntPtr native_comp = GLib.Marshaller.StructureToPtrAlloc (comp);
+                       IntPtr raw_ret = gst_buffer_add_video_overlay_composition_meta(buf == null ? IntPtr.Zero : buf.Handle, native_comp);
+                       Gst.Video.VideoOverlayCompositionMeta ret = Gst.Video.VideoOverlayCompositionMeta.New (raw_ret);
+                       Marshal.FreeHGlobal (native_comp);
+                       return ret;
+               }
+
+               public static Gst.Video.VideoOverlayCompositionMeta BufferAddVideoOverlayCompositionMeta(Gst.Buffer buf) {
+                       return BufferAddVideoOverlayCompositionMeta (buf, Gst.Video.VideoOverlayComposition.Zero);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_region_of_interest_meta(IntPtr buffer, IntPtr roi_type, uint x, uint y, uint w, uint h);
+
+               public static Gst.Video.VideoRegionOfInterestMeta BufferAddVideoRegionOfInterestMeta(Gst.Buffer buffer, string roi_type, uint x, uint y, uint w, uint h) {
+                       IntPtr native_roi_type = GLib.Marshaller.StringToPtrGStrdup (roi_type);
+                       IntPtr raw_ret = gst_buffer_add_video_region_of_interest_meta(buffer == null ? IntPtr.Zero : buffer.Handle, native_roi_type, x, y, w, h);
+                       Gst.Video.VideoRegionOfInterestMeta ret = Gst.Video.VideoRegionOfInterestMeta.New (raw_ret);
+                       GLib.Marshaller.Free (native_roi_type);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_region_of_interest_meta_id(IntPtr buffer, uint roi_type, uint x, uint y, uint w, uint h);
+
+               public static Gst.Video.VideoRegionOfInterestMeta BufferAddVideoRegionOfInterestMetaId(Gst.Buffer buffer, uint roi_type, uint x, uint y, uint w, uint h) {
+                       IntPtr raw_ret = gst_buffer_add_video_region_of_interest_meta_id(buffer == null ? IntPtr.Zero : buffer.Handle, roi_type, x, y, w, h);
+                       Gst.Video.VideoRegionOfInterestMeta ret = Gst.Video.VideoRegionOfInterestMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_time_code_meta(IntPtr buffer, IntPtr tc);
+
+               public static Gst.Video.VideoTimeCodeMeta BufferAddVideoTimeCodeMeta(Gst.Buffer buffer, Gst.Video.VideoTimeCode tc) {
+                       IntPtr native_tc = GLib.Marshaller.StructureToPtrAlloc (tc);
+                       IntPtr raw_ret = gst_buffer_add_video_time_code_meta(buffer == null ? IntPtr.Zero : buffer.Handle, native_tc);
+                       Gst.Video.VideoTimeCodeMeta ret = Gst.Video.VideoTimeCodeMeta.New (raw_ret);
+                       Marshal.FreeHGlobal (native_tc);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_video_time_code_meta_full(IntPtr buffer, uint fps_n, uint fps_d, IntPtr latest_daily_jam, int flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count);
+
+               public static Gst.Video.VideoTimeCodeMeta BufferAddVideoTimeCodeMetaFull(Gst.Buffer buffer, uint fps_n, uint fps_d, GLib.DateTime latest_daily_jam, Gst.Video.VideoTimeCodeFlags flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count) {
+                       IntPtr raw_ret = gst_buffer_add_video_time_code_meta_full(buffer == null ? IntPtr.Zero : buffer.Handle, fps_n, fps_d, latest_daily_jam == null ? IntPtr.Zero : latest_daily_jam.Handle, (int) flags, hours, minutes, seconds, frames, field_count);
+                       Gst.Video.VideoTimeCodeMeta ret = Gst.Video.VideoTimeCodeMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_video_meta(IntPtr buffer);
+
+               public static Gst.Video.VideoMeta BufferGetVideoMeta(Gst.Buffer buffer) {
+                       IntPtr raw_ret = gst_buffer_get_video_meta(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.Video.VideoMeta ret = Gst.Video.VideoMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_video_meta_id(IntPtr buffer, int id);
+
+               public static Gst.Video.VideoMeta BufferGetVideoMetaId(Gst.Buffer buffer, int id) {
+                       IntPtr raw_ret = gst_buffer_get_video_meta_id(buffer == null ? IntPtr.Zero : buffer.Handle, id);
+                       Gst.Video.VideoMeta ret = Gst.Video.VideoMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_video_region_of_interest_meta_id(IntPtr buffer, int id);
+
+               public static Gst.Video.VideoRegionOfInterestMeta BufferGetVideoRegionOfInterestMetaId(Gst.Buffer buffer, int id) {
+                       IntPtr raw_ret = gst_buffer_get_video_region_of_interest_meta_id(buffer == null ? IntPtr.Zero : buffer.Handle, id);
+                       Gst.Video.VideoRegionOfInterestMeta ret = Gst.Video.VideoRegionOfInterestMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_config_get_video_alignment(IntPtr config, IntPtr align);
+
+               public static bool BufferPoolConfigGetVideoAlignment(Gst.Structure config, Gst.Video.VideoAlignment align) {
+                       IntPtr native_align = GLib.Marshaller.StructureToPtrAlloc (align);
+                       bool raw_ret = gst_buffer_pool_config_get_video_alignment(config == null ? IntPtr.Zero : config.Handle, native_align);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_align);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_pool_config_set_video_alignment(IntPtr config, IntPtr align);
+
+               public static void BufferPoolConfigSetVideoAlignment(Gst.Structure config, Gst.Video.VideoAlignment align) {
+                       IntPtr native_align = GLib.Marshaller.StructureToPtrAlloc (align);
+                       gst_buffer_pool_config_set_video_alignment(config == null ? IntPtr.Zero : config.Handle, native_align);
+                       Marshal.FreeHGlobal (native_align);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_is_video_overlay_prepare_window_handle_message(IntPtr msg);
+
+               public static bool IsVideoOverlayPrepareWindowHandleMessage(Gst.Message msg) {
+                       bool raw_ret = gst_is_video_overlay_prepare_window_handle_message(msg == null ? IntPtr.Zero : msg.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_navigation_event_get_type(IntPtr evnt);
+
+               public static Gst.Video.NavigationEventType NavigationEventGetType(Gst.Event evnt) {
+                       int raw_ret = gst_navigation_event_get_type(evnt == null ? IntPtr.Zero : evnt.Handle);
+                       Gst.Video.NavigationEventType ret = (Gst.Video.NavigationEventType) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_event_parse_command(IntPtr evnt, out int command);
+
+               public static bool NavigationEventParseCommand(Gst.Event evnt, out Gst.Video.NavigationCommand command) {
+                       int native_command;
+                       bool raw_ret = gst_navigation_event_parse_command(evnt == null ? IntPtr.Zero : evnt.Handle, out native_command);
+                       bool ret = raw_ret;
+                       command = (Gst.Video.NavigationCommand) native_command;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_event_parse_key_event(IntPtr evnt, out IntPtr key);
+
+               public static bool NavigationEventParseKeyEvent(Gst.Event evnt, out string key) {
+                       IntPtr native_key;
+                       bool raw_ret = gst_navigation_event_parse_key_event(evnt == null ? IntPtr.Zero : evnt.Handle, out native_key);
+                       bool ret = raw_ret;
+                       key = GLib.Marshaller.Utf8PtrToString (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_event_parse_mouse_button_event(IntPtr evnt, out int button, out double x, out double y);
+
+               public static bool NavigationEventParseMouseButtonEvent(Gst.Event evnt, out int button, out double x, out double y) {
+                       bool raw_ret = gst_navigation_event_parse_mouse_button_event(evnt == null ? IntPtr.Zero : evnt.Handle, out button, out x, out y);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_event_parse_mouse_move_event(IntPtr evnt, out double x, out double y);
+
+               public static bool NavigationEventParseMouseMoveEvent(Gst.Event evnt, out double x, out double y) {
+                       bool raw_ret = gst_navigation_event_parse_mouse_move_event(evnt == null ? IntPtr.Zero : evnt.Handle, out x, out y);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_navigation_message_get_type(IntPtr message);
+
+               public static Gst.Video.NavigationMessageType NavigationMessageGetType(Gst.Message message) {
+                       int raw_ret = gst_navigation_message_get_type(message == null ? IntPtr.Zero : message.Handle);
+                       Gst.Video.NavigationMessageType ret = (Gst.Video.NavigationMessageType) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_new_angles_changed(IntPtr src, uint cur_angle, uint n_angles);
+
+               public static Gst.Message NavigationMessageNewAnglesChanged(Gst.Object src, uint cur_angle, uint n_angles) {
+                       IntPtr raw_ret = gst_navigation_message_new_angles_changed(src == null ? IntPtr.Zero : src.Handle, cur_angle, n_angles);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_new_commands_changed(IntPtr src);
+
+               public static Gst.Message NavigationMessageNewCommandsChanged(Gst.Object src) {
+                       IntPtr raw_ret = gst_navigation_message_new_commands_changed(src == null ? IntPtr.Zero : src.Handle);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_new_event(IntPtr src, IntPtr evnt);
+
+               public static Gst.Message NavigationMessageNewEvent(Gst.Object src, Gst.Event evnt) {
+                       IntPtr raw_ret = gst_navigation_message_new_event(src == null ? IntPtr.Zero : src.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_new_mouse_over(IntPtr src, bool active);
+
+               public static Gst.Message NavigationMessageNewMouseOver(Gst.Object src, bool active) {
+                       IntPtr raw_ret = gst_navigation_message_new_mouse_over(src == null ? IntPtr.Zero : src.Handle, active);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_message_parse_angles_changed(IntPtr message, out uint cur_angle, out uint n_angles);
+
+               public static bool NavigationMessageParseAnglesChanged(Gst.Message message, out uint cur_angle, out uint n_angles) {
+                       bool raw_ret = gst_navigation_message_parse_angles_changed(message == null ? IntPtr.Zero : message.Handle, out cur_angle, out n_angles);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_message_parse_event(IntPtr message, out IntPtr evnt);
+
+               public static bool NavigationMessageParseEvent(Gst.Message message, out Gst.Event evnt) {
+                       IntPtr native_evnt;
+                       bool raw_ret = gst_navigation_message_parse_event(message == null ? IntPtr.Zero : message.Handle, out native_evnt);
+                       bool ret = raw_ret;
+                       evnt = native_evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (native_evnt, typeof (Gst.Event), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_message_parse_mouse_over(IntPtr message, out bool active);
+
+               public static bool NavigationMessageParseMouseOver(Gst.Message message, out bool active) {
+                       bool raw_ret = gst_navigation_message_parse_mouse_over(message == null ? IntPtr.Zero : message.Handle, out active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_navigation_query_get_type(IntPtr query);
+
+               public static Gst.Video.NavigationQueryType NavigationQueryGetType(Gst.Query query) {
+                       int raw_ret = gst_navigation_query_get_type(query == null ? IntPtr.Zero : query.Handle);
+                       Gst.Video.NavigationQueryType ret = (Gst.Video.NavigationQueryType) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_query_new_angles();
+
+               public static Gst.Query NavigationQueryNewAngles() {
+                       IntPtr raw_ret = gst_navigation_query_new_angles();
+                       Gst.Query ret = raw_ret == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Query), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_query_new_commands();
+
+               public static Gst.Query NavigationQueryNewCommands() {
+                       IntPtr raw_ret = gst_navigation_query_new_commands();
+                       Gst.Query ret = raw_ret == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Query), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_query_parse_angles(IntPtr query, out uint cur_angle, out uint n_angles);
+
+               public static bool NavigationQueryParseAngles(Gst.Query query, out uint cur_angle, out uint n_angles) {
+                       bool raw_ret = gst_navigation_query_parse_angles(query == null ? IntPtr.Zero : query.Handle, out cur_angle, out n_angles);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_query_parse_commands_length(IntPtr query, out uint n_cmds);
+
+               public static bool NavigationQueryParseCommandsLength(Gst.Query query, out uint n_cmds) {
+                       bool raw_ret = gst_navigation_query_parse_commands_length(query == null ? IntPtr.Zero : query.Handle, out n_cmds);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_query_parse_commands_nth(IntPtr query, uint nth, out int cmd);
+
+               public static bool NavigationQueryParseCommandsNth(Gst.Query query, uint nth, out Gst.Video.NavigationCommand cmd) {
+                       int native_cmd;
+                       bool raw_ret = gst_navigation_query_parse_commands_nth(query == null ? IntPtr.Zero : query.Handle, nth, out native_cmd);
+                       bool ret = raw_ret;
+                       cmd = (Gst.Video.NavigationCommand) native_cmd;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_navigation_query_set_angles(IntPtr query, uint cur_angle, uint n_angles);
+
+               public static void NavigationQuerySetAngles(Gst.Query query, uint cur_angle, uint n_angles) {
+                       gst_navigation_query_set_angles(query == null ? IntPtr.Zero : query.Handle, cur_angle, n_angles);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_navigation_query_set_commandsv(IntPtr query, int n_cmds, int[] cmds);
+
+               public static void NavigationQuerySetCommandsv(Gst.Query query, Gst.Video.NavigationCommand[] cmds) {
+                       int cnt_cmds = cmds == null ? 0 : cmds.Length;
+                       int[] native_cmds = new int [cnt_cmds];
+                       for (int i = 0; i < cnt_cmds; i++)
+                               native_cmds [i] = (int) cmds[i];
+                       gst_navigation_query_set_commandsv(query == null ? IntPtr.Zero : query.Handle, (cmds == null ? 0 : cmds.Length), native_cmds);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_affine_transformation_meta_api_get_type();
+
+               public static GLib.GType VideoAffineTransformationMetaApiGetType() {
+                       IntPtr raw_ret = gst_video_affine_transformation_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_affine_transformation_meta_get_info();
+
+               public static Gst.MetaInfo VideoAffineTransformationMetaGetInfo() {
+                       IntPtr raw_ret = gst_video_affine_transformation_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_blend(IntPtr dest, IntPtr src, int x, int y, float global_alpha);
+
+               public static bool VideoBlend(Gst.Video.VideoFrame dest, Gst.Video.VideoFrame src, int x, int y, float global_alpha) {
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       bool raw_ret = gst_video_blend(native_dest, native_src, x, y, global_alpha);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_src);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_blend_scale_linear_RGBA(IntPtr src, IntPtr src_buffer, int dest_height, int dest_width, out IntPtr dest, out IntPtr dest_buffer);
+
+               public static void VideoBlendScaleLinearRGBA(Gst.Video.VideoInfo src, Gst.Buffer src_buffer, int dest_height, int dest_width, out Gst.Video.VideoInfo dest, out Gst.Buffer dest_buffer) {
+                       IntPtr native_dest;
+                       IntPtr native_dest_buffer;
+                       gst_video_blend_scale_linear_RGBA(src == null ? IntPtr.Zero : src.Handle, src_buffer == null ? IntPtr.Zero : src_buffer.Handle, dest_height, dest_width, out native_dest, out native_dest_buffer);
+                       dest = native_dest == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (native_dest, typeof (Gst.Video.VideoInfo), false);
+                       dest_buffer = native_dest_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_dest_buffer, typeof (Gst.Buffer), true);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_calculate_display_ratio(out uint dar_n, out uint dar_d, uint video_width, uint video_height, uint video_par_n, uint video_par_d, uint display_par_n, uint display_par_d);
+
+               public static bool VideoCalculateDisplayRatio(out uint dar_n, out uint dar_d, uint video_width, uint video_height, uint video_par_n, uint video_par_d, uint display_par_n, uint display_par_d) {
+                       bool raw_ret = gst_video_calculate_display_ratio(out dar_n, out dar_d, video_width, video_height, video_par_n, video_par_d, display_par_n, display_par_d);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_chroma_from_string(IntPtr s);
+
+               public static Gst.Video.VideoChromaSite VideoChromaFromString(string s) {
+                       IntPtr native_s = GLib.Marshaller.StringToPtrGStrdup (s);
+                       int raw_ret = gst_video_chroma_from_string(native_s);
+                       Gst.Video.VideoChromaSite ret = (Gst.Video.VideoChromaSite) raw_ret;
+                       GLib.Marshaller.Free (native_s);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_chroma_resample(IntPtr resample, IntPtr lines, int width);
+
+               public static void VideoChromaResample(Gst.Video.VideoChromaResample resample, IntPtr lines, int width) {
+                       gst_video_chroma_resample(resample == null ? IntPtr.Zero : resample.Handle, lines, width);
+               }
+
+               public static void VideoChromaResample(Gst.Video.VideoChromaResample resample, int width) {
+                       VideoChromaResample (resample, IntPtr.Zero, width);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_chroma_to_string(int site);
+
+               public static string VideoChromaToString(Gst.Video.VideoChromaSite site) {
+                       IntPtr raw_ret = gst_video_chroma_to_string((int) site);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_color_matrix_get_Kr_Kb(int matrix, double Kr, double Kb);
+
+               public static bool VideoColorMatrixGetKrKb(Gst.Video.VideoColorMatrix matrix, double Kr, double Kb) {
+                       bool raw_ret = gst_video_color_matrix_get_Kr_Kb((int) matrix, Kr, Kb);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_color_primaries_get_info(int primaries);
+
+               public static Gst.Video.VideoColorPrimariesInfo VideoColorPrimariesGetInfo(Gst.Video.VideoColorPrimaries primaries) {
+                       IntPtr raw_ret = gst_video_color_primaries_get_info((int) primaries);
+                       Gst.Video.VideoColorPrimariesInfo ret = Gst.Video.VideoColorPrimariesInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_color_range_offsets(int range, IntPtr info, out int offset, out int scale);
+
+               public static void VideoColorRangeOffsets(Gst.Video.VideoColorRange range, Gst.Video.VideoFormatInfo info, out int offset, out int scale) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       gst_video_color_range_offsets((int) range, native_info, out offset, out scale);
+                       Marshal.FreeHGlobal (native_info);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_video_color_transfer_decode(int func, double val);
+
+               public static double VideoColorTransferDecode(Gst.Video.VideoTransferFunction func, double val) {
+                       double raw_ret = gst_video_color_transfer_decode((int) func, val);
+                       double ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_video_color_transfer_encode(int func, double val);
+
+               public static double VideoColorTransferEncode(Gst.Video.VideoTransferFunction func, double val) {
+                       double raw_ret = gst_video_color_transfer_encode((int) func, val);
+                       double ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_video_convert_sample(IntPtr sample, IntPtr to_caps, ulong timeout, out IntPtr error);
+
+               public static unsafe Gst.Sample VideoConvertSample(Gst.Sample sample, Gst.Caps to_caps, ulong timeout) {
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_video_convert_sample(sample == null ? IntPtr.Zero : sample.Handle, to_caps == null ? IntPtr.Zero : to_caps.Handle, timeout, out error);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_convert_sample_async(IntPtr sample, IntPtr to_caps, ulong timeout, Gst.VideoSharp.VideoConvertSampleCallbackNative cb, IntPtr user_data, GLib.DestroyNotify destroy_notify);
+
+               public static void VideoConvertSampleAsync(Gst.Sample sample, Gst.Caps to_caps, ulong timeout, Gst.Video.VideoConvertSampleCallback cb) {
+                       Gst.VideoSharp.VideoConvertSampleCallbackWrapper cb_wrapper = new Gst.VideoSharp.VideoConvertSampleCallbackWrapper (cb);
+                       IntPtr user_data;
+                       GLib.DestroyNotify destroy_notify;
+                       if (cb == null) {
+                               user_data = IntPtr.Zero;
+                               destroy_notify = null;
+                       } else {
+                               user_data = (IntPtr) GCHandle.Alloc (cb_wrapper);
+                               destroy_notify = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       gst_video_convert_sample_async(sample == null ? IntPtr.Zero : sample.Handle, to_caps == null ? IntPtr.Zero : to_caps.Handle, timeout, cb_wrapper.NativeDelegate, user_data, destroy_notify);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_crop_meta_api_get_type();
+
+               public static GLib.GType VideoCropMetaApiGetType() {
+                       IntPtr raw_ret = gst_video_crop_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_crop_meta_get_info();
+
+               public static Gst.MetaInfo VideoCropMetaGetInfo() {
+                       IntPtr raw_ret = gst_video_crop_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_event_is_force_key_unit(IntPtr evnt);
+
+               public static bool VideoEventIsForceKeyUnit(Gst.Event evnt) {
+                       bool raw_ret = gst_video_event_is_force_key_unit(evnt == null ? IntPtr.Zero : evnt.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_event_new_downstream_force_key_unit(ulong timestamp, ulong stream_time, ulong running_time, bool all_headers, uint count);
+
+               public static Gst.Event VideoEventNewDownstreamForceKeyUnit(ulong timestamp, ulong stream_time, ulong running_time, bool all_headers, uint count) {
+                       IntPtr raw_ret = gst_video_event_new_downstream_force_key_unit(timestamp, stream_time, running_time, all_headers, count);
+                       Gst.Event ret = raw_ret == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Event), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_event_new_still_frame(bool in_still);
+
+               public static Gst.Event VideoEventNewStillFrame(bool in_still) {
+                       IntPtr raw_ret = gst_video_event_new_still_frame(in_still);
+                       Gst.Event ret = raw_ret == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Event), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_event_new_upstream_force_key_unit(ulong running_time, bool all_headers, uint count);
+
+               public static Gst.Event VideoEventNewUpstreamForceKeyUnit(ulong running_time, bool all_headers, uint count) {
+                       IntPtr raw_ret = gst_video_event_new_upstream_force_key_unit(running_time, all_headers, count);
+                       Gst.Event ret = raw_ret == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Event), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_event_parse_downstream_force_key_unit(IntPtr evnt, out ulong timestamp, out ulong stream_time, out ulong running_time, out bool all_headers, out uint count);
+
+               public static bool VideoEventParseDownstreamForceKeyUnit(Gst.Event evnt, out ulong timestamp, out ulong stream_time, out ulong running_time, out bool all_headers, out uint count) {
+                       bool raw_ret = gst_video_event_parse_downstream_force_key_unit(evnt == null ? IntPtr.Zero : evnt.Handle, out timestamp, out stream_time, out running_time, out all_headers, out count);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_event_parse_still_frame(IntPtr evnt, bool in_still);
+
+               public static bool VideoEventParseStillFrame(Gst.Event evnt, bool in_still) {
+                       bool raw_ret = gst_video_event_parse_still_frame(evnt == null ? IntPtr.Zero : evnt.Handle, in_still);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_event_parse_upstream_force_key_unit(IntPtr evnt, out ulong running_time, out bool all_headers, out uint count);
+
+               public static bool VideoEventParseUpstreamForceKeyUnit(Gst.Event evnt, out ulong running_time, out bool all_headers, out uint count) {
+                       bool raw_ret = gst_video_event_parse_upstream_force_key_unit(evnt == null ? IntPtr.Zero : evnt.Handle, out running_time, out all_headers, out count);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_field_order_from_string(IntPtr order);
+
+               public static Gst.Video.VideoFieldOrder VideoFieldOrderFromString(string order) {
+                       IntPtr native_order = GLib.Marshaller.StringToPtrGStrdup (order);
+                       int raw_ret = gst_video_field_order_from_string(native_order);
+                       Gst.Video.VideoFieldOrder ret = (Gst.Video.VideoFieldOrder) raw_ret;
+                       GLib.Marshaller.Free (native_order);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_field_order_to_string(int order);
+
+               public static string VideoFieldOrderToString(Gst.Video.VideoFieldOrder order) {
+                       IntPtr raw_ret = gst_video_field_order_to_string((int) order);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_format_from_fourcc(uint fourcc);
+
+               public static Gst.Video.VideoFormat VideoFormatFromFourcc(uint fourcc) {
+                       int raw_ret = gst_video_format_from_fourcc(fourcc);
+                       Gst.Video.VideoFormat ret = (Gst.Video.VideoFormat) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_format_from_masks(int depth, int bpp, int endianness, uint red_mask, uint green_mask, uint blue_mask, uint alpha_mask);
+
+               public static Gst.Video.VideoFormat VideoFormatFromMasks(int depth, int bpp, int endianness, uint red_mask, uint green_mask, uint blue_mask, uint alpha_mask) {
+                       int raw_ret = gst_video_format_from_masks(depth, bpp, endianness, red_mask, green_mask, blue_mask, alpha_mask);
+                       Gst.Video.VideoFormat ret = (Gst.Video.VideoFormat) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_format_from_string(IntPtr format);
+
+               public static Gst.Video.VideoFormat VideoFormatFromString(string format) {
+                       IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+                       int raw_ret = gst_video_format_from_string(native_format);
+                       Gst.Video.VideoFormat ret = (Gst.Video.VideoFormat) raw_ret;
+                       GLib.Marshaller.Free (native_format);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_format_get_info(int format);
+
+               public static Gst.Video.VideoFormatInfo VideoFormatGetInfo(Gst.Video.VideoFormat format) {
+                       IntPtr raw_ret = gst_video_format_get_info((int) format);
+                       Gst.Video.VideoFormatInfo ret = Gst.Video.VideoFormatInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_format_get_palette(int format, out UIntPtr size);
+
+               public static IntPtr VideoFormatGetPalette(Gst.Video.VideoFormat format, out ulong size) {
+                       UIntPtr native_size;
+                       IntPtr raw_ret = gst_video_format_get_palette((int) format, out native_size);
+                       IntPtr ret = raw_ret;
+                       size = (ulong) native_size;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_video_format_to_fourcc(int format);
+
+               public static uint VideoFormatToFourcc(Gst.Video.VideoFormat format) {
+                       uint raw_ret = gst_video_format_to_fourcc((int) format);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_format_to_string(int format);
+
+               public static string VideoFormatToString(Gst.Video.VideoFormat format) {
+                       IntPtr raw_ret = gst_video_format_to_string((int) format);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_gl_texture_upload_meta_api_get_type();
+
+               public static GLib.GType VideoGlTextureUploadMetaApiGetType() {
+                       IntPtr raw_ret = gst_video_gl_texture_upload_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_gl_texture_upload_meta_get_info();
+
+               public static Gst.MetaInfo VideoGlTextureUploadMetaGetInfo() {
+                       IntPtr raw_ret = gst_video_gl_texture_upload_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_guess_framerate(ulong duration, out int dest_n, out int dest_d);
+
+               public static bool VideoGuessFramerate(ulong duration, out int dest_n, out int dest_d) {
+                       bool raw_ret = gst_video_guess_framerate(duration, out dest_n, out dest_d);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_interlace_mode_from_string(IntPtr mode);
+
+               public static Gst.Video.VideoInterlaceMode VideoInterlaceModeFromString(string mode) {
+                       IntPtr native_mode = GLib.Marshaller.StringToPtrGStrdup (mode);
+                       int raw_ret = gst_video_interlace_mode_from_string(native_mode);
+                       Gst.Video.VideoInterlaceMode ret = (Gst.Video.VideoInterlaceMode) raw_ret;
+                       GLib.Marshaller.Free (native_mode);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_interlace_mode_to_string(int mode);
+
+               public static string VideoInterlaceModeToString(Gst.Video.VideoInterlaceMode mode) {
+                       IntPtr raw_ret = gst_video_interlace_mode_to_string((int) mode);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_meta_api_get_type();
+
+               public static GLib.GType VideoMetaApiGetType() {
+                       IntPtr raw_ret = gst_video_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_meta_get_info();
+
+               public static Gst.MetaInfo VideoMetaGetInfo() {
+                       IntPtr raw_ret = gst_video_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_video_meta_transform_scale_get_quark();
+
+               public static uint VideoMetaTransformScaleGetQuark() {
+                       uint raw_ret = gst_video_meta_transform_scale_get_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_get_doubled_height_modes();
+
+               public static GLib.Value VideoMultiviewGetDoubledHeightModes() {
+                       IntPtr raw_ret = gst_video_multiview_get_doubled_height_modes();
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_get_doubled_size_modes();
+
+               public static GLib.Value VideoMultiviewGetDoubledSizeModes() {
+                       IntPtr raw_ret = gst_video_multiview_get_doubled_size_modes();
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_get_doubled_width_modes();
+
+               public static GLib.Value VideoMultiviewGetDoubledWidthModes() {
+                       IntPtr raw_ret = gst_video_multiview_get_doubled_width_modes();
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_get_mono_modes();
+
+               public static GLib.Value VideoMultiviewGetMonoModes() {
+                       IntPtr raw_ret = gst_video_multiview_get_mono_modes();
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_get_unpacked_modes();
+
+               public static GLib.Value VideoMultiviewGetUnpackedModes() {
+                       IntPtr raw_ret = gst_video_multiview_get_unpacked_modes();
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_multiview_guess_half_aspect(int mv_mode, uint width, uint height, uint par_n, uint par_d);
+
+               public static bool VideoMultiviewGuessHalfAspect(Gst.Video.VideoMultiviewMode mv_mode, uint width, uint height, uint par_n, uint par_d) {
+                       bool raw_ret = gst_video_multiview_guess_half_aspect((int) mv_mode, width, height, par_n, par_d);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_multiview_mode_from_caps_string(IntPtr caps_mview_mode);
+
+               public static Gst.Video.VideoMultiviewMode VideoMultiviewModeFromCapsString(string caps_mview_mode) {
+                       IntPtr native_caps_mview_mode = GLib.Marshaller.StringToPtrGStrdup (caps_mview_mode);
+                       int raw_ret = gst_video_multiview_mode_from_caps_string(native_caps_mview_mode);
+                       Gst.Video.VideoMultiviewMode ret = (Gst.Video.VideoMultiviewMode) raw_ret;
+                       GLib.Marshaller.Free (native_caps_mview_mode);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_mode_to_caps_string(int mview_mode);
+
+               public static string VideoMultiviewModeToCapsString(Gst.Video.VideoMultiviewMode mview_mode) {
+                       IntPtr raw_ret = gst_video_multiview_mode_to_caps_string((int) mview_mode);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_multiview_video_info_change_mode(IntPtr info, int out_mview_mode, int out_mview_flags);
+
+               public static void VideoMultiviewVideoInfoChangeMode(Gst.Video.VideoInfo info, Gst.Video.VideoMultiviewMode out_mview_mode, Gst.Video.VideoMultiviewFlags out_mview_flags) {
+                       gst_video_multiview_video_info_change_mode(info == null ? IntPtr.Zero : info.Handle, (int) out_mview_mode, (int) out_mview_flags);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_composition_meta_api_get_type();
+
+               public static GLib.GType VideoOverlayCompositionMetaApiGetType() {
+                       IntPtr raw_ret = gst_video_overlay_composition_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_composition_meta_get_info();
+
+               public static Gst.MetaInfo VideoOverlayCompositionMetaGetInfo() {
+                       IntPtr raw_ret = gst_video_overlay_composition_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_region_of_interest_meta_api_get_type();
+
+               public static GLib.GType VideoRegionOfInterestMetaApiGetType() {
+                       IntPtr raw_ret = gst_video_region_of_interest_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_region_of_interest_meta_get_info();
+
+               public static Gst.MetaInfo VideoRegionOfInterestMetaGetInfo() {
+                       IntPtr raw_ret = gst_video_region_of_interest_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_video_tile_get_index(int mode, int x, int y, int x_tiles, int y_tiles);
+
+               public static uint VideoTileGetIndex(Gst.Video.VideoTileMode mode, int x, int y, int x_tiles, int y_tiles) {
+                       uint raw_ret = gst_video_tile_get_index((int) mode, x, y, x_tiles, y_tiles);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_meta_api_get_type();
+
+               public static GLib.GType VideoTimeCodeMetaApiGetType() {
+                       IntPtr raw_ret = gst_video_time_code_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_meta_get_info();
+
+               public static Gst.MetaInfo VideoTimeCodeMetaGetInfo() {
+                       IntPtr raw_ret = gst_video_time_code_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_Gst.VideoSharp.VideoAffineTransformationGetMatrixNative.cs b/sources/generated/Gst.Video_Gst.VideoSharp.VideoAffineTransformationGetMatrixNative.cs
new file mode 100644 (file)
index 0000000..ab2e7ea
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.VideoSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool VideoAffineTransformationGetMatrixNative(IntPtr meta, float matrix);
+
+       internal class VideoAffineTransformationGetMatrixInvoker {
+
+               VideoAffineTransformationGetMatrixNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~VideoAffineTransformationGetMatrixInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal VideoAffineTransformationGetMatrixInvoker (VideoAffineTransformationGetMatrixNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal VideoAffineTransformationGetMatrixInvoker (VideoAffineTransformationGetMatrixNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal VideoAffineTransformationGetMatrixInvoker (VideoAffineTransformationGetMatrixNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Video.VideoAffineTransformationGetMatrix Handler {
+                       get {
+                               return new Gst.Video.VideoAffineTransformationGetMatrix(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Video.VideoAffineTransformationMeta meta, float matrix)
+               {
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = native_cb (native_meta, matrix);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+       }
+
+       internal class VideoAffineTransformationGetMatrixWrapper {
+
+               public bool NativeCallback (IntPtr meta, float matrix)
+               {
+                       try {
+                               bool __ret = managed (Gst.Video.VideoAffineTransformationMeta.New (meta), matrix);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal VideoAffineTransformationGetMatrixNative NativeDelegate;
+               Gst.Video.VideoAffineTransformationGetMatrix managed;
+
+               public VideoAffineTransformationGetMatrixWrapper (Gst.Video.VideoAffineTransformationGetMatrix managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new VideoAffineTransformationGetMatrixNative (NativeCallback);
+               }
+
+               public static Gst.Video.VideoAffineTransformationGetMatrix GetManagedDelegate (VideoAffineTransformationGetMatrixNative native)
+               {
+                       if (native == null)
+                               return null;
+                       VideoAffineTransformationGetMatrixWrapper wrapper = (VideoAffineTransformationGetMatrixWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_Gst.VideoSharp.VideoConvertSampleCallbackNative.cs b/sources/generated/Gst.Video_Gst.VideoSharp.VideoConvertSampleCallbackNative.cs
new file mode 100644 (file)
index 0000000..7373845
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.VideoSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void VideoConvertSampleCallbackNative(IntPtr sample, IntPtr error, IntPtr user_data);
+
+       internal class VideoConvertSampleCallbackInvoker {
+
+               VideoConvertSampleCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~VideoConvertSampleCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal VideoConvertSampleCallbackInvoker (VideoConvertSampleCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal VideoConvertSampleCallbackInvoker (VideoConvertSampleCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal VideoConvertSampleCallbackInvoker (VideoConvertSampleCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Video.VideoConvertSampleCallback Handler {
+                       get {
+                               return new Gst.Video.VideoConvertSampleCallback(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Sample sample, IntPtr error)
+               {
+                       native_cb (sample == null ? IntPtr.Zero : sample.Handle, error, __data);
+               }
+       }
+
+       internal class VideoConvertSampleCallbackWrapper {
+
+               public void NativeCallback (IntPtr sample, IntPtr error, IntPtr user_data)
+               {
+                       try {
+                               managed (sample == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (sample, typeof (Gst.Sample), false), error);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal VideoConvertSampleCallbackNative NativeDelegate;
+               Gst.Video.VideoConvertSampleCallback managed;
+
+               public VideoConvertSampleCallbackWrapper (Gst.Video.VideoConvertSampleCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new VideoConvertSampleCallbackNative (NativeCallback);
+               }
+
+               public static Gst.Video.VideoConvertSampleCallback GetManagedDelegate (VideoConvertSampleCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       VideoConvertSampleCallbackWrapper wrapper = (VideoConvertSampleCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_Gst.VideoSharp.VideoFormatPackNative.cs b/sources/generated/Gst.Video_Gst.VideoSharp.VideoFormatPackNative.cs
new file mode 100644 (file)
index 0000000..78c3907
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.VideoSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void VideoFormatPackNative(IntPtr info, int flags, IntPtr src, int sstride, IntPtr data, int stride, int chroma_site, int y, int width);
+
+       internal class VideoFormatPackInvoker {
+
+               VideoFormatPackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~VideoFormatPackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal VideoFormatPackInvoker (VideoFormatPackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal VideoFormatPackInvoker (VideoFormatPackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal VideoFormatPackInvoker (VideoFormatPackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Video.VideoFormatPack Handler {
+                       get {
+                               return new Gst.Video.VideoFormatPack(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Video.VideoFormatInfo info, Gst.Video.VideoPackFlags flags, IntPtr src, int sstride, IntPtr data, int stride, Gst.Video.VideoChromaSite chroma_site, int y, int width)
+               {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       native_cb (native_info, (int) flags, src, sstride, __data, stride, (int) chroma_site, y, width);
+                       Marshal.FreeHGlobal (native_info);
+               }
+       }
+
+       internal class VideoFormatPackWrapper {
+
+               public void NativeCallback (IntPtr info, int flags, IntPtr src, int sstride, IntPtr data, int stride, int chroma_site, int y, int width)
+               {
+                       try {
+                               managed (Gst.Video.VideoFormatInfo.New (info), (Gst.Video.VideoPackFlags) flags, src, sstride, data, stride, (Gst.Video.VideoChromaSite) chroma_site, y, width);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal VideoFormatPackNative NativeDelegate;
+               Gst.Video.VideoFormatPack managed;
+
+               public VideoFormatPackWrapper (Gst.Video.VideoFormatPack managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new VideoFormatPackNative (NativeCallback);
+               }
+
+               public static Gst.Video.VideoFormatPack GetManagedDelegate (VideoFormatPackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       VideoFormatPackWrapper wrapper = (VideoFormatPackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_Gst.VideoSharp.VideoFormatUnpackNative.cs b/sources/generated/Gst.Video_Gst.VideoSharp.VideoFormatUnpackNative.cs
new file mode 100644 (file)
index 0000000..8122bb2
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.VideoSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void VideoFormatUnpackNative(IntPtr info, int flags, IntPtr dest, IntPtr data, int stride, int x, int y, int width);
+
+       internal class VideoFormatUnpackInvoker {
+
+               VideoFormatUnpackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~VideoFormatUnpackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal VideoFormatUnpackInvoker (VideoFormatUnpackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal VideoFormatUnpackInvoker (VideoFormatUnpackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal VideoFormatUnpackInvoker (VideoFormatUnpackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Video.VideoFormatUnpack Handler {
+                       get {
+                               return new Gst.Video.VideoFormatUnpack(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Video.VideoFormatInfo info, Gst.Video.VideoPackFlags flags, IntPtr dest, IntPtr data, int stride, int x, int y, int width)
+               {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       native_cb (native_info, (int) flags, dest, __data, stride, x, y, width);
+                       Marshal.FreeHGlobal (native_info);
+               }
+       }
+
+       internal class VideoFormatUnpackWrapper {
+
+               public void NativeCallback (IntPtr info, int flags, IntPtr dest, IntPtr data, int stride, int x, int y, int width)
+               {
+                       try {
+                               managed (Gst.Video.VideoFormatInfo.New (info), (Gst.Video.VideoPackFlags) flags, dest, data, stride, x, y, width);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal VideoFormatUnpackNative NativeDelegate;
+               Gst.Video.VideoFormatUnpack managed;
+
+               public VideoFormatUnpackWrapper (Gst.Video.VideoFormatUnpack managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new VideoFormatUnpackNative (NativeCallback);
+               }
+
+               public static Gst.Video.VideoFormatUnpack GetManagedDelegate (VideoFormatUnpackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       VideoFormatUnpackWrapper wrapper = (VideoFormatUnpackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_Gst.VideoSharp.VideoGLTextureUploadNative.cs b/sources/generated/Gst.Video_Gst.VideoSharp.VideoGLTextureUploadNative.cs
new file mode 100644 (file)
index 0000000..7dec194
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.VideoSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool VideoGLTextureUploadNative(IntPtr meta, uint texture_id);
+
+       internal class VideoGLTextureUploadInvoker {
+
+               VideoGLTextureUploadNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~VideoGLTextureUploadInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal VideoGLTextureUploadInvoker (VideoGLTextureUploadNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal VideoGLTextureUploadInvoker (VideoGLTextureUploadNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal VideoGLTextureUploadInvoker (VideoGLTextureUploadNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.Video.VideoGLTextureUpload Handler {
+                       get {
+                               return new Gst.Video.VideoGLTextureUpload(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Video.VideoGLTextureUploadMeta meta, uint texture_id)
+               {
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = native_cb (native_meta, texture_id);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+       }
+
+       internal class VideoGLTextureUploadWrapper {
+
+               public bool NativeCallback (IntPtr meta, uint texture_id)
+               {
+                       try {
+                               bool __ret = managed (Gst.Video.VideoGLTextureUploadMeta.New (meta), texture_id);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal VideoGLTextureUploadNative NativeDelegate;
+               Gst.Video.VideoGLTextureUpload managed;
+
+               public VideoGLTextureUploadWrapper (Gst.Video.VideoGLTextureUpload managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new VideoGLTextureUploadNative (NativeCallback);
+               }
+
+               public static Gst.Video.VideoGLTextureUpload GetManagedDelegate (VideoGLTextureUploadNative native)
+               {
+                       if (native == null)
+                               return null;
+                       VideoGLTextureUploadWrapper wrapper = (VideoGLTextureUploadWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_IColorBalance.cs b/sources/generated/Gst.Video_IColorBalance.cs
new file mode 100644 (file)
index 0000000..15fa9b9
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IColorBalance : GLib.IWrapper {
+
+               event Gst.Video.ValueChangedEventHandler ValueChangedEvent;
+               Gst.Video.ColorBalanceType BalanceType { 
+                       get;
+               }
+               int GetValue(Gst.Video.ColorBalanceChannel channel);
+               Gst.Video.ColorBalanceChannel[] ListChannels();
+               void SetValue(Gst.Video.ColorBalanceChannel channel, int value);
+               void ValueChanged(Gst.Video.ColorBalanceChannel channel, int value);
+       }
+
+       [GLib.GInterface (typeof (ColorBalanceAdapter))]
+       public partial interface IColorBalanceImplementor : GLib.IWrapper {
+
+               Gst.Video.ColorBalanceChannel[] ListChannels ();
+               void SetValue (Gst.Video.ColorBalanceChannel channel, int value);
+               int GetValue (Gst.Video.ColorBalanceChannel channel);
+               Gst.Video.ColorBalanceType BalanceType { get; }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_INavigation.cs b/sources/generated/Gst.Video_INavigation.cs
new file mode 100644 (file)
index 0000000..94fc1b6
--- /dev/null
@@ -0,0 +1,23 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface INavigation : GLib.IWrapper {
+
+               void SendCommand(Gst.Video.NavigationCommand command);
+               void SendEvent(Gst.Structure structure);
+               void SendKeyEvent(string evnt, string key);
+               void SendMouseEvent(string evnt, int button, double x, double y);
+       }
+
+       [GLib.GInterface (typeof (NavigationAdapter))]
+       public partial interface INavigationImplementor : GLib.IWrapper {
+
+               void SendEvent (Gst.Structure structure);
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_IVideoDirection.cs b/sources/generated/Gst.Video_IVideoDirection.cs
new file mode 100644 (file)
index 0000000..273b6de
--- /dev/null
@@ -0,0 +1,25 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IVideoDirection : GLib.IWrapper {
+
+               Gst.Video.VideoOrientationMethod VideoDirection {
+                       get; set;
+               }
+       }
+
+       [GLib.GInterface (typeof (VideoDirectionAdapter))]
+       public partial interface IVideoDirectionImplementor : GLib.IWrapper {
+
+               [GLib.Property ("video-direction")]
+               Gst.Video.VideoOrientationMethod VideoDirection {
+                       get; set;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_IVideoOrientation.cs b/sources/generated/Gst.Video_IVideoOrientation.cs
new file mode 100644 (file)
index 0000000..7e1a03d
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IVideoOrientation : GLib.IWrapper {
+
+               bool GetHcenter(int center);
+               bool GetHflip(bool flip);
+               bool GetVcenter(int center);
+               bool GetVflip(bool flip);
+               bool SetHcenter(int center);
+               bool SetHflip(bool flip);
+               bool SetVcenter(int center);
+               bool SetVflip(bool flip);
+       }
+
+       [GLib.GInterface (typeof (VideoOrientationAdapter))]
+       public partial interface IVideoOrientationImplementor : GLib.IWrapper {
+
+               bool GetHflip (bool flip);
+               bool GetVflip (bool flip);
+               bool GetHcenter (int center);
+               bool GetVcenter (int center);
+               bool SetHflip (bool flip);
+               bool SetVflip (bool flip);
+               bool SetHcenter (int center);
+               bool SetVcenter (int center);
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_IVideoOverlay.cs b/sources/generated/Gst.Video_IVideoOverlay.cs
new file mode 100644 (file)
index 0000000..3347cb8
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IVideoOverlay : GLib.IWrapper {
+
+               void Expose();
+               void GotWindowHandle(IntPtr handle);
+               void HandleEvents(bool handle_events);
+               void PrepareWindowHandle();
+               bool SetRenderRectangle(int x, int y, int width, int height);
+               IntPtr WindowHandle { 
+                       set;
+               }
+       }
+
+       [GLib.GInterface (typeof (VideoOverlayAdapter))]
+       public partial interface IVideoOverlayImplementor : GLib.IWrapper {
+
+               void Expose ();
+               void HandleEvents (bool handle_events);
+               void SetRenderRectangle (int x, int y, int width, int height);
+               IntPtr WindowHandle { set; }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_NavigationAdapter.cs b/sources/generated/Gst.Video_NavigationAdapter.cs
new file mode 100644 (file)
index 0000000..c51d820
--- /dev/null
@@ -0,0 +1,357 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class NavigationAdapter : GLib.GInterfaceAdapter, Gst.Video.INavigation {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstNavigationInterface {
+                       public SendEventNativeDelegate SendEvent;
+               }
+
+               static GstNavigationInterface iface;
+
+               static NavigationAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (NavigationAdapter));
+                       iface.SendEvent = new SendEventNativeDelegate (SendEvent_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SendEventNativeDelegate (IntPtr inst, IntPtr structure);
+
+               static void SendEvent_cb (IntPtr inst, IntPtr structure)
+               {
+                       try {
+                               INavigationImplementor __obj = GLib.Object.GetObject (inst, false) as INavigationImplementor;
+                               __obj.SendEvent (structure == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (structure, typeof (Gst.Structure), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GstNavigationInterface native_iface = (GstNavigationInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstNavigationInterface));
+                       native_iface.SendEvent = iface.SendEvent;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public NavigationAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public NavigationAdapter (INavigationImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public NavigationAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_navigation_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static INavigation GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static INavigation GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is INavigationImplementor)
+                               return new NavigationAdapter (obj as INavigationImplementor);
+                       else if (obj as INavigation == null)
+                               return new NavigationAdapter (obj.Handle);
+                       else
+                               return obj as INavigation;
+               }
+
+               public INavigationImplementor Implementor {
+                       get {
+                               return implementor as INavigationImplementor;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_navigation_event_get_type(IntPtr evnt);
+
+               public static Gst.Video.NavigationEventType EventGetType(Gst.Event evnt) {
+                       int raw_ret = gst_navigation_event_get_type(evnt == null ? IntPtr.Zero : evnt.Handle);
+                       Gst.Video.NavigationEventType ret = (Gst.Video.NavigationEventType) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_event_parse_command(IntPtr evnt, out int command);
+
+               public static bool EventParseCommand(Gst.Event evnt, out Gst.Video.NavigationCommand command) {
+                       int native_command;
+                       bool raw_ret = gst_navigation_event_parse_command(evnt == null ? IntPtr.Zero : evnt.Handle, out native_command);
+                       bool ret = raw_ret;
+                       command = (Gst.Video.NavigationCommand) native_command;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_event_parse_key_event(IntPtr evnt, out IntPtr key);
+
+               public static bool EventParseKeyEvent(Gst.Event evnt, out string key) {
+                       IntPtr native_key;
+                       bool raw_ret = gst_navigation_event_parse_key_event(evnt == null ? IntPtr.Zero : evnt.Handle, out native_key);
+                       bool ret = raw_ret;
+                       key = GLib.Marshaller.Utf8PtrToString (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_event_parse_mouse_button_event(IntPtr evnt, out int button, out double x, out double y);
+
+               public static bool EventParseMouseButtonEvent(Gst.Event evnt, out int button, out double x, out double y) {
+                       bool raw_ret = gst_navigation_event_parse_mouse_button_event(evnt == null ? IntPtr.Zero : evnt.Handle, out button, out x, out y);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_event_parse_mouse_move_event(IntPtr evnt, out double x, out double y);
+
+               public static bool EventParseMouseMoveEvent(Gst.Event evnt, out double x, out double y) {
+                       bool raw_ret = gst_navigation_event_parse_mouse_move_event(evnt == null ? IntPtr.Zero : evnt.Handle, out x, out y);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_navigation_message_get_type(IntPtr message);
+
+               public static Gst.Video.NavigationMessageType MessageGetType(Gst.Message message) {
+                       int raw_ret = gst_navigation_message_get_type(message == null ? IntPtr.Zero : message.Handle);
+                       Gst.Video.NavigationMessageType ret = (Gst.Video.NavigationMessageType) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_new_angles_changed(IntPtr src, uint cur_angle, uint n_angles);
+
+               public static Gst.Message MessageNewAnglesChanged(Gst.Object src, uint cur_angle, uint n_angles) {
+                       IntPtr raw_ret = gst_navigation_message_new_angles_changed(src == null ? IntPtr.Zero : src.Handle, cur_angle, n_angles);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_new_commands_changed(IntPtr src);
+
+               public static Gst.Message MessageNewCommandsChanged(Gst.Object src) {
+                       IntPtr raw_ret = gst_navigation_message_new_commands_changed(src == null ? IntPtr.Zero : src.Handle);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_new_event(IntPtr src, IntPtr evnt);
+
+               public static Gst.Message MessageNewEvent(Gst.Object src, Gst.Event evnt) {
+                       IntPtr raw_ret = gst_navigation_message_new_event(src == null ? IntPtr.Zero : src.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_new_mouse_over(IntPtr src, bool active);
+
+               public static Gst.Message MessageNewMouseOver(Gst.Object src, bool active) {
+                       IntPtr raw_ret = gst_navigation_message_new_mouse_over(src == null ? IntPtr.Zero : src.Handle, active);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_message_parse_angles_changed(IntPtr message, out uint cur_angle, out uint n_angles);
+
+               public static bool MessageParseAnglesChanged(Gst.Message message, out uint cur_angle, out uint n_angles) {
+                       bool raw_ret = gst_navigation_message_parse_angles_changed(message == null ? IntPtr.Zero : message.Handle, out cur_angle, out n_angles);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_message_parse_event(IntPtr message, out IntPtr evnt);
+
+               public static bool MessageParseEvent(Gst.Message message, out Gst.Event evnt) {
+                       IntPtr native_evnt;
+                       bool raw_ret = gst_navigation_message_parse_event(message == null ? IntPtr.Zero : message.Handle, out native_evnt);
+                       bool ret = raw_ret;
+                       evnt = native_evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (native_evnt, typeof (Gst.Event), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_message_parse_mouse_over(IntPtr message, out bool active);
+
+               public static bool MessageParseMouseOver(Gst.Message message, out bool active) {
+                       bool raw_ret = gst_navigation_message_parse_mouse_over(message == null ? IntPtr.Zero : message.Handle, out active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_navigation_query_get_type(IntPtr query);
+
+               public static Gst.Video.NavigationQueryType QueryGetType(Gst.Query query) {
+                       int raw_ret = gst_navigation_query_get_type(query == null ? IntPtr.Zero : query.Handle);
+                       Gst.Video.NavigationQueryType ret = (Gst.Video.NavigationQueryType) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_query_new_angles();
+
+               public static Gst.Query QueryNewAngles() {
+                       IntPtr raw_ret = gst_navigation_query_new_angles();
+                       Gst.Query ret = raw_ret == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Query), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_query_new_commands();
+
+               public static Gst.Query QueryNewCommands() {
+                       IntPtr raw_ret = gst_navigation_query_new_commands();
+                       Gst.Query ret = raw_ret == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Query), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_query_parse_angles(IntPtr query, out uint cur_angle, out uint n_angles);
+
+               public static bool QueryParseAngles(Gst.Query query, out uint cur_angle, out uint n_angles) {
+                       bool raw_ret = gst_navigation_query_parse_angles(query == null ? IntPtr.Zero : query.Handle, out cur_angle, out n_angles);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_query_parse_commands_length(IntPtr query, out uint n_cmds);
+
+               public static bool QueryParseCommandsLength(Gst.Query query, out uint n_cmds) {
+                       bool raw_ret = gst_navigation_query_parse_commands_length(query == null ? IntPtr.Zero : query.Handle, out n_cmds);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_navigation_query_parse_commands_nth(IntPtr query, uint nth, out int cmd);
+
+               public static bool QueryParseCommandsNth(Gst.Query query, uint nth, out Gst.Video.NavigationCommand cmd) {
+                       int native_cmd;
+                       bool raw_ret = gst_navigation_query_parse_commands_nth(query == null ? IntPtr.Zero : query.Handle, nth, out native_cmd);
+                       bool ret = raw_ret;
+                       cmd = (Gst.Video.NavigationCommand) native_cmd;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_navigation_query_set_angles(IntPtr query, uint cur_angle, uint n_angles);
+
+               public static void QuerySetAngles(Gst.Query query, uint cur_angle, uint n_angles) {
+                       gst_navigation_query_set_angles(query == null ? IntPtr.Zero : query.Handle, cur_angle, n_angles);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_navigation_query_set_commandsv(IntPtr query, int n_cmds, int[] cmds);
+
+               public static void QuerySetCommandsv(Gst.Query query, Gst.Video.NavigationCommand[] cmds) {
+                       int cnt_cmds = cmds == null ? 0 : cmds.Length;
+                       int[] native_cmds = new int [cnt_cmds];
+                       for (int i = 0; i < cnt_cmds; i++)
+                               native_cmds [i] = (int) cmds[i];
+                       gst_navigation_query_set_commandsv(query == null ? IntPtr.Zero : query.Handle, (cmds == null ? 0 : cmds.Length), native_cmds);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_navigation_send_command(IntPtr raw, int command);
+
+               public void SendCommand(Gst.Video.NavigationCommand command) {
+                       gst_navigation_send_command(Handle, (int) command);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_navigation_send_event(IntPtr raw, IntPtr structure);
+
+               public void SendEvent(Gst.Structure structure) {
+                       gst_navigation_send_event(Handle, structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_navigation_send_key_event(IntPtr raw, IntPtr evnt, IntPtr key);
+
+               public void SendKeyEvent(string evnt, string key) {
+                       IntPtr native_evnt = GLib.Marshaller.StringToPtrGStrdup (evnt);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       gst_navigation_send_key_event(Handle, native_evnt, native_key);
+                       GLib.Marshaller.Free (native_evnt);
+                       GLib.Marshaller.Free (native_key);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_navigation_send_mouse_event(IntPtr raw, IntPtr evnt, int button, double x, double y);
+
+               public void SendMouseEvent(string evnt, int button, double x, double y) {
+                       IntPtr native_evnt = GLib.Marshaller.StringToPtrGStrdup (evnt);
+                       gst_navigation_send_mouse_event(Handle, native_evnt, button, x, y);
+                       GLib.Marshaller.Free (native_evnt);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_NavigationCommand.cs b/sources/generated/Gst.Video_NavigationCommand.cs
new file mode 100644 (file)
index 0000000..98d4fc9
--- /dev/null
@@ -0,0 +1,41 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.NavigationCommandGType))]
+       public enum NavigationCommand {
+
+               Invalid = 0,
+               Menu1 = 1,
+               Menu2 = 2,
+               Menu3 = 3,
+               Menu4 = 4,
+               Menu5 = 5,
+               Menu6 = 6,
+               Menu7 = 7,
+               Left = 20,
+               Right = 21,
+               Up = 22,
+               Down = 23,
+               Activate = 24,
+               PrevAngle = 30,
+               NextAngle = 31,
+       }
+
+       internal class NavigationCommandGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_command_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_navigation_command_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_NavigationEventType.cs b/sources/generated/Gst.Video_NavigationEventType.cs
new file mode 100644 (file)
index 0000000..3dc512e
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.NavigationEventTypeGType))]
+       public enum NavigationEventType {
+
+               Invalid = 0,
+               KeyPress = 1,
+               KeyRelease = 2,
+               MouseButtonPress = 3,
+               MouseButtonRelease = 4,
+               MouseMove = 5,
+               Command = 6,
+       }
+
+       internal class NavigationEventTypeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_event_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_navigation_event_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_NavigationMessageType.cs b/sources/generated/Gst.Video_NavigationMessageType.cs
new file mode 100644 (file)
index 0000000..3daf9b9
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.NavigationMessageTypeGType))]
+       public enum NavigationMessageType {
+
+               Invalid = 0,
+               MouseOver = 1,
+               CommandsChanged = 2,
+               AnglesChanged = 3,
+               Event = 4,
+       }
+
+       internal class NavigationMessageTypeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_message_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_navigation_message_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_NavigationQueryType.cs b/sources/generated/Gst.Video_NavigationQueryType.cs
new file mode 100644 (file)
index 0000000..e53ef6b
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.NavigationQueryTypeGType))]
+       public enum NavigationQueryType {
+
+               Invalid = 0,
+               Commands = 1,
+               Angles = 2,
+       }
+
+       internal class NavigationQueryTypeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_navigation_query_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_navigation_query_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_ValueChangedEventHandler.cs b/sources/generated/Gst.Video_ValueChangedEventHandler.cs
new file mode 100644 (file)
index 0000000..1570062
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+       public delegate void ValueChangedEventHandler(object o, ValueChangedEventArgs args);
+
+       public class ValueChangedEventArgs : GLib.SignalArgs {
+               public Gst.Video.ColorBalanceChannel Channel{
+                       get {
+                               return (Gst.Video.ColorBalanceChannel) Args [0];
+                       }
+               }
+
+               public int Value{
+                       get {
+                               return (int) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.Video_ValueChangedHandler.cs b/sources/generated/Gst.Video_ValueChangedHandler.cs
new file mode 100644 (file)
index 0000000..6f0fbcf
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+       public delegate void ValueChangedHandler(object o, ValueChangedArgs args);
+
+       public class ValueChangedArgs : GLib.SignalArgs {
+               public int Value{
+                       get {
+                               return (int) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoAffineTransformationGetMatrix.cs b/sources/generated/Gst.Video_VideoAffineTransformationGetMatrix.cs
new file mode 100644 (file)
index 0000000..449dcf9
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+       public delegate bool VideoAffineTransformationGetMatrix(Gst.Video.VideoAffineTransformationMeta meta, float matrix);
+
+}
diff --git a/sources/generated/Gst.Video_VideoAffineTransformationMeta.cs b/sources/generated/Gst.Video_VideoAffineTransformationMeta.cs
new file mode 100644 (file)
index 0000000..b42d072
--- /dev/null
@@ -0,0 +1,74 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoAffineTransformationMeta : IEquatable<VideoAffineTransformationMeta> {
+
+               public Gst.Meta Meta;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=16)]
+               public float[] Matrix;
+
+               public static Gst.Video.VideoAffineTransformationMeta Zero = new Gst.Video.VideoAffineTransformationMeta ();
+
+               public static Gst.Video.VideoAffineTransformationMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoAffineTransformationMeta.Zero;
+                       return (Gst.Video.VideoAffineTransformationMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoAffineTransformationMeta));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_affine_transformation_meta_apply_matrix(IntPtr raw, float matrix);
+
+               public void ApplyMatrix(float matrix) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_affine_transformation_meta_apply_matrix(this_as_native, matrix);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_affine_transformation_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_video_affine_transformation_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoAffineTransformationMeta target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoAffineTransformationMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && Matrix.Equals (other.Matrix);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoAffineTransformationMeta && Equals ((VideoAffineTransformationMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Matrix.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoAlignment.cs b/sources/generated/Gst.Video_VideoAlignment.cs
new file mode 100644 (file)
index 0000000..004cd95
--- /dev/null
@@ -0,0 +1,66 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoAlignment : IEquatable<VideoAlignment> {
+
+               public uint PaddingTop;
+               public uint PaddingBottom;
+               public uint PaddingLeft;
+               public uint PaddingRight;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public uint[] StrideAlign;
+
+               public static Gst.Video.VideoAlignment Zero = new Gst.Video.VideoAlignment ();
+
+               public static Gst.Video.VideoAlignment New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoAlignment.Zero;
+                       return (Gst.Video.VideoAlignment) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoAlignment));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_alignment_reset(IntPtr raw);
+
+               public void Reset() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_alignment_reset(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoAlignment target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoAlignment other)
+               {
+                       return true && PaddingTop.Equals (other.PaddingTop) && PaddingBottom.Equals (other.PaddingBottom) && PaddingLeft.Equals (other.PaddingLeft) && PaddingRight.Equals (other.PaddingRight) && StrideAlign.Equals (other.StrideAlign);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoAlignment && Equals ((VideoAlignment) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ PaddingTop.GetHashCode () ^ PaddingBottom.GetHashCode () ^ PaddingLeft.GetHashCode () ^ PaddingRight.GetHashCode () ^ StrideAlign.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoAlphaMode.cs b/sources/generated/Gst.Video_VideoAlphaMode.cs
new file mode 100644 (file)
index 0000000..8344412
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoAlphaModeGType))]
+       public enum VideoAlphaMode {
+
+               Copy = 0,
+               Set = 1,
+               Mult = 2,
+       }
+
+       internal class VideoAlphaModeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_alpha_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_alpha_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoBufferFlags.cs b/sources/generated/Gst.Video_VideoBufferFlags.cs
new file mode 100644 (file)
index 0000000..5cde05c
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoBufferFlagsGType))]
+       public enum VideoBufferFlags {
+
+               Interlaced = 1048576,
+               Tff = 2097152,
+               Rff = 4194304,
+               Onefield = 8388608,
+               MultipleView = 16777216,
+               FirstInBundle = 33554432,
+               Last = 268435456,
+       }
+
+       internal class VideoBufferFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_buffer_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_buffer_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoBufferPool.cs b/sources/generated/Gst.Video_VideoBufferPool.cs
new file mode 100644 (file)
index 0000000..2cb4928
--- /dev/null
@@ -0,0 +1,85 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoBufferPool : Gst.BufferPool {
+
+               public VideoBufferPool (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_buffer_pool_new();
+
+               public VideoBufferPool () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (VideoBufferPool)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_video_buffer_pool_new();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.BufferPool.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_buffer_pool_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_buffer_pool_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static VideoBufferPool ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.BufferPool.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoChromaFlags.cs b/sources/generated/Gst.Video_VideoChromaFlags.cs
new file mode 100644 (file)
index 0000000..4f5a6d3
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoChromaFlagsGType))]
+       public enum VideoChromaFlags {
+
+               None = 0,
+               Interlaced = 1,
+       }
+
+       internal class VideoChromaFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_chroma_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_chroma_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoChromaMethod.cs b/sources/generated/Gst.Video_VideoChromaMethod.cs
new file mode 100644 (file)
index 0000000..57ba32c
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoChromaMethodGType))]
+       public enum VideoChromaMethod {
+
+               Nearest = 0,
+               Linear = 1,
+       }
+
+       internal class VideoChromaMethodGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_chroma_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_chroma_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoChromaMode.cs b/sources/generated/Gst.Video_VideoChromaMode.cs
new file mode 100644 (file)
index 0000000..1c93499
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoChromaModeGType))]
+       public enum VideoChromaMode {
+
+               Full = 0,
+               UpsampleOnly = 1,
+               DownsampleOnly = 2,
+               None = 3,
+       }
+
+       internal class VideoChromaModeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_chroma_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_chroma_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoChromaResample.cs b/sources/generated/Gst.Video_VideoChromaResample.cs
new file mode 100644 (file)
index 0000000..fb7c673
--- /dev/null
@@ -0,0 +1,72 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoChromaResample : GLib.Opaque {
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_chroma_resample_get_info(IntPtr raw, uint n_lines, int offset);
+
+               public void GetInfo(uint n_lines, int offset) {
+                       gst_video_chroma_resample_get_info(Handle, n_lines, offset);
+               }
+
+               public VideoChromaResample(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_chroma_resample_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_video_chroma_resample_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_video_chroma_resample_free (handle);
+                               return false;
+                       }
+               }
+
+               ~VideoChromaResample ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoChromaSite.cs b/sources/generated/Gst.Video_VideoChromaSite.cs
new file mode 100644 (file)
index 0000000..f1200c0
--- /dev/null
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoChromaSiteGType))]
+       public enum VideoChromaSite {
+
+               Unknown = 0,
+               None = 1,
+               Jpeg = 1,
+               HCosited = 2,
+               Mpeg2 = 2,
+               VCosited = 4,
+               Cosited = 6,
+               AltLine = 8,
+               Dv = 14,
+       }
+
+       internal class VideoChromaSiteGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_chroma_site_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_chroma_site_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoCodecFrame.cs b/sources/generated/Gst.Video_VideoCodecFrame.cs
new file mode 100644 (file)
index 0000000..4cf8dec
--- /dev/null
@@ -0,0 +1,135 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoCodecFrame : IEquatable<VideoCodecFrame> {
+
+               private int ref_count;
+               private uint flags;
+               public uint SystemFrameNumber;
+               public uint DecodeFrameNumber;
+               public uint PresentationFrameNumber;
+               public ulong Dts;
+               public ulong Pts;
+               public ulong Duration;
+               public int DistanceFromSync;
+               private IntPtr _input_buffer;
+               public Gst.Buffer InputBuffer {
+                       get {
+                               return _input_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_input_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _input_buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _output_buffer;
+               public Gst.Buffer OutputBuffer {
+                       get {
+                               return _output_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_output_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _output_buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public ulong Deadline;
+               private IntPtr _events;
+               private IntPtr _user_data;
+               private GLib.DestroyNotify user_data_destroy_notify;
+
+               public static Gst.Video.VideoCodecFrame Zero = new Gst.Video.VideoCodecFrame ();
+
+               public static Gst.Video.VideoCodecFrame New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoCodecFrame.Zero;
+                       return (Gst.Video.VideoCodecFrame) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoCodecFrame));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_codec_frame_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_codec_frame_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_codec_frame_ref(IntPtr raw);
+
+               public Gst.Video.VideoCodecFrame Ref() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_video_codec_frame_ref(this_as_native);
+                       Gst.Video.VideoCodecFrame ret = Gst.Video.VideoCodecFrame.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_codec_frame_set_user_data(IntPtr raw, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public void SetUserData(IntPtr user_data, GLib.DestroyNotify notify) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_codec_frame_set_user_data(this_as_native, user_data, notify);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_codec_frame_unref(IntPtr raw);
+
+               public void Unref() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_codec_frame_unref(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoCodecFrame target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoCodecFrame other)
+               {
+                       return true && ref_count.Equals (other.ref_count) && flags.Equals (other.flags) && SystemFrameNumber.Equals (other.SystemFrameNumber) && DecodeFrameNumber.Equals (other.DecodeFrameNumber) && PresentationFrameNumber.Equals (other.PresentationFrameNumber) && Dts.Equals (other.Dts) && Pts.Equals (other.Pts) && Duration.Equals (other.Duration) && DistanceFromSync.Equals (other.DistanceFromSync) && InputBuffer.Equals (other.InputBuffer) && OutputBuffer.Equals (other.OutputBuffer) && Deadline.Equals (other.Deadline) && _events.Equals (other._events) && _user_data.Equals (other._user_data) && user_data_destroy_notify.Equals (other.user_data_destroy_notify);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoCodecFrame && Equals ((VideoCodecFrame) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ ref_count.GetHashCode () ^ flags.GetHashCode () ^ SystemFrameNumber.GetHashCode () ^ DecodeFrameNumber.GetHashCode () ^ PresentationFrameNumber.GetHashCode () ^ Dts.GetHashCode () ^ Pts.GetHashCode () ^ Duration.GetHashCode () ^ DistanceFromSync.GetHashCode () ^ InputBuffer.GetHashCode () ^ OutputBuffer.GetHashCode () ^ Deadline.GetHashCode () ^ _events.GetHashCode () ^ _user_data.GetHashCode () ^ user_data_destroy_notify.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Video.VideoCodecFrame boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Video.VideoCodecFrame.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Video.VideoCodecFrame (GLib.Value val)
+               {
+                       return (Gst.Video.VideoCodecFrame) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoCodecFrameFlags.cs b/sources/generated/Gst.Video_VideoCodecFrameFlags.cs
new file mode 100644 (file)
index 0000000..2f3823f
--- /dev/null
@@ -0,0 +1,19 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       public enum VideoCodecFrameFlags {
+
+               DecodeOnly = 1,
+               SyncPoint = 2,
+               ForceKeyframe = 4,
+               ForceKeyframeHeaders = 8,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoCodecState.cs b/sources/generated/Gst.Video_VideoCodecState.cs
new file mode 100644 (file)
index 0000000..189bb4b
--- /dev/null
@@ -0,0 +1,132 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoCodecState : IEquatable<VideoCodecState> {
+
+               private int ref_count;
+               private IntPtr _info;
+               public Gst.Video.VideoInfo Info {
+                       get {
+                               return _info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (_info, typeof (Gst.Video.VideoInfo), false);
+                       }
+                       set {
+                               _info = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _caps;
+               public Gst.Caps Caps {
+                       get {
+                               return _caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (_caps, typeof (Gst.Caps), false);
+                       }
+                       set {
+                               _caps = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _codec_data;
+               public Gst.Buffer CodecData {
+                       get {
+                               return _codec_data == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_codec_data, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _codec_data = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _allocation_caps;
+               public Gst.Caps AllocationCaps {
+                       get {
+                               return _allocation_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (_allocation_caps, typeof (Gst.Caps), false);
+                       }
+                       set {
+                               _allocation_caps = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=19)]
+               private IntPtr[] Padding;
+
+               public static Gst.Video.VideoCodecState Zero = new Gst.Video.VideoCodecState ();
+
+               public static Gst.Video.VideoCodecState New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoCodecState.Zero;
+                       return (Gst.Video.VideoCodecState) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoCodecState));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_codec_state_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_codec_state_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_codec_state_ref(IntPtr raw);
+
+               public Gst.Video.VideoCodecState Ref() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_video_codec_state_ref(this_as_native);
+                       Gst.Video.VideoCodecState ret = Gst.Video.VideoCodecState.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_codec_state_unref(IntPtr raw);
+
+               public void Unref() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_codec_state_unref(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoCodecState target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoCodecState other)
+               {
+                       return true && ref_count.Equals (other.ref_count) && Info.Equals (other.Info) && Caps.Equals (other.Caps) && CodecData.Equals (other.CodecData) && AllocationCaps.Equals (other.AllocationCaps);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoCodecState && Equals ((VideoCodecState) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ ref_count.GetHashCode () ^ Info.GetHashCode () ^ Caps.GetHashCode () ^ CodecData.GetHashCode () ^ AllocationCaps.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Video.VideoCodecState boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Video.VideoCodecState.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Video.VideoCodecState (GLib.Value val)
+               {
+                       return (Gst.Video.VideoCodecState) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoColorMatrix.cs b/sources/generated/Gst.Video_VideoColorMatrix.cs
new file mode 100644 (file)
index 0000000..5b4b2cc
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoColorMatrixGType))]
+       public enum VideoColorMatrix {
+
+               Unknown = 0,
+               Rgb = 1,
+               Fcc = 2,
+               Bt709 = 3,
+               Bt601 = 4,
+               Smpte240m = 5,
+               Bt2020 = 6,
+       }
+
+       internal class VideoColorMatrixGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_color_matrix_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_color_matrix_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoColorPrimaries.cs b/sources/generated/Gst.Video_VideoColorPrimaries.cs
new file mode 100644 (file)
index 0000000..bdea5bd
--- /dev/null
@@ -0,0 +1,35 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoColorPrimariesGType))]
+       public enum VideoColorPrimaries {
+
+               Unknown = 0,
+               Bt709 = 1,
+               Bt470m = 2,
+               Bt470bg = 3,
+               Smpte170m = 4,
+               Smpte240m = 5,
+               Film = 6,
+               Bt2020 = 7,
+               Adobergb = 8,
+       }
+
+       internal class VideoColorPrimariesGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_color_primaries_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_color_primaries_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoColorPrimariesInfo.cs b/sources/generated/Gst.Video_VideoColorPrimariesInfo.cs
new file mode 100644 (file)
index 0000000..c3622d0
--- /dev/null
@@ -0,0 +1,53 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoColorPrimariesInfo : IEquatable<VideoColorPrimariesInfo> {
+
+               public Gst.Video.VideoColorPrimaries Primaries;
+               public double Wx;
+               public double Wy;
+               public double Rx;
+               public double Ry;
+               public double Gx;
+               public double Gy;
+               public double Bx;
+               public double By;
+
+               public static Gst.Video.VideoColorPrimariesInfo Zero = new Gst.Video.VideoColorPrimariesInfo ();
+
+               public static Gst.Video.VideoColorPrimariesInfo New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoColorPrimariesInfo.Zero;
+                       return (Gst.Video.VideoColorPrimariesInfo) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoColorPrimariesInfo));
+               }
+
+               public bool Equals (VideoColorPrimariesInfo other)
+               {
+                       return true && Primaries.Equals (other.Primaries) && Wx.Equals (other.Wx) && Wy.Equals (other.Wy) && Rx.Equals (other.Rx) && Ry.Equals (other.Ry) && Gx.Equals (other.Gx) && Gy.Equals (other.Gy) && Bx.Equals (other.Bx) && By.Equals (other.By);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoColorPrimariesInfo && Equals ((VideoColorPrimariesInfo) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Primaries.GetHashCode () ^ Wx.GetHashCode () ^ Wy.GetHashCode () ^ Rx.GetHashCode () ^ Ry.GetHashCode () ^ Gx.GetHashCode () ^ Gy.GetHashCode () ^ Bx.GetHashCode () ^ By.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoColorRange.cs b/sources/generated/Gst.Video_VideoColorRange.cs
new file mode 100644 (file)
index 0000000..17a7777
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoColorRangeGType))]
+       public enum VideoColorRange {
+
+               Unknown = 0,
+               _00255 = 1,
+               _1616235 = 2,
+       }
+
+       internal class VideoColorRangeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_color_range_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_color_range_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoColorimetry.cs b/sources/generated/Gst.Video_VideoColorimetry.cs
new file mode 100644 (file)
index 0000000..11182b5
--- /dev/null
@@ -0,0 +1,111 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoColorimetry : IEquatable<VideoColorimetry> {
+
+               public Gst.Video.VideoColorRange Range;
+               public Gst.Video.VideoColorMatrix Matrix;
+               public Gst.Video.VideoTransferFunction Transfer;
+               public Gst.Video.VideoColorPrimaries Primaries;
+
+               public static Gst.Video.VideoColorimetry Zero = new Gst.Video.VideoColorimetry ();
+
+               public static Gst.Video.VideoColorimetry New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoColorimetry.Zero;
+                       return (Gst.Video.VideoColorimetry) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoColorimetry));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_colorimetry_from_string(IntPtr raw, IntPtr color);
+
+               public bool FromString(string color) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_color = GLib.Marshaller.StringToPtrGStrdup (color);
+                       bool raw_ret = gst_video_colorimetry_from_string(this_as_native, native_color);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_color);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_colorimetry_is_equal(IntPtr raw, IntPtr other);
+
+               public bool IsEqual(Gst.Video.VideoColorimetry other) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_other = GLib.Marshaller.StructureToPtrAlloc (other);
+                       bool raw_ret = gst_video_colorimetry_is_equal(this_as_native, native_other);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_other);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_colorimetry_matches(IntPtr raw, IntPtr color);
+
+               public bool Matches(string color) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_color = GLib.Marshaller.StringToPtrGStrdup (color);
+                       bool raw_ret = gst_video_colorimetry_matches(this_as_native, native_color);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_color);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_colorimetry_to_string(IntPtr raw);
+
+               public override string ToString() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_video_colorimetry_to_string(this_as_native);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoColorimetry target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoColorimetry other)
+               {
+                       return true && Range.Equals (other.Range) && Matrix.Equals (other.Matrix) && Transfer.Equals (other.Transfer) && Primaries.Equals (other.Primaries);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoColorimetry && Equals ((VideoColorimetry) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Range.GetHashCode () ^ Matrix.GetHashCode () ^ Transfer.GetHashCode () ^ Primaries.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoConvertSampleCallback.cs b/sources/generated/Gst.Video_VideoConvertSampleCallback.cs
new file mode 100644 (file)
index 0000000..deb78cd
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+       public delegate void VideoConvertSampleCallback(Gst.Sample sample, IntPtr error);
+
+}
diff --git a/sources/generated/Gst.Video_VideoConverter.cs b/sources/generated/Gst.Video_VideoConverter.cs
new file mode 100644 (file)
index 0000000..bbe2d9c
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoConverter : GLib.Opaque {
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_converter_frame(IntPtr raw, IntPtr src, IntPtr dest);
+
+               public void Frame(Gst.Video.VideoFrame src, Gst.Video.VideoFrame dest) {
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       gst_video_converter_frame(Handle, native_src, native_dest);
+                       Marshal.FreeHGlobal (native_src);
+                       Marshal.FreeHGlobal (native_dest);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_converter_get_config(IntPtr raw);
+
+               public Gst.Structure Config { 
+                       get {
+                               IntPtr raw_ret = gst_video_converter_get_config(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_converter_set_config(IntPtr raw, IntPtr config);
+
+               public bool SetConfig(Gst.Structure config) {
+                       config.Owned = false;
+                       bool raw_ret = gst_video_converter_set_config(Handle, config == null ? IntPtr.Zero : config.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public VideoConverter(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_converter_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_video_converter_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_video_converter_free (handle);
+                               return false;
+                       }
+               }
+
+               ~VideoConverter ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoCropMeta.cs b/sources/generated/Gst.Video_VideoCropMeta.cs
new file mode 100644 (file)
index 0000000..22d1e13
--- /dev/null
@@ -0,0 +1,60 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoCropMeta : IEquatable<VideoCropMeta> {
+
+               public Gst.Meta Meta;
+               public uint X;
+               public uint Y;
+               public uint Width;
+               public uint Height;
+
+               public static Gst.Video.VideoCropMeta Zero = new Gst.Video.VideoCropMeta ();
+
+               public static Gst.Video.VideoCropMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoCropMeta.Zero;
+                       return (Gst.Video.VideoCropMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoCropMeta));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_crop_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_video_crop_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (VideoCropMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && X.Equals (other.X) && Y.Equals (other.Y) && Width.Equals (other.Width) && Height.Equals (other.Height);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoCropMeta && Equals ((VideoCropMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ X.GetHashCode () ^ Y.GetHashCode () ^ Width.GetHashCode () ^ Height.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoDecoder.cs b/sources/generated/Gst.Video_VideoDecoder.cs
new file mode 100644 (file)
index 0000000..5e8150c
--- /dev/null
@@ -0,0 +1,1804 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoDecoder : Gst.Element {
+
+               protected VideoDecoder (IntPtr raw) : base(raw) {}
+
+               protected VideoDecoder() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               static OpenNativeDelegate Open_cb_delegate;
+               static OpenNativeDelegate OpenVMCallback {
+                       get {
+                               if (Open_cb_delegate == null)
+                                       Open_cb_delegate = new OpenNativeDelegate (Open_cb);
+                               return Open_cb_delegate;
+                       }
+               }
+
+               static void OverrideOpen (GLib.GType gtype)
+               {
+                       OverrideOpen (gtype, OpenVMCallback);
+               }
+
+               static void OverrideOpen (GLib.GType gtype, OpenNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool OpenNativeDelegate (IntPtr inst);
+
+               static bool Open_cb (IntPtr inst)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnOpen ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideOpen")]
+               protected virtual bool OnOpen ()
+               {
+                       return InternalOpen ();
+               }
+
+               private bool InternalOpen ()
+               {
+                       OpenNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               unmanaged = (OpenNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static CloseNativeDelegate Close_cb_delegate;
+               static CloseNativeDelegate CloseVMCallback {
+                       get {
+                               if (Close_cb_delegate == null)
+                                       Close_cb_delegate = new CloseNativeDelegate (Close_cb);
+                               return Close_cb_delegate;
+                       }
+               }
+
+               static void OverrideClose (GLib.GType gtype)
+               {
+                       OverrideClose (gtype, CloseVMCallback);
+               }
+
+               static void OverrideClose (GLib.GType gtype, CloseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CloseNativeDelegate (IntPtr inst);
+
+               static bool Close_cb (IntPtr inst)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnClose ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideClose")]
+               protected virtual bool OnClose ()
+               {
+                       return InternalClose ();
+               }
+
+               private bool InternalClose ()
+               {
+                       CloseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               unmanaged = (CloseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static ParseNativeDelegate Parse_cb_delegate;
+               static ParseNativeDelegate ParseVMCallback {
+                       get {
+                               if (Parse_cb_delegate == null)
+                                       Parse_cb_delegate = new ParseNativeDelegate (Parse_cb);
+                               return Parse_cb_delegate;
+                       }
+               }
+
+               static void OverrideParse (GLib.GType gtype)
+               {
+                       OverrideParse (gtype, ParseVMCallback);
+               }
+
+               static void OverrideParse (GLib.GType gtype, ParseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("parse"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ParseNativeDelegate (IntPtr inst, IntPtr frame, IntPtr adapter, bool at_eos);
+
+               static int Parse_cb (IntPtr inst, IntPtr frame, IntPtr adapter, bool at_eos)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnParse (Gst.Video.VideoCodecFrame.New (frame), GLib.Object.GetObject(adapter) as Gst.Base.Adapter, at_eos);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideParse")]
+               protected virtual Gst.FlowReturn OnParse (Gst.Video.VideoCodecFrame frame, Gst.Base.Adapter adapter, bool at_eos)
+               {
+                       return InternalParse (frame, adapter, at_eos);
+               }
+
+               private Gst.FlowReturn InternalParse (Gst.Video.VideoCodecFrame frame, Gst.Base.Adapter adapter, bool at_eos)
+               {
+                       ParseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("parse"));
+                               unmanaged = (ParseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ParseNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int __result = unmanaged (this.Handle, native_frame, adapter == null ? IntPtr.Zero : adapter.Handle, at_eos);
+                       Marshal.FreeHGlobal (native_frame);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SetFormatNativeDelegate SetFormat_cb_delegate;
+               static SetFormatNativeDelegate SetFormatVMCallback {
+                       get {
+                               if (SetFormat_cb_delegate == null)
+                                       SetFormat_cb_delegate = new SetFormatNativeDelegate (SetFormat_cb);
+                               return SetFormat_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetFormat (GLib.GType gtype)
+               {
+                       OverrideSetFormat (gtype, SetFormatVMCallback);
+               }
+
+               static void OverrideSetFormat (GLib.GType gtype, SetFormatNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_format"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetFormatNativeDelegate (IntPtr inst, IntPtr state);
+
+               static bool SetFormat_cb (IntPtr inst, IntPtr state)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnSetFormat (Gst.Video.VideoCodecState.New (state));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideSetFormat")]
+               protected virtual bool OnSetFormat (Gst.Video.VideoCodecState state)
+               {
+                       return InternalSetFormat (state);
+               }
+
+               private bool InternalSetFormat (Gst.Video.VideoCodecState state)
+               {
+                       SetFormatNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_format"));
+                               unmanaged = (SetFormatNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetFormatNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_state = GLib.Marshaller.StructureToPtrAlloc (state);
+                       bool __result = unmanaged (this.Handle, native_state);
+                       Marshal.FreeHGlobal (native_state);
+                       return __result;
+               }
+
+               static ResetNativeDelegate Reset_cb_delegate;
+               static ResetNativeDelegate ResetVMCallback {
+                       get {
+                               if (Reset_cb_delegate == null)
+                                       Reset_cb_delegate = new ResetNativeDelegate (Reset_cb);
+                               return Reset_cb_delegate;
+                       }
+               }
+
+               static void OverrideReset (GLib.GType gtype)
+               {
+                       OverrideReset (gtype, ResetVMCallback);
+               }
+
+               static void OverrideReset (GLib.GType gtype, ResetNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ResetNativeDelegate (IntPtr inst, bool hard);
+
+               static bool Reset_cb (IntPtr inst, bool hard)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnReset (hard);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideReset")]
+               protected virtual bool OnReset (bool hard)
+               {
+                       return InternalReset (hard);
+               }
+
+               private bool InternalReset (bool hard)
+               {
+                       ResetNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
+                               unmanaged = (ResetNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResetNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, hard);
+                       return __result;
+               }
+
+               static FinishNativeDelegate Finish_cb_delegate;
+               static FinishNativeDelegate FinishVMCallback {
+                       get {
+                               if (Finish_cb_delegate == null)
+                                       Finish_cb_delegate = new FinishNativeDelegate (Finish_cb);
+                               return Finish_cb_delegate;
+                       }
+               }
+
+               static void OverrideFinish (GLib.GType gtype)
+               {
+                       OverrideFinish (gtype, FinishVMCallback);
+               }
+
+               static void OverrideFinish (GLib.GType gtype, FinishNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("finish"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int FinishNativeDelegate (IntPtr inst);
+
+               static int Finish_cb (IntPtr inst)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnFinish ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideFinish")]
+               protected virtual Gst.FlowReturn OnFinish ()
+               {
+                       return InternalFinish ();
+               }
+
+               private Gst.FlowReturn InternalFinish ()
+               {
+                       FinishNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("finish"));
+                               unmanaged = (FinishNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FinishNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static HandleFrameNativeDelegate HandleFrame_cb_delegate;
+               static HandleFrameNativeDelegate HandleFrameVMCallback {
+                       get {
+                               if (HandleFrame_cb_delegate == null)
+                                       HandleFrame_cb_delegate = new HandleFrameNativeDelegate (HandleFrame_cb);
+                               return HandleFrame_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype)
+               {
+                       OverrideHandleFrame (gtype, HandleFrameVMCallback);
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype, HandleFrameNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int HandleFrameNativeDelegate (IntPtr inst, IntPtr frame);
+
+               static int HandleFrame_cb (IntPtr inst, IntPtr frame)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnHandleFrame (Gst.Video.VideoCodecFrame.New (frame));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideHandleFrame")]
+               protected virtual Gst.FlowReturn OnHandleFrame (Gst.Video.VideoCodecFrame frame)
+               {
+                       return InternalHandleFrame (frame);
+               }
+
+               private Gst.FlowReturn InternalHandleFrame (Gst.Video.VideoCodecFrame frame)
+               {
+                       HandleFrameNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               unmanaged = (HandleFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleFrameNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int __result = unmanaged (this.Handle, native_frame);
+                       Marshal.FreeHGlobal (native_frame);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static SinkEventNativeDelegate SinkEvent_cb_delegate;
+               static SinkEventNativeDelegate SinkEventVMCallback {
+                       get {
+                               if (SinkEvent_cb_delegate == null)
+                                       SinkEvent_cb_delegate = new SinkEventNativeDelegate (SinkEvent_cb);
+                               return SinkEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype)
+               {
+                       OverrideSinkEvent (gtype, SinkEventVMCallback);
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype, SinkEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SinkEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnSinkEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideSinkEvent")]
+               protected virtual bool OnSinkEvent (Gst.Event evnt)
+               {
+                       return InternalSinkEvent (evnt);
+               }
+
+               private bool InternalSinkEvent (Gst.Event evnt)
+               {
+                       SinkEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               unmanaged = (SinkEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SrcEventNativeDelegate SrcEvent_cb_delegate;
+               static SrcEventNativeDelegate SrcEventVMCallback {
+                       get {
+                               if (SrcEvent_cb_delegate == null)
+                                       SrcEvent_cb_delegate = new SrcEventNativeDelegate (SrcEvent_cb);
+                               return SrcEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype)
+               {
+                       OverrideSrcEvent (gtype, SrcEventVMCallback);
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype, SrcEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SrcEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnSrcEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideSrcEvent")]
+               protected virtual bool OnSrcEvent (Gst.Event evnt)
+               {
+                       return InternalSrcEvent (evnt);
+               }
+
+               private bool InternalSrcEvent (Gst.Event evnt)
+               {
+                       SrcEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               unmanaged = (SrcEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static NegotiateNativeDelegate Negotiate_cb_delegate;
+               static NegotiateNativeDelegate NegotiateVMCallback {
+                       get {
+                               if (Negotiate_cb_delegate == null)
+                                       Negotiate_cb_delegate = new NegotiateNativeDelegate (Negotiate_cb);
+                               return Negotiate_cb_delegate;
+                       }
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype)
+               {
+                       OverrideNegotiate (gtype, NegotiateVMCallback);
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype, NegotiateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool NegotiateNativeDelegate (IntPtr inst);
+
+               static bool Negotiate_cb (IntPtr inst)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnNegotiate ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideNegotiate")]
+               protected virtual bool OnNegotiate ()
+               {
+                       return InternalNegotiate ();
+               }
+
+               private bool InternalNegotiate ()
+               {
+                       NegotiateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               unmanaged = (NegotiateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NegotiateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static DecideAllocationNativeDelegate DecideAllocation_cb_delegate;
+               static DecideAllocationNativeDelegate DecideAllocationVMCallback {
+                       get {
+                               if (DecideAllocation_cb_delegate == null)
+                                       DecideAllocation_cb_delegate = new DecideAllocationNativeDelegate (DecideAllocation_cb);
+                               return DecideAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype)
+               {
+                       OverrideDecideAllocation (gtype, DecideAllocationVMCallback);
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype, DecideAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DecideAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool DecideAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnDecideAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideDecideAllocation")]
+               protected virtual bool OnDecideAllocation (Gst.Query query)
+               {
+                       return InternalDecideAllocation (query);
+               }
+
+               private bool InternalDecideAllocation (Gst.Query query)
+               {
+                       DecideAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               unmanaged = (DecideAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DecideAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static ProposeAllocationNativeDelegate ProposeAllocation_cb_delegate;
+               static ProposeAllocationNativeDelegate ProposeAllocationVMCallback {
+                       get {
+                               if (ProposeAllocation_cb_delegate == null)
+                                       ProposeAllocation_cb_delegate = new ProposeAllocationNativeDelegate (ProposeAllocation_cb);
+                               return ProposeAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype)
+               {
+                       OverrideProposeAllocation (gtype, ProposeAllocationVMCallback);
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype, ProposeAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ProposeAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool ProposeAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnProposeAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideProposeAllocation")]
+               protected virtual bool OnProposeAllocation (Gst.Query query)
+               {
+                       return InternalProposeAllocation (query);
+               }
+
+               private bool InternalProposeAllocation (Gst.Query query)
+               {
+                       ProposeAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               unmanaged = (ProposeAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProposeAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static FlushNativeDelegate Flush_cb_delegate;
+               static FlushNativeDelegate FlushVMCallback {
+                       get {
+                               if (Flush_cb_delegate == null)
+                                       Flush_cb_delegate = new FlushNativeDelegate (Flush_cb);
+                               return Flush_cb_delegate;
+                       }
+               }
+
+               static void OverrideFlush (GLib.GType gtype)
+               {
+                       OverrideFlush (gtype, FlushVMCallback);
+               }
+
+               static void OverrideFlush (GLib.GType gtype, FlushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool FlushNativeDelegate (IntPtr inst);
+
+               static bool Flush_cb (IntPtr inst)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnFlush ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideFlush")]
+               protected virtual bool OnFlush ()
+               {
+                       return InternalFlush ();
+               }
+
+               private bool InternalFlush ()
+               {
+                       FlushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               unmanaged = (FlushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static SinkQueryNativeDelegate SinkQuery_cb_delegate;
+               static SinkQueryNativeDelegate SinkQueryVMCallback {
+                       get {
+                               if (SinkQuery_cb_delegate == null)
+                                       SinkQuery_cb_delegate = new SinkQueryNativeDelegate (SinkQuery_cb);
+                               return SinkQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype)
+               {
+                       OverrideSinkQuery (gtype, SinkQueryVMCallback);
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype, SinkQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SinkQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnSinkQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideSinkQuery")]
+               protected virtual bool OnSinkQuery (Gst.Query query)
+               {
+                       return InternalSinkQuery (query);
+               }
+
+               private bool InternalSinkQuery (Gst.Query query)
+               {
+                       SinkQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               unmanaged = (SinkQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static SrcQueryNativeDelegate SrcQuery_cb_delegate;
+               static SrcQueryNativeDelegate SrcQueryVMCallback {
+                       get {
+                               if (SrcQuery_cb_delegate == null)
+                                       SrcQuery_cb_delegate = new SrcQueryNativeDelegate (SrcQuery_cb);
+                               return SrcQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype)
+               {
+                       OverrideSrcQuery (gtype, SrcQueryVMCallback);
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype, SrcQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SrcQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnSrcQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideSrcQuery")]
+               protected virtual bool OnSrcQuery (Gst.Query query)
+               {
+                       return InternalSrcQuery (query);
+               }
+
+               private bool InternalSrcQuery (Gst.Query query)
+               {
+                       SrcQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               unmanaged = (SrcQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static GetcapsNativeDelegate Getcaps_cb_delegate;
+               static GetcapsNativeDelegate GetcapsVMCallback {
+                       get {
+                               if (Getcaps_cb_delegate == null)
+                                       Getcaps_cb_delegate = new GetcapsNativeDelegate (Getcaps_cb);
+                               return Getcaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetcaps (GLib.GType gtype)
+               {
+                       OverrideGetcaps (gtype, GetcapsVMCallback);
+               }
+
+               static void OverrideGetcaps (GLib.GType gtype, GetcapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("getcaps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetcapsNativeDelegate (IntPtr inst, IntPtr filter);
+
+               static IntPtr Getcaps_cb (IntPtr inst, IntPtr filter)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               Gst.Caps __result;
+                               __result = __obj.OnGetcaps (filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideGetcaps")]
+               protected virtual Gst.Caps OnGetcaps (Gst.Caps filter)
+               {
+                       return InternalGetcaps (filter);
+               }
+
+               private Gst.Caps InternalGetcaps (Gst.Caps filter)
+               {
+                       GetcapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("getcaps"));
+                               unmanaged = (GetcapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetcapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static DrainNativeDelegate Drain_cb_delegate;
+               static DrainNativeDelegate DrainVMCallback {
+                       get {
+                               if (Drain_cb_delegate == null)
+                                       Drain_cb_delegate = new DrainNativeDelegate (Drain_cb);
+                               return Drain_cb_delegate;
+                       }
+               }
+
+               static void OverrideDrain (GLib.GType gtype)
+               {
+                       OverrideDrain (gtype, DrainVMCallback);
+               }
+
+               static void OverrideDrain (GLib.GType gtype, DrainNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("drain"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int DrainNativeDelegate (IntPtr inst);
+
+               static int Drain_cb (IntPtr inst)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnDrain ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideDrain")]
+               protected virtual Gst.FlowReturn OnDrain ()
+               {
+                       return InternalDrain ();
+               }
+
+               private Gst.FlowReturn InternalDrain ()
+               {
+                       DrainNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("drain"));
+                               unmanaged = (DrainNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DrainNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static TransformMetaNativeDelegate TransformMeta_cb_delegate;
+               static TransformMetaNativeDelegate TransformMetaVMCallback {
+                       get {
+                               if (TransformMeta_cb_delegate == null)
+                                       TransformMeta_cb_delegate = new TransformMetaNativeDelegate (TransformMeta_cb);
+                               return TransformMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype)
+               {
+                       OverrideTransformMeta (gtype, TransformMetaVMCallback);
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype, TransformMetaNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool TransformMetaNativeDelegate (IntPtr inst, IntPtr frame, IntPtr meta);
+
+               static bool TransformMeta_cb (IntPtr inst, IntPtr frame, IntPtr meta)
+               {
+                       try {
+                               VideoDecoder __obj = GLib.Object.GetObject (inst, false) as VideoDecoder;
+                               bool __result;
+                               __result = __obj.OnTransformMeta (Gst.Video.VideoCodecFrame.New (frame), Gst.Meta.New (meta));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoDecoder), ConnectionMethod="OverrideTransformMeta")]
+               protected virtual bool OnTransformMeta (Gst.Video.VideoCodecFrame frame, Gst.Meta meta)
+               {
+                       return InternalTransformMeta (frame, meta);
+               }
+
+               private bool InternalTransformMeta (Gst.Video.VideoCodecFrame frame, Gst.Meta meta)
+               {
+                       TransformMetaNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               unmanaged = (TransformMetaNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformMetaNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = unmanaged (this.Handle, native_frame, native_meta);
+                       Marshal.FreeHGlobal (native_frame);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("open"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // open
+                                                       , null
+                                                       , "close"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("close"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close
+                                                       , "open"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "close"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "parse"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("parse"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // parse
+                                                       , "stop"
+                                                       , "set_format"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_format"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_format
+                                                       , "parse"
+                                                       , "reset"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("reset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // reset
+                                                       , "set_format"
+                                                       , "finish"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("finish"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // finish
+                                                       , "reset"
+                                                       , "handle_frame"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_frame"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_frame
+                                                       , "finish"
+                                                       , "sink_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event
+                                                       , "handle_frame"
+                                                       , "src_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_event
+                                                       , "sink_event"
+                                                       , "negotiate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("negotiate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // negotiate
+                                                       , "src_event"
+                                                       , "decide_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("decide_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // decide_allocation
+                                                       , "negotiate"
+                                                       , "propose_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("propose_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // propose_allocation
+                                                       , "decide_allocation"
+                                                       , "flush"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flush"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush
+                                                       , "propose_allocation"
+                                                       , "sink_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_query
+                                                       , "flush"
+                                                       , "src_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_query
+                                                       , "sink_query"
+                                                       , "getcaps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("getcaps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // getcaps
+                                                       , "src_query"
+                                                       , "drain"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("drain"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // drain
+                                                       , "getcaps"
+                                                       , "transform_meta"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_meta"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_meta
+                                                       , "drain"
+                                                       , "padding"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("padding"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 14 // padding
+                                                       , "transform_meta"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_decoder_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_add_to_frame(IntPtr raw, int n_bytes);
+
+               public void AddToFrame(int n_bytes) {
+                       gst_video_decoder_add_to_frame(Handle, n_bytes);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_allocate_output_buffer(IntPtr raw);
+
+               public Gst.Buffer AllocateOutputBuffer() {
+                       IntPtr raw_ret = gst_video_decoder_allocate_output_buffer(Handle);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_decoder_allocate_output_frame(IntPtr raw, IntPtr frame);
+
+               public Gst.FlowReturn AllocateOutputFrame(Gst.Video.VideoCodecFrame frame) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int raw_ret = gst_video_decoder_allocate_output_frame(Handle, native_frame);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_decoder_allocate_output_frame_with_params(IntPtr raw, IntPtr frame, IntPtr parms);
+
+               public Gst.FlowReturn AllocateOutputFrameWithParams(Gst.Video.VideoCodecFrame frame, Gst.BufferPoolAcquireParams parms) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       int raw_ret = gst_video_decoder_allocate_output_frame_with_params(Handle, native_frame, native_parms);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       Marshal.FreeHGlobal (native_parms);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_decoder_drop_frame(IntPtr raw, IntPtr frame);
+
+               public Gst.FlowReturn DropFrame(Gst.Video.VideoCodecFrame frame) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int raw_ret = gst_video_decoder_drop_frame(Handle, native_frame);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_decoder_finish_frame(IntPtr raw, IntPtr frame);
+
+               public Gst.FlowReturn FinishFrame(Gst.Video.VideoCodecFrame frame) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int raw_ret = gst_video_decoder_finish_frame(Handle, native_frame);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms);
+
+               public void GetAllocator(out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       gst_video_decoder_get_allocator(Handle, out native_allocator, native_parms);
+                       allocator = GLib.Object.GetObject(native_allocator, true) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_get_buffer_pool(IntPtr raw);
+
+               public Gst.BufferPool BufferPool { 
+                       get {
+                               IntPtr raw_ret = gst_video_decoder_get_buffer_pool(Handle);
+                               Gst.BufferPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.BufferPool;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_decoder_get_estimate_rate(IntPtr raw);
+
+               public int EstimateRate { 
+                       get {
+                               int raw_ret = gst_video_decoder_get_estimate_rate(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_get_frame(IntPtr raw, int frame_number);
+
+               public Gst.Video.VideoCodecFrame GetFrame(int frame_number) {
+                       IntPtr raw_ret = gst_video_decoder_get_frame(Handle, frame_number);
+                       Gst.Video.VideoCodecFrame ret = Gst.Video.VideoCodecFrame.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_get_frames(IntPtr raw);
+
+               public GLib.List[] Frames { 
+                       get {
+                               IntPtr raw_ret = gst_video_decoder_get_frames(Handle);
+                               GLib.List[] ret = (GLib.List[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GLib.List));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_get_latency(IntPtr raw, out ulong min_latency, out ulong max_latency);
+
+               public void GetLatency(out ulong min_latency, out ulong max_latency) {
+                       gst_video_decoder_get_latency(Handle, out min_latency, out max_latency);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_video_decoder_get_max_decode_time(IntPtr raw, IntPtr frame);
+
+               public long GetMaxDecodeTime(Gst.Video.VideoCodecFrame frame) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       long raw_ret = gst_video_decoder_get_max_decode_time(Handle, native_frame);
+                       long ret = raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_decoder_get_max_errors(IntPtr raw);
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_set_max_errors(IntPtr raw, int num);
+
+               public int MaxErrors { 
+                       get {
+                               int raw_ret = gst_video_decoder_get_max_errors(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_video_decoder_set_max_errors(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_decoder_get_needs_format(IntPtr raw);
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_set_needs_format(IntPtr raw, bool enabled);
+
+               public bool NeedsFormat { 
+                       get {
+                               bool raw_ret = gst_video_decoder_get_needs_format(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_video_decoder_set_needs_format(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_get_oldest_frame(IntPtr raw);
+
+               public Gst.Video.VideoCodecFrame OldestFrame { 
+                       get {
+                               IntPtr raw_ret = gst_video_decoder_get_oldest_frame(Handle);
+                               Gst.Video.VideoCodecFrame ret = Gst.Video.VideoCodecFrame.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_get_output_state(IntPtr raw);
+
+               public Gst.Video.VideoCodecState OutputState { 
+                       get {
+                               IntPtr raw_ret = gst_video_decoder_get_output_state(Handle);
+                               Gst.Video.VideoCodecState ret = Gst.Video.VideoCodecState.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_decoder_get_packetized(IntPtr raw);
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_set_packetized(IntPtr raw, bool packetized);
+
+               public bool Packetized { 
+                       get {
+                               bool raw_ret = gst_video_decoder_get_packetized(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_video_decoder_set_packetized(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_video_decoder_get_pending_frame_size(IntPtr raw);
+
+               public ulong PendingFrameSize { 
+                       get {
+                               UIntPtr raw_ret = gst_video_decoder_get_pending_frame_size(Handle);
+                               ulong ret = (ulong) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_video_decoder_get_qos_proportion(IntPtr raw);
+
+               public double QosProportion { 
+                       get {
+                               double raw_ret = gst_video_decoder_get_qos_proportion(Handle);
+                               double ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_decoder_have_frame(IntPtr raw);
+
+               public Gst.FlowReturn HaveFrame() {
+                       int raw_ret = gst_video_decoder_have_frame(Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_merge_tags(IntPtr raw, IntPtr tags, int mode);
+
+               public void MergeTags(Gst.TagList tags, Gst.TagMergeMode mode) {
+                       gst_video_decoder_merge_tags(Handle, tags == null ? IntPtr.Zero : tags.Handle, (int) mode);
+               }
+
+               public void MergeTags(Gst.TagMergeMode mode) {
+                       MergeTags (null, mode);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_decoder_negotiate(IntPtr raw);
+
+               public bool Negotiate() {
+                       bool raw_ret = gst_video_decoder_negotiate(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_proxy_getcaps(IntPtr raw, IntPtr caps, IntPtr filter);
+
+               public Gst.Caps ProxyGetcaps(Gst.Caps caps, Gst.Caps filter) {
+                       IntPtr raw_ret = gst_video_decoder_proxy_getcaps(Handle, caps == null ? IntPtr.Zero : caps.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public Gst.Caps ProxyGetcaps() {
+                       return ProxyGetcaps (null, null);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_release_frame(IntPtr raw, IntPtr frame);
+
+               public void ReleaseFrame(Gst.Video.VideoCodecFrame frame) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       gst_video_decoder_release_frame(Handle, native_frame);
+                       Marshal.FreeHGlobal (native_frame);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_set_estimate_rate(IntPtr raw, bool enabled);
+
+               public void SetEstimateRate(bool enabled) {
+                       gst_video_decoder_set_estimate_rate(Handle, enabled);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_set_latency(IntPtr raw, ulong min_latency, ulong max_latency);
+
+               public void SetLatency(ulong min_latency, ulong max_latency) {
+                       gst_video_decoder_set_latency(Handle, min_latency, max_latency);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_decoder_set_output_state(IntPtr raw, int fmt, uint width, uint height, IntPtr reference);
+
+               public Gst.Video.VideoCodecState SetOutputState(Gst.Video.VideoFormat fmt, uint width, uint height, Gst.Video.VideoCodecState reference) {
+                       IntPtr native_reference = GLib.Marshaller.StructureToPtrAlloc (reference);
+                       IntPtr raw_ret = gst_video_decoder_set_output_state(Handle, (int) fmt, width, height, native_reference);
+                       Gst.Video.VideoCodecState ret = Gst.Video.VideoCodecState.New (raw_ret);
+                       Marshal.FreeHGlobal (native_reference);
+                       return ret;
+               }
+
+               public Gst.Video.VideoCodecState SetOutputState(Gst.Video.VideoFormat fmt, uint width, uint height) {
+                       return SetOutputState (fmt, width, height, Gst.Video.VideoCodecState.Zero);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_decoder_set_use_default_pad_acceptcaps(IntPtr raw, bool use);
+
+               public bool UseDefaultPadAcceptcaps { 
+                       set {
+                               gst_video_decoder_set_use_default_pad_acceptcaps(Handle, value);
+                       }
+               }
+
+
+               static VideoDecoder ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "srcpad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , "sinkpad"
+                                                       , "stream_lock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stream_lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.RecMutex.ABI)) // stream_lock
+                                                       , "srcpad"
+                                                       , "input_segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoDecoder_stream_lockAlign), "stream_lock")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("input_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // input_segment
+                                                       , "stream_lock"
+                                                       , "output_segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoDecoder_input_segmentAlign), "input_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("output_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // output_segment
+                                                       , "input_segment"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoDecoder_output_segmentAlign), "output_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "output_segment"
+                                                       , "padding"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("padding"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // padding
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoDecoder_stream_lockAlign
+               {
+                       sbyte f1;
+                       private GLib.RecMutex.ABI stream_lock;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoDecoder_input_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment input_segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoDecoder_output_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment output_segment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoDirectionAdapter.cs b/sources/generated/Gst.Video_VideoDirectionAdapter.cs
new file mode 100644 (file)
index 0000000..2f142d8
--- /dev/null
@@ -0,0 +1,120 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoDirectionAdapter : GLib.GInterfaceAdapter, Gst.Video.IVideoDirection {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstVideoDirectionInterface {
+               }
+
+               static GstVideoDirectionInterface iface;
+
+               static VideoDirectionAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (VideoDirectionAdapter));
+               }
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+               }
+
+               GLib.Object implementor;
+
+               public VideoDirectionAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public VideoDirectionAdapter (IVideoDirectionImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public VideoDirectionAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_direction_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_video_direction_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IVideoDirection GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IVideoDirection GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IVideoDirectionImplementor)
+                               return new VideoDirectionAdapter (obj as IVideoDirectionImplementor);
+                       else if (obj as IVideoDirection == null)
+                               return new VideoDirectionAdapter (obj.Handle);
+                       else
+                               return obj as IVideoDirection;
+               }
+
+               public IVideoDirectionImplementor Implementor {
+                       get {
+                               return implementor as IVideoDirectionImplementor;
+                       }
+               }
+
+               [GLib.Property ("video-direction")]
+               public Gst.Video.VideoOrientationMethod VideoDirection {
+                       get {
+                               GLib.Value val = implementor.GetProperty ("video-direction");
+                               Gst.Video.VideoOrientationMethod ret = (Gst.Video.VideoOrientationMethod) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               implementor.SetProperty("video-direction", val);
+                               val.Dispose ();
+                       }
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoDither.cs b/sources/generated/Gst.Video_VideoDither.cs
new file mode 100644 (file)
index 0000000..6ab5bb5
--- /dev/null
@@ -0,0 +1,76 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoDither : GLib.Opaque {
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_dither_line(IntPtr raw, IntPtr line, uint x, uint y, uint width);
+
+               public void Line(IntPtr line, uint x, uint y, uint width) {
+                       gst_video_dither_line(Handle, line, x, y, width);
+               }
+
+               public void Line(uint x, uint y, uint width) {
+                       Line (IntPtr.Zero, x, y, width);
+               }
+
+               public VideoDither(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_dither_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_video_dither_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_video_dither_free (handle);
+                               return false;
+                       }
+               }
+
+               ~VideoDither ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoDitherFlags.cs b/sources/generated/Gst.Video_VideoDitherFlags.cs
new file mode 100644 (file)
index 0000000..680aee9
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoDitherFlagsGType))]
+       public enum VideoDitherFlags {
+
+               None = 0,
+               Interlaced = 1,
+               Quantize = 2,
+       }
+
+       internal class VideoDitherFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_dither_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_dither_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoDitherMethod.cs b/sources/generated/Gst.Video_VideoDitherMethod.cs
new file mode 100644 (file)
index 0000000..3a50240
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoDitherMethodGType))]
+       public enum VideoDitherMethod {
+
+               None = 0,
+               Verterr = 1,
+               FloydSteinberg = 2,
+               SierraLite = 3,
+               Bayer = 4,
+       }
+
+       internal class VideoDitherMethodGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_dither_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_dither_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoEncoder.cs b/sources/generated/Gst.Video_VideoEncoder.cs
new file mode 100644 (file)
index 0000000..6effde3
--- /dev/null
@@ -0,0 +1,1745 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoEncoder : Gst.Element, Gst.IPreset {
+
+               protected VideoEncoder (IntPtr raw) : base(raw) {}
+
+               protected VideoEncoder() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("qos")]
+               public bool Qos {
+                       get {
+                               GLib.Value val = GetProperty ("qos");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("qos", val);
+                               val.Dispose ();
+                       }
+               }
+
+               static OpenNativeDelegate Open_cb_delegate;
+               static OpenNativeDelegate OpenVMCallback {
+                       get {
+                               if (Open_cb_delegate == null)
+                                       Open_cb_delegate = new OpenNativeDelegate (Open_cb);
+                               return Open_cb_delegate;
+                       }
+               }
+
+               static void OverrideOpen (GLib.GType gtype)
+               {
+                       OverrideOpen (gtype, OpenVMCallback);
+               }
+
+               static void OverrideOpen (GLib.GType gtype, OpenNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool OpenNativeDelegate (IntPtr inst);
+
+               static bool Open_cb (IntPtr inst)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnOpen ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideOpen")]
+               protected virtual bool OnOpen ()
+               {
+                       return InternalOpen ();
+               }
+
+               private bool InternalOpen ()
+               {
+                       OpenNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
+                               unmanaged = (OpenNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static CloseNativeDelegate Close_cb_delegate;
+               static CloseNativeDelegate CloseVMCallback {
+                       get {
+                               if (Close_cb_delegate == null)
+                                       Close_cb_delegate = new CloseNativeDelegate (Close_cb);
+                               return Close_cb_delegate;
+                       }
+               }
+
+               static void OverrideClose (GLib.GType gtype)
+               {
+                       OverrideClose (gtype, CloseVMCallback);
+               }
+
+               static void OverrideClose (GLib.GType gtype, CloseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CloseNativeDelegate (IntPtr inst);
+
+               static bool Close_cb (IntPtr inst)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnClose ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideClose")]
+               protected virtual bool OnClose ()
+               {
+                       return InternalClose ();
+               }
+
+               private bool InternalClose ()
+               {
+                       CloseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
+                               unmanaged = (CloseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static SetFormatNativeDelegate SetFormat_cb_delegate;
+               static SetFormatNativeDelegate SetFormatVMCallback {
+                       get {
+                               if (SetFormat_cb_delegate == null)
+                                       SetFormat_cb_delegate = new SetFormatNativeDelegate (SetFormat_cb);
+                               return SetFormat_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetFormat (GLib.GType gtype)
+               {
+                       OverrideSetFormat (gtype, SetFormatVMCallback);
+               }
+
+               static void OverrideSetFormat (GLib.GType gtype, SetFormatNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_format"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetFormatNativeDelegate (IntPtr inst, IntPtr state);
+
+               static bool SetFormat_cb (IntPtr inst, IntPtr state)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnSetFormat (Gst.Video.VideoCodecState.New (state));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideSetFormat")]
+               protected virtual bool OnSetFormat (Gst.Video.VideoCodecState state)
+               {
+                       return InternalSetFormat (state);
+               }
+
+               private bool InternalSetFormat (Gst.Video.VideoCodecState state)
+               {
+                       SetFormatNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_format"));
+                               unmanaged = (SetFormatNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetFormatNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_state = GLib.Marshaller.StructureToPtrAlloc (state);
+                       bool __result = unmanaged (this.Handle, native_state);
+                       Marshal.FreeHGlobal (native_state);
+                       return __result;
+               }
+
+               static HandleFrameNativeDelegate HandleFrame_cb_delegate;
+               static HandleFrameNativeDelegate HandleFrameVMCallback {
+                       get {
+                               if (HandleFrame_cb_delegate == null)
+                                       HandleFrame_cb_delegate = new HandleFrameNativeDelegate (HandleFrame_cb);
+                               return HandleFrame_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype)
+               {
+                       OverrideHandleFrame (gtype, HandleFrameVMCallback);
+               }
+
+               static void OverrideHandleFrame (GLib.GType gtype, HandleFrameNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int HandleFrameNativeDelegate (IntPtr inst, IntPtr frame);
+
+               static int HandleFrame_cb (IntPtr inst, IntPtr frame)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnHandleFrame (Gst.Video.VideoCodecFrame.New (frame));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideHandleFrame")]
+               protected virtual Gst.FlowReturn OnHandleFrame (Gst.Video.VideoCodecFrame frame)
+               {
+                       return InternalHandleFrame (frame);
+               }
+
+               private Gst.FlowReturn InternalHandleFrame (Gst.Video.VideoCodecFrame frame)
+               {
+                       HandleFrameNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_frame"));
+                               unmanaged = (HandleFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleFrameNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int __result = unmanaged (this.Handle, native_frame);
+                       Marshal.FreeHGlobal (native_frame);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static ResetNativeDelegate Reset_cb_delegate;
+               static ResetNativeDelegate ResetVMCallback {
+                       get {
+                               if (Reset_cb_delegate == null)
+                                       Reset_cb_delegate = new ResetNativeDelegate (Reset_cb);
+                               return Reset_cb_delegate;
+                       }
+               }
+
+               static void OverrideReset (GLib.GType gtype)
+               {
+                       OverrideReset (gtype, ResetVMCallback);
+               }
+
+               static void OverrideReset (GLib.GType gtype, ResetNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ResetNativeDelegate (IntPtr inst, bool hard);
+
+               static bool Reset_cb (IntPtr inst, bool hard)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnReset (hard);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideReset")]
+               protected virtual bool OnReset (bool hard)
+               {
+                       return InternalReset (hard);
+               }
+
+               private bool InternalReset (bool hard)
+               {
+                       ResetNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
+                               unmanaged = (ResetNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResetNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, hard);
+                       return __result;
+               }
+
+               static FinishNativeDelegate Finish_cb_delegate;
+               static FinishNativeDelegate FinishVMCallback {
+                       get {
+                               if (Finish_cb_delegate == null)
+                                       Finish_cb_delegate = new FinishNativeDelegate (Finish_cb);
+                               return Finish_cb_delegate;
+                       }
+               }
+
+               static void OverrideFinish (GLib.GType gtype)
+               {
+                       OverrideFinish (gtype, FinishVMCallback);
+               }
+
+               static void OverrideFinish (GLib.GType gtype, FinishNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("finish"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int FinishNativeDelegate (IntPtr inst);
+
+               static int Finish_cb (IntPtr inst)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnFinish ();
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideFinish")]
+               protected virtual Gst.FlowReturn OnFinish ()
+               {
+                       return InternalFinish ();
+               }
+
+               private Gst.FlowReturn InternalFinish ()
+               {
+                       FinishNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("finish"));
+                               unmanaged = (FinishNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FinishNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static PrePushNativeDelegate PrePush_cb_delegate;
+               static PrePushNativeDelegate PrePushVMCallback {
+                       get {
+                               if (PrePush_cb_delegate == null)
+                                       PrePush_cb_delegate = new PrePushNativeDelegate (PrePush_cb);
+                               return PrePush_cb_delegate;
+                       }
+               }
+
+               static void OverridePrePush (GLib.GType gtype)
+               {
+                       OverridePrePush (gtype, PrePushVMCallback);
+               }
+
+               static void OverridePrePush (GLib.GType gtype, PrePushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_push"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrePushNativeDelegate (IntPtr inst, IntPtr frame);
+
+               static int PrePush_cb (IntPtr inst, IntPtr frame)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnPrePush (Gst.Video.VideoCodecFrame.New (frame));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverridePrePush")]
+               protected virtual Gst.FlowReturn OnPrePush (Gst.Video.VideoCodecFrame frame)
+               {
+                       return InternalPrePush (frame);
+               }
+
+               private Gst.FlowReturn InternalPrePush (Gst.Video.VideoCodecFrame frame)
+               {
+                       PrePushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_push"));
+                               unmanaged = (PrePushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrePushNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int __result = unmanaged (this.Handle, native_frame);
+                       Marshal.FreeHGlobal (native_frame);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static GetcapsNativeDelegate Getcaps_cb_delegate;
+               static GetcapsNativeDelegate GetcapsVMCallback {
+                       get {
+                               if (Getcaps_cb_delegate == null)
+                                       Getcaps_cb_delegate = new GetcapsNativeDelegate (Getcaps_cb);
+                               return Getcaps_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetcaps (GLib.GType gtype)
+               {
+                       OverrideGetcaps (gtype, GetcapsVMCallback);
+               }
+
+               static void OverrideGetcaps (GLib.GType gtype, GetcapsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("getcaps"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetcapsNativeDelegate (IntPtr inst, IntPtr filter);
+
+               static IntPtr Getcaps_cb (IntPtr inst, IntPtr filter)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               Gst.Caps __result;
+                               __result = __obj.OnGetcaps (filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (filter, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideGetcaps")]
+               protected virtual Gst.Caps OnGetcaps (Gst.Caps filter)
+               {
+                       return InternalGetcaps (filter);
+               }
+
+               private Gst.Caps InternalGetcaps (Gst.Caps filter)
+               {
+                       GetcapsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("getcaps"));
+                               unmanaged = (GetcapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetcapsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (__result, typeof (Gst.Caps), true);
+               }
+
+               static SinkEventNativeDelegate SinkEvent_cb_delegate;
+               static SinkEventNativeDelegate SinkEventVMCallback {
+                       get {
+                               if (SinkEvent_cb_delegate == null)
+                                       SinkEvent_cb_delegate = new SinkEventNativeDelegate (SinkEvent_cb);
+                               return SinkEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype)
+               {
+                       OverrideSinkEvent (gtype, SinkEventVMCallback);
+               }
+
+               static void OverrideSinkEvent (GLib.GType gtype, SinkEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SinkEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnSinkEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideSinkEvent")]
+               protected virtual bool OnSinkEvent (Gst.Event evnt)
+               {
+                       return InternalSinkEvent (evnt);
+               }
+
+               private bool InternalSinkEvent (Gst.Event evnt)
+               {
+                       SinkEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event"));
+                               unmanaged = (SinkEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static SrcEventNativeDelegate SrcEvent_cb_delegate;
+               static SrcEventNativeDelegate SrcEventVMCallback {
+                       get {
+                               if (SrcEvent_cb_delegate == null)
+                                       SrcEvent_cb_delegate = new SrcEventNativeDelegate (SrcEvent_cb);
+                               return SrcEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype)
+               {
+                       OverrideSrcEvent (gtype, SrcEventVMCallback);
+               }
+
+               static void OverrideSrcEvent (GLib.GType gtype, SrcEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SrcEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnSrcEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideSrcEvent")]
+               protected virtual bool OnSrcEvent (Gst.Event evnt)
+               {
+                       return InternalSrcEvent (evnt);
+               }
+
+               private bool InternalSrcEvent (Gst.Event evnt)
+               {
+                       SrcEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_event"));
+                               unmanaged = (SrcEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static NegotiateNativeDelegate Negotiate_cb_delegate;
+               static NegotiateNativeDelegate NegotiateVMCallback {
+                       get {
+                               if (Negotiate_cb_delegate == null)
+                                       Negotiate_cb_delegate = new NegotiateNativeDelegate (Negotiate_cb);
+                               return Negotiate_cb_delegate;
+                       }
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype)
+               {
+                       OverrideNegotiate (gtype, NegotiateVMCallback);
+               }
+
+               static void OverrideNegotiate (GLib.GType gtype, NegotiateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool NegotiateNativeDelegate (IntPtr inst);
+
+               static bool Negotiate_cb (IntPtr inst)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnNegotiate ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideNegotiate")]
+               protected virtual bool OnNegotiate ()
+               {
+                       return InternalNegotiate ();
+               }
+
+               private bool InternalNegotiate ()
+               {
+                       NegotiateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate"));
+                               unmanaged = (NegotiateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NegotiateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static DecideAllocationNativeDelegate DecideAllocation_cb_delegate;
+               static DecideAllocationNativeDelegate DecideAllocationVMCallback {
+                       get {
+                               if (DecideAllocation_cb_delegate == null)
+                                       DecideAllocation_cb_delegate = new DecideAllocationNativeDelegate (DecideAllocation_cb);
+                               return DecideAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype)
+               {
+                       OverrideDecideAllocation (gtype, DecideAllocationVMCallback);
+               }
+
+               static void OverrideDecideAllocation (GLib.GType gtype, DecideAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DecideAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool DecideAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnDecideAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideDecideAllocation")]
+               protected virtual bool OnDecideAllocation (Gst.Query query)
+               {
+                       return InternalDecideAllocation (query);
+               }
+
+               private bool InternalDecideAllocation (Gst.Query query)
+               {
+                       DecideAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("decide_allocation"));
+                               unmanaged = (DecideAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DecideAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static ProposeAllocationNativeDelegate ProposeAllocation_cb_delegate;
+               static ProposeAllocationNativeDelegate ProposeAllocationVMCallback {
+                       get {
+                               if (ProposeAllocation_cb_delegate == null)
+                                       ProposeAllocation_cb_delegate = new ProposeAllocationNativeDelegate (ProposeAllocation_cb);
+                               return ProposeAllocation_cb_delegate;
+                       }
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype)
+               {
+                       OverrideProposeAllocation (gtype, ProposeAllocationVMCallback);
+               }
+
+               static void OverrideProposeAllocation (GLib.GType gtype, ProposeAllocationNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ProposeAllocationNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool ProposeAllocation_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnProposeAllocation (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideProposeAllocation")]
+               protected virtual bool OnProposeAllocation (Gst.Query query)
+               {
+                       return InternalProposeAllocation (query);
+               }
+
+               private bool InternalProposeAllocation (Gst.Query query)
+               {
+                       ProposeAllocationNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("propose_allocation"));
+                               unmanaged = (ProposeAllocationNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProposeAllocationNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static FlushNativeDelegate Flush_cb_delegate;
+               static FlushNativeDelegate FlushVMCallback {
+                       get {
+                               if (Flush_cb_delegate == null)
+                                       Flush_cb_delegate = new FlushNativeDelegate (Flush_cb);
+                               return Flush_cb_delegate;
+                       }
+               }
+
+               static void OverrideFlush (GLib.GType gtype)
+               {
+                       OverrideFlush (gtype, FlushVMCallback);
+               }
+
+               static void OverrideFlush (GLib.GType gtype, FlushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool FlushNativeDelegate (IntPtr inst);
+
+               static bool Flush_cb (IntPtr inst)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnFlush ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideFlush")]
+               protected virtual bool OnFlush ()
+               {
+                       return InternalFlush ();
+               }
+
+               private bool InternalFlush ()
+               {
+                       FlushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush"));
+                               unmanaged = (FlushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static SinkQueryNativeDelegate SinkQuery_cb_delegate;
+               static SinkQueryNativeDelegate SinkQueryVMCallback {
+                       get {
+                               if (SinkQuery_cb_delegate == null)
+                                       SinkQuery_cb_delegate = new SinkQueryNativeDelegate (SinkQuery_cb);
+                               return SinkQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype)
+               {
+                       OverrideSinkQuery (gtype, SinkQueryVMCallback);
+               }
+
+               static void OverrideSinkQuery (GLib.GType gtype, SinkQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SinkQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SinkQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnSinkQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideSinkQuery")]
+               protected virtual bool OnSinkQuery (Gst.Query query)
+               {
+                       return InternalSinkQuery (query);
+               }
+
+               private bool InternalSinkQuery (Gst.Query query)
+               {
+                       SinkQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query"));
+                               unmanaged = (SinkQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static SrcQueryNativeDelegate SrcQuery_cb_delegate;
+               static SrcQueryNativeDelegate SrcQueryVMCallback {
+                       get {
+                               if (SrcQuery_cb_delegate == null)
+                                       SrcQuery_cb_delegate = new SrcQueryNativeDelegate (SrcQuery_cb);
+                               return SrcQuery_cb_delegate;
+                       }
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype)
+               {
+                       OverrideSrcQuery (gtype, SrcQueryVMCallback);
+               }
+
+               static void OverrideSrcQuery (GLib.GType gtype, SrcQueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SrcQueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool SrcQuery_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnSrcQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideSrcQuery")]
+               protected virtual bool OnSrcQuery (Gst.Query query)
+               {
+                       return InternalSrcQuery (query);
+               }
+
+               private bool InternalSrcQuery (Gst.Query query)
+               {
+                       SrcQueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("src_query"));
+                               unmanaged = (SrcQueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SrcQueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static TransformMetaNativeDelegate TransformMeta_cb_delegate;
+               static TransformMetaNativeDelegate TransformMetaVMCallback {
+                       get {
+                               if (TransformMeta_cb_delegate == null)
+                                       TransformMeta_cb_delegate = new TransformMetaNativeDelegate (TransformMeta_cb);
+                               return TransformMeta_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype)
+               {
+                       OverrideTransformMeta (gtype, TransformMetaVMCallback);
+               }
+
+               static void OverrideTransformMeta (GLib.GType gtype, TransformMetaNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool TransformMetaNativeDelegate (IntPtr inst, IntPtr frame, IntPtr meta);
+
+               static bool TransformMeta_cb (IntPtr inst, IntPtr frame, IntPtr meta)
+               {
+                       try {
+                               VideoEncoder __obj = GLib.Object.GetObject (inst, false) as VideoEncoder;
+                               bool __result;
+                               __result = __obj.OnTransformMeta (Gst.Video.VideoCodecFrame.New (frame), Gst.Meta.New (meta));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoEncoder), ConnectionMethod="OverrideTransformMeta")]
+               protected virtual bool OnTransformMeta (Gst.Video.VideoCodecFrame frame, Gst.Meta meta)
+               {
+                       return InternalTransformMeta (frame, meta);
+               }
+
+               private bool InternalTransformMeta (Gst.Video.VideoCodecFrame frame, Gst.Meta meta)
+               {
+                       TransformMetaNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_meta"));
+                               unmanaged = (TransformMetaNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformMetaNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = unmanaged (this.Handle, native_frame, native_meta);
+                       Marshal.FreeHGlobal (native_frame);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("open"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // open
+                                                       , null
+                                                       , "close"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("close"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close
+                                                       , "open"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "close"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "set_format"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_format"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_format
+                                                       , "stop"
+                                                       , "handle_frame"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_frame"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_frame
+                                                       , "set_format"
+                                                       , "reset"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("reset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // reset
+                                                       , "handle_frame"
+                                                       , "finish"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("finish"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // finish
+                                                       , "reset"
+                                                       , "pre_push"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_push"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_push
+                                                       , "finish"
+                                                       , "getcaps"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("getcaps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // getcaps
+                                                       , "pre_push"
+                                                       , "sink_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event
+                                                       , "getcaps"
+                                                       , "src_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_event
+                                                       , "sink_event"
+                                                       , "negotiate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("negotiate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // negotiate
+                                                       , "src_event"
+                                                       , "decide_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("decide_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // decide_allocation
+                                                       , "negotiate"
+                                                       , "propose_allocation"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("propose_allocation"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // propose_allocation
+                                                       , "decide_allocation"
+                                                       , "flush"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flush"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush
+                                                       , "propose_allocation"
+                                                       , "sink_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sink_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_query
+                                                       , "flush"
+                                                       , "src_query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src_query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src_query
+                                                       , "sink_query"
+                                                       , "transform_meta"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_meta"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_meta
+                                                       , "src_query"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 16 // _gst_reserved
+                                                       , "transform_meta"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_encoder_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_encoder_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_encoder_allocate_output_buffer(IntPtr raw, UIntPtr size);
+
+               public Gst.Buffer AllocateOutputBuffer(ulong size) {
+                       IntPtr raw_ret = gst_video_encoder_allocate_output_buffer(Handle, new UIntPtr (size));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_encoder_allocate_output_frame(IntPtr raw, IntPtr frame, UIntPtr size);
+
+               public Gst.FlowReturn AllocateOutputFrame(Gst.Video.VideoCodecFrame frame, ulong size) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int raw_ret = gst_video_encoder_allocate_output_frame(Handle, native_frame, new UIntPtr (size));
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_encoder_finish_frame(IntPtr raw, IntPtr frame);
+
+               public Gst.FlowReturn FinishFrame(Gst.Video.VideoCodecFrame frame) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int raw_ret = gst_video_encoder_finish_frame(Handle, native_frame);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_encoder_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms);
+
+               public void GetAllocator(out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       gst_video_encoder_get_allocator(Handle, out native_allocator, native_parms);
+                       allocator = GLib.Object.GetObject(native_allocator, true) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_encoder_get_frame(IntPtr raw, int frame_number);
+
+               public Gst.Video.VideoCodecFrame GetFrame(int frame_number) {
+                       IntPtr raw_ret = gst_video_encoder_get_frame(Handle, frame_number);
+                       Gst.Video.VideoCodecFrame ret = Gst.Video.VideoCodecFrame.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_encoder_get_frames(IntPtr raw);
+
+               public GLib.List[] Frames { 
+                       get {
+                               IntPtr raw_ret = gst_video_encoder_get_frames(Handle);
+                               GLib.List[] ret = (GLib.List[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GLib.List));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_encoder_get_latency(IntPtr raw, out ulong min_latency, out ulong max_latency);
+
+               public void GetLatency(out ulong min_latency, out ulong max_latency) {
+                       gst_video_encoder_get_latency(Handle, out min_latency, out max_latency);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_video_encoder_get_max_encode_time(IntPtr raw, IntPtr frame);
+
+               public long GetMaxEncodeTime(Gst.Video.VideoCodecFrame frame) {
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       long raw_ret = gst_video_encoder_get_max_encode_time(Handle, native_frame);
+                       long ret = raw_ret;
+                       Marshal.FreeHGlobal (native_frame);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_encoder_get_oldest_frame(IntPtr raw);
+
+               public Gst.Video.VideoCodecFrame OldestFrame { 
+                       get {
+                               IntPtr raw_ret = gst_video_encoder_get_oldest_frame(Handle);
+                               Gst.Video.VideoCodecFrame ret = Gst.Video.VideoCodecFrame.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_encoder_get_output_state(IntPtr raw);
+
+               public Gst.Video.VideoCodecState OutputState { 
+                       get {
+                               IntPtr raw_ret = gst_video_encoder_get_output_state(Handle);
+                               Gst.Video.VideoCodecState ret = Gst.Video.VideoCodecState.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_encoder_is_qos_enabled(IntPtr raw);
+
+               public bool IsQosEnabled { 
+                       get {
+                               bool raw_ret = gst_video_encoder_is_qos_enabled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_encoder_merge_tags(IntPtr raw, IntPtr tags, int mode);
+
+               public void MergeTags(Gst.TagList tags, Gst.TagMergeMode mode) {
+                       gst_video_encoder_merge_tags(Handle, tags == null ? IntPtr.Zero : tags.Handle, (int) mode);
+               }
+
+               public void MergeTags(Gst.TagMergeMode mode) {
+                       MergeTags (null, mode);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_encoder_negotiate(IntPtr raw);
+
+               public bool Negotiate() {
+                       bool raw_ret = gst_video_encoder_negotiate(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_encoder_proxy_getcaps(IntPtr raw, IntPtr caps, IntPtr filter);
+
+               public Gst.Caps ProxyGetcaps(Gst.Caps caps, Gst.Caps filter) {
+                       IntPtr raw_ret = gst_video_encoder_proxy_getcaps(Handle, caps == null ? IntPtr.Zero : caps.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public Gst.Caps ProxyGetcaps() {
+                       return ProxyGetcaps (null, null);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_encoder_set_headers(IntPtr raw, IntPtr headers);
+
+               public GLib.List Headers { 
+                       set {
+                               gst_video_encoder_set_headers(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_encoder_set_latency(IntPtr raw, ulong min_latency, ulong max_latency);
+
+               public void SetLatency(ulong min_latency, ulong max_latency) {
+                       gst_video_encoder_set_latency(Handle, min_latency, max_latency);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_encoder_set_min_pts(IntPtr raw, ulong min_pts);
+
+               public ulong MinPts { 
+                       set {
+                               gst_video_encoder_set_min_pts(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_encoder_set_output_state(IntPtr raw, IntPtr caps, IntPtr reference);
+
+               public Gst.Video.VideoCodecState SetOutputState(Gst.Caps caps, Gst.Video.VideoCodecState reference) {
+                       caps.Owned = false;
+                       IntPtr native_reference = GLib.Marshaller.StructureToPtrAlloc (reference);
+                       IntPtr raw_ret = gst_video_encoder_set_output_state(Handle, caps == null ? IntPtr.Zero : caps.Handle, native_reference);
+                       Gst.Video.VideoCodecState ret = Gst.Video.VideoCodecState.New (raw_ret);
+                       Marshal.FreeHGlobal (native_reference);
+                       return ret;
+               }
+
+               public Gst.Video.VideoCodecState SetOutputState(Gst.Caps caps) {
+                       return SetOutputState (caps, Gst.Video.VideoCodecState.Zero);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_encoder_set_qos_enabled(IntPtr raw, bool enabled);
+
+               public bool QosEnabled { 
+                       set {
+                               gst_video_encoder_set_qos_enabled(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_delete_preset(IntPtr raw, IntPtr name);
+
+               public bool DeletePreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_delete_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_get_meta(IntPtr raw, IntPtr name, IntPtr tag, out IntPtr value);
+
+               public bool GetMeta(string name, string tag, out string value) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_preset_get_meta(Handle, native_name, native_tag, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_tag);
+                       value = GLib.Marshaller.PtrToStringGFree(native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_preset_names(IntPtr raw);
+
+               public string[] PresetNames { 
+                       get {
+                               IntPtr raw_ret = gst_preset_get_preset_names(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_property_names(IntPtr raw);
+
+               public string[] PropertyNames { 
+                       get {
+                               IntPtr raw_ret = gst_preset_get_property_names(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_is_editable(IntPtr raw);
+
+               public bool IsEditable { 
+                       get {
+                               bool raw_ret = gst_preset_is_editable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_load_preset(IntPtr raw, IntPtr name);
+
+               public bool LoadPreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_load_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_rename_preset(IntPtr raw, IntPtr old_name, IntPtr new_name);
+
+               public bool RenamePreset(string old_name, string new_name) {
+                       IntPtr native_old_name = GLib.Marshaller.StringToPtrGStrdup (old_name);
+                       IntPtr native_new_name = GLib.Marshaller.StringToPtrGStrdup (new_name);
+                       bool raw_ret = gst_preset_rename_preset(Handle, native_old_name, native_new_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_old_name);
+                       GLib.Marshaller.Free (native_new_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_save_preset(IntPtr raw, IntPtr name);
+
+               public bool SavePreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_save_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_set_meta(IntPtr raw, IntPtr name, IntPtr tag, IntPtr value);
+
+               public bool SetMeta(string name, string tag, string value) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = gst_preset_set_meta(Handle, native_name, native_tag, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_tag);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string name, string tag) {
+                       return SetMeta (name, tag, null);
+               }
+
+
+               static VideoEncoder ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sinkpad"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpad
+                                                       , null
+                                                       , "srcpad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpad
+                                                       , "sinkpad"
+                                                       , "stream_lock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stream_lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.RecMutex.ABI)) // stream_lock
+                                                       , "srcpad"
+                                                       , "input_segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoEncoder_stream_lockAlign), "stream_lock")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("input_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // input_segment
+                                                       , "stream_lock"
+                                                       , "output_segment"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoEncoder_input_segmentAlign), "input_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("output_segment"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // output_segment
+                                                       , "input_segment"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoEncoder_output_segmentAlign), "output_segment")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "output_segment"
+                                                       , "padding"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("padding"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // padding
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoEncoder_stream_lockAlign
+               {
+                       sbyte f1;
+                       private GLib.RecMutex.ABI stream_lock;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoEncoder_input_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment input_segment;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoEncoder_output_segmentAlign
+               {
+                       sbyte f1;
+                       private Gst.Segment output_segment;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoFieldOrder.cs b/sources/generated/Gst.Video_VideoFieldOrder.cs
new file mode 100644 (file)
index 0000000..7f8a5b6
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoFieldOrderGType))]
+       public enum VideoFieldOrder {
+
+               Unknown = 0,
+               TopFieldFirst = 1,
+               BottomFieldFirst = 2,
+       }
+
+       internal class VideoFieldOrderGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_field_order_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_field_order_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoFilter.cs b/sources/generated/Gst.Video_VideoFilter.cs
new file mode 100644 (file)
index 0000000..e1f5d7b
--- /dev/null
@@ -0,0 +1,349 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoFilter : Gst.Base.BaseTransform {
+
+               protected VideoFilter (IntPtr raw) : base(raw) {}
+
+               protected VideoFilter() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public bool Negotiated {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("negotiated"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Video.VideoInfo InInfo {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("in_info"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Video.VideoInfo), false);
+                               }
+                       }
+               }
+
+               public Gst.Video.VideoInfo OutInfo {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("out_info"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Video.VideoInfo), false);
+                               }
+                       }
+               }
+
+               static SetInfoNativeDelegate SetInfo_cb_delegate;
+               static SetInfoNativeDelegate SetInfoVMCallback {
+                       get {
+                               if (SetInfo_cb_delegate == null)
+                                       SetInfo_cb_delegate = new SetInfoNativeDelegate (SetInfo_cb);
+                               return SetInfo_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetInfo (GLib.GType gtype)
+               {
+                       OverrideSetInfo (gtype, SetInfoVMCallback);
+               }
+
+               static void OverrideSetInfo (GLib.GType gtype, SetInfoNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_info"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetInfoNativeDelegate (IntPtr inst, IntPtr incaps, IntPtr in_info, IntPtr outcaps, IntPtr out_info);
+
+               static bool SetInfo_cb (IntPtr inst, IntPtr incaps, IntPtr in_info, IntPtr outcaps, IntPtr out_info)
+               {
+                       try {
+                               VideoFilter __obj = GLib.Object.GetObject (inst, false) as VideoFilter;
+                               bool __result;
+                               __result = __obj.OnSetInfo (incaps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (incaps, typeof (Gst.Caps), false), in_info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (in_info, typeof (Gst.Video.VideoInfo), false), outcaps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (outcaps, typeof (Gst.Caps), false), out_info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (out_info, typeof (Gst.Video.VideoInfo), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoFilter), ConnectionMethod="OverrideSetInfo")]
+               protected virtual bool OnSetInfo (Gst.Caps incaps, Gst.Video.VideoInfo in_info, Gst.Caps outcaps, Gst.Video.VideoInfo out_info)
+               {
+                       return InternalSetInfo (incaps, in_info, outcaps, out_info);
+               }
+
+               private bool InternalSetInfo (Gst.Caps incaps, Gst.Video.VideoInfo in_info, Gst.Caps outcaps, Gst.Video.VideoInfo out_info)
+               {
+                       SetInfoNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_info"));
+                               unmanaged = (SetInfoNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetInfoNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, incaps == null ? IntPtr.Zero : incaps.Handle, in_info == null ? IntPtr.Zero : in_info.Handle, outcaps == null ? IntPtr.Zero : outcaps.Handle, out_info == null ? IntPtr.Zero : out_info.Handle);
+                       return __result;
+               }
+
+               static TransformFrameNativeDelegate TransformFrame_cb_delegate;
+               static TransformFrameNativeDelegate TransformFrameVMCallback {
+                       get {
+                               if (TransformFrame_cb_delegate == null)
+                                       TransformFrame_cb_delegate = new TransformFrameNativeDelegate (TransformFrame_cb);
+                               return TransformFrame_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformFrame (GLib.GType gtype)
+               {
+                       OverrideTransformFrame (gtype, TransformFrameVMCallback);
+               }
+
+               static void OverrideTransformFrame (GLib.GType gtype, TransformFrameNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_frame"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int TransformFrameNativeDelegate (IntPtr inst, IntPtr inframe, IntPtr outframe);
+
+               static int TransformFrame_cb (IntPtr inst, IntPtr inframe, IntPtr outframe)
+               {
+                       try {
+                               VideoFilter __obj = GLib.Object.GetObject (inst, false) as VideoFilter;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnTransformFrame (Gst.Video.VideoFrame.New (inframe), Gst.Video.VideoFrame.New (outframe));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoFilter), ConnectionMethod="OverrideTransformFrame")]
+               protected virtual Gst.FlowReturn OnTransformFrame (Gst.Video.VideoFrame inframe, Gst.Video.VideoFrame outframe)
+               {
+                       return InternalTransformFrame (inframe, outframe);
+               }
+
+               private Gst.FlowReturn InternalTransformFrame (Gst.Video.VideoFrame inframe, Gst.Video.VideoFrame outframe)
+               {
+                       TransformFrameNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_frame"));
+                               unmanaged = (TransformFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformFrameNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_inframe = GLib.Marshaller.StructureToPtrAlloc (inframe);
+                       IntPtr native_outframe = GLib.Marshaller.StructureToPtrAlloc (outframe);
+                       int __result = unmanaged (this.Handle, native_inframe, native_outframe);
+                       Marshal.FreeHGlobal (native_inframe);
+                       Marshal.FreeHGlobal (native_outframe);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static TransformFrameIpNativeDelegate TransformFrameIp_cb_delegate;
+               static TransformFrameIpNativeDelegate TransformFrameIpVMCallback {
+                       get {
+                               if (TransformFrameIp_cb_delegate == null)
+                                       TransformFrameIp_cb_delegate = new TransformFrameIpNativeDelegate (TransformFrameIp_cb);
+                               return TransformFrameIp_cb_delegate;
+                       }
+               }
+
+               static void OverrideTransformFrameIp (GLib.GType gtype)
+               {
+                       OverrideTransformFrameIp (gtype, TransformFrameIpVMCallback);
+               }
+
+               static void OverrideTransformFrameIp (GLib.GType gtype, TransformFrameIpNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_frame_ip"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int TransformFrameIpNativeDelegate (IntPtr inst, IntPtr frame);
+
+               static int TransformFrameIp_cb (IntPtr inst, IntPtr frame)
+               {
+                       try {
+                               VideoFilter __obj = GLib.Object.GetObject (inst, false) as VideoFilter;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnTransformFrameIp (Gst.Video.VideoFrame.New (frame));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoFilter), ConnectionMethod="OverrideTransformFrameIp")]
+               protected virtual Gst.FlowReturn OnTransformFrameIp (Gst.Video.VideoFrame frame)
+               {
+                       return InternalTransformFrameIp (frame);
+               }
+
+               private Gst.FlowReturn InternalTransformFrameIp (Gst.Video.VideoFrame frame)
+               {
+                       TransformFrameIpNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("transform_frame_ip"));
+                               unmanaged = (TransformFrameIpNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TransformFrameIpNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+                       int __result = unmanaged (this.Handle, native_frame);
+                       Marshal.FreeHGlobal (native_frame);
+                       return (Gst.FlowReturn) __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("set_info"
+                                                       , Gst.Base.BaseTransform.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_info
+                                                       , null
+                                                       , "transform_frame"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_frame"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_frame
+                                                       , "set_info"
+                                                       , "transform_frame_ip"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("transform_frame_ip"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transform_frame_ip
+                                                       , "transform_frame"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "transform_frame_ip"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_filter_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_filter_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static VideoFilter ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("negotiated"
+                                                       , Gst.Base.BaseTransform.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // negotiated
+                                                       , null
+                                                       , "in_info"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoFilter_negotiatedAlign), "negotiated")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("in_info"
+                                                       , -1
+                                                       , Gst.Video.VideoInfo.abi_info.Size // in_info
+                                                       , "negotiated"
+                                                       , "out_info"
+                                                       , Gst.Video.VideoInfo.abi_info.Align
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("out_info"
+                                                       , -1
+                                                       , Gst.Video.VideoInfo.abi_info.Size // out_info
+                                                       , "in_info"
+                                                       , "_gst_reserved"
+                                                       , Gst.Video.VideoInfo.abi_info.Align
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "out_info"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoFilter_negotiatedAlign
+               {
+                       sbyte f1;
+                       private bool negotiated;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoFlags.cs b/sources/generated/Gst.Video_VideoFlags.cs
new file mode 100644 (file)
index 0000000..e6407e8
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoFlagsGType))]
+       public enum VideoFlags {
+
+               None = 0,
+               VariableFps = 1,
+               PremultipliedAlpha = 2,
+       }
+
+       internal class VideoFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoFormat.cs b/sources/generated/Gst.Video_VideoFormat.cs
new file mode 100644 (file)
index 0000000..5dd96a1
--- /dev/null
@@ -0,0 +1,104 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoFormatGType))]
+       public enum VideoFormat {
+
+               Unknown = 0,
+               Encoded = 1,
+               I420 = 2,
+               Yv12 = 3,
+               Yuy2 = 4,
+               Uyvy = 5,
+               Ayuv = 6,
+               Rgbx = 7,
+               Bgrx = 8,
+               Xrgb = 9,
+               Xbgr = 10,
+               Rgba = 11,
+               Bgra = 12,
+               Argb = 13,
+               Abgr = 14,
+               Rgb = 15,
+               Bgr = 16,
+               Y41b = 17,
+               Y42b = 18,
+               Yvyu = 19,
+               Y444 = 20,
+               V210 = 21,
+               V216 = 22,
+               Nv12 = 23,
+               Nv21 = 24,
+               Gray8 = 25,
+               Gray16Be = 26,
+               Gray16Le = 27,
+               V308 = 28,
+               Rgb16 = 29,
+               Bgr16 = 30,
+               Rgb15 = 31,
+               Bgr15 = 32,
+               Uyvp = 33,
+               A420 = 34,
+               Rgb8p = 35,
+               Yuv9 = 36,
+               Yvu9 = 37,
+               Iyu1 = 38,
+               Argb64 = 39,
+               Ayuv64 = 40,
+               R210 = 41,
+               I42010be = 42,
+               I42010le = 43,
+               I42210be = 44,
+               I42210le = 45,
+               Y44410be = 46,
+               Y44410le = 47,
+               Gbr = 48,
+               Gbr10be = 49,
+               Gbr10le = 50,
+               Nv16 = 51,
+               Nv24 = 52,
+               Nv1264z32 = 53,
+               A42010be = 54,
+               A42010le = 55,
+               A42210be = 56,
+               A42210le = 57,
+               A44410be = 58,
+               A44410le = 59,
+               Nv61 = 60,
+               P01010be = 61,
+               P01010le = 62,
+               Iyu2 = 63,
+               Vyuy = 64,
+               Gbra = 65,
+               Gbra10be = 66,
+               Gbra10le = 67,
+               Gbr12be = 68,
+               Gbr12le = 69,
+               Gbra12be = 70,
+               Gbra12le = 71,
+               I42012be = 72,
+               I42012le = 73,
+               I42212be = 74,
+               I42212le = 75,
+               Y44412be = 76,
+               Y44412le = 77,
+       }
+
+       internal class VideoFormatGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_format_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_format_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoFormatFlags.cs b/sources/generated/Gst.Video_VideoFormatFlags.cs
new file mode 100644 (file)
index 0000000..05347fb
--- /dev/null
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoFormatFlagsGType))]
+       public enum VideoFormatFlags {
+
+               Yuv = 1,
+               Rgb = 2,
+               Gray = 4,
+               Alpha = 8,
+               Le = 16,
+               Palette = 32,
+               Complex = 64,
+               Unpack = 128,
+               Tiled = 256,
+       }
+
+       internal class VideoFormatFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_format_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_format_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoFormatInfo.cs b/sources/generated/Gst.Video_VideoFormatInfo.cs
new file mode 100644 (file)
index 0000000..1bda79f
--- /dev/null
@@ -0,0 +1,84 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoFormatInfo : IEquatable<VideoFormatInfo> {
+
+               public Gst.Video.VideoFormat Format;
+               public string Name;
+               public string Description;
+               public Gst.Video.VideoFormatFlags Flags;
+               public uint Bits;
+               public uint NComponents;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public uint[] Shift;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public uint[] Depth;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public int[] PixelStride;
+               public uint NPlanes;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public uint[] Plane;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public uint[] Poffset;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public uint[] WSub;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public uint[] HSub;
+               public Gst.Video.VideoFormat UnpackFormat;
+               private Gst.VideoSharp.VideoFormatUnpackNative _unpack_func;
+               public Gst.Video.VideoFormatUnpack UnpackFunc {
+                       get {
+                               return Gst.VideoSharp.VideoFormatUnpackWrapper.GetManagedDelegate (_unpack_func);
+                       }
+               }
+               public int PackLines;
+               private Gst.VideoSharp.VideoFormatPackNative _pack_func;
+               public Gst.Video.VideoFormatPack PackFunc {
+                       get {
+                               return Gst.VideoSharp.VideoFormatPackWrapper.GetManagedDelegate (_pack_func);
+                       }
+               }
+               public Gst.Video.VideoTileMode TileMode;
+               public uint TileWs;
+               public uint TileHs;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Video.VideoFormatInfo Zero = new Gst.Video.VideoFormatInfo ();
+
+               public static Gst.Video.VideoFormatInfo New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoFormatInfo.Zero;
+                       return (Gst.Video.VideoFormatInfo) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoFormatInfo));
+               }
+
+               public bool Equals (VideoFormatInfo other)
+               {
+                       return true && Format.Equals (other.Format) && Name.Equals (other.Name) && Description.Equals (other.Description) && Flags.Equals (other.Flags) && Bits.Equals (other.Bits) && NComponents.Equals (other.NComponents) && Shift.Equals (other.Shift) && Depth.Equals (other.Depth) && PixelStride.Equals (other.PixelStride) && NPlanes.Equals (other.NPlanes) && Plane.Equals (other.Plane) && Poffset.Equals (other.Poffset) && WSub.Equals (other.WSub) && HSub.Equals (other.HSub) && UnpackFormat.Equals (other.UnpackFormat) && UnpackFunc.Equals (other.UnpackFunc) && PackLines.Equals (other.PackLines) && PackFunc.Equals (other.PackFunc) && TileMode.Equals (other.TileMode) && TileWs.Equals (other.TileWs) && TileHs.Equals (other.TileHs);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoFormatInfo && Equals ((VideoFormatInfo) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Format.GetHashCode () ^ Name.GetHashCode () ^ Description.GetHashCode () ^ Flags.GetHashCode () ^ Bits.GetHashCode () ^ NComponents.GetHashCode () ^ Shift.GetHashCode () ^ Depth.GetHashCode () ^ PixelStride.GetHashCode () ^ NPlanes.GetHashCode () ^ Plane.GetHashCode () ^ Poffset.GetHashCode () ^ WSub.GetHashCode () ^ HSub.GetHashCode () ^ UnpackFormat.GetHashCode () ^ UnpackFunc.GetHashCode () ^ PackLines.GetHashCode () ^ PackFunc.GetHashCode () ^ TileMode.GetHashCode () ^ TileWs.GetHashCode () ^ TileHs.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoFormatPack.cs b/sources/generated/Gst.Video_VideoFormatPack.cs
new file mode 100644 (file)
index 0000000..6ed900d
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+       public delegate void VideoFormatPack(Gst.Video.VideoFormatInfo info, Gst.Video.VideoPackFlags flags, IntPtr src, int sstride, IntPtr data, int stride, Gst.Video.VideoChromaSite chroma_site, int y, int width);
+
+}
diff --git a/sources/generated/Gst.Video_VideoFormatUnpack.cs b/sources/generated/Gst.Video_VideoFormatUnpack.cs
new file mode 100644 (file)
index 0000000..8236ff3
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+       public delegate void VideoFormatUnpack(Gst.Video.VideoFormatInfo info, Gst.Video.VideoPackFlags flags, IntPtr dest, IntPtr data, int stride, int x, int y, int width);
+
+}
diff --git a/sources/generated/Gst.Video_VideoFrame.cs b/sources/generated/Gst.Video_VideoFrame.cs
new file mode 100644 (file)
index 0000000..b7c15d9
--- /dev/null
@@ -0,0 +1,143 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoFrame : IEquatable<VideoFrame> {
+
+               private IntPtr _info;
+               public Gst.Video.VideoInfo Info {
+                       get {
+                               return _info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (_info, typeof (Gst.Video.VideoInfo), false);
+                       }
+                       set {
+                               _info = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public Gst.Video.VideoFrameFlags Flags;
+               private IntPtr _buffer;
+               public Gst.Buffer Buffer {
+                       get {
+                               return _buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _meta;
+               public int Id;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public IntPtr[] Data;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public Gst.MapInfo[] MapField;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Video.VideoFrame Zero = new Gst.Video.VideoFrame ();
+
+               public static Gst.Video.VideoFrame New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoFrame.Zero;
+                       return (Gst.Video.VideoFrame) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoFrame));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_frame_copy(IntPtr raw, IntPtr src);
+
+               public bool Copy(Gst.Video.VideoFrame src) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       bool raw_ret = gst_video_frame_copy(this_as_native, native_src);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_src);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_frame_copy_plane(IntPtr raw, IntPtr src, uint plane);
+
+               public bool CopyPlane(Gst.Video.VideoFrame src, uint plane) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       bool raw_ret = gst_video_frame_copy_plane(this_as_native, native_src, plane);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_src);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_frame_map(IntPtr raw, IntPtr info, IntPtr buffer, int flags);
+
+               public bool Map(Gst.Video.VideoInfo info, Gst.Buffer buffer, Gst.MapFlags flags) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_video_frame_map(this_as_native, info == null ? IntPtr.Zero : info.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_frame_map_id(IntPtr raw, IntPtr info, IntPtr buffer, int id, int flags);
+
+               public bool MapId(Gst.Video.VideoInfo info, Gst.Buffer buffer, int id, Gst.MapFlags flags) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_video_frame_map_id(this_as_native, info == null ? IntPtr.Zero : info.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, id, (int) flags);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_frame_unmap(IntPtr raw);
+
+               public void Unmap() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_frame_unmap(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoFrame target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoFrame other)
+               {
+                       return true && Info.Equals (other.Info) && Flags.Equals (other.Flags) && Buffer.Equals (other.Buffer) && _meta.Equals (other._meta) && Id.Equals (other.Id) && Data.Equals (other.Data) && MapField.Equals (other.MapField);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoFrame && Equals ((VideoFrame) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Info.GetHashCode () ^ Flags.GetHashCode () ^ Buffer.GetHashCode () ^ _meta.GetHashCode () ^ Id.GetHashCode () ^ Data.GetHashCode () ^ MapField.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoFrameFlags.cs b/sources/generated/Gst.Video_VideoFrameFlags.cs
new file mode 100644 (file)
index 0000000..1828296
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoFrameFlagsGType))]
+       public enum VideoFrameFlags {
+
+               None = 0,
+               Interlaced = 1,
+               Tff = 2,
+               Rff = 4,
+               Onefield = 8,
+               MultipleView = 16,
+               FirstInBundle = 32,
+       }
+
+       internal class VideoFrameFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_frame_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_frame_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoFrameMapFlags.cs b/sources/generated/Gst.Video_VideoFrameMapFlags.cs
new file mode 100644 (file)
index 0000000..f15922b
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoFrameMapFlagsGType))]
+       public enum VideoFrameMapFlags {
+
+               NoRef = 65536,
+               Last = 16777216,
+       }
+
+       internal class VideoFrameMapFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_frame_map_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_frame_map_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoGLTextureOrientation.cs b/sources/generated/Gst.Video_VideoGLTextureOrientation.cs
new file mode 100644 (file)
index 0000000..14b91a9
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum VideoGLTextureOrientation {
+
+               NormalYNormal = 0,
+               NormalYFlip = 1,
+               FlipYNormal = 2,
+               FlipYFlip = 3,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoGLTextureType.cs b/sources/generated/Gst.Video_VideoGLTextureType.cs
new file mode 100644 (file)
index 0000000..43c5e6f
--- /dev/null
@@ -0,0 +1,21 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum VideoGLTextureType {
+
+               Luminance = 0,
+               LuminanceAlpha = 1,
+               Rgb16 = 2,
+               Rgb = 3,
+               Rgba = 4,
+               R = 5,
+               Rg = 6,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoGLTextureUpload.cs b/sources/generated/Gst.Video_VideoGLTextureUpload.cs
new file mode 100644 (file)
index 0000000..4b31ed6
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+
+       public delegate bool VideoGLTextureUpload(Gst.Video.VideoGLTextureUploadMeta meta, uint texture_id);
+
+}
diff --git a/sources/generated/Gst.Video_VideoGLTextureUploadMeta.cs b/sources/generated/Gst.Video_VideoGLTextureUploadMeta.cs
new file mode 100644 (file)
index 0000000..bf7a6dc
--- /dev/null
@@ -0,0 +1,71 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoGLTextureUploadMeta : IEquatable<VideoGLTextureUploadMeta> {
+
+               public Gst.Meta Meta;
+               public Gst.Video.VideoGLTextureOrientation TextureOrientation;
+               public uint NTextures;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public Gst.Video.VideoGLTextureType[] TextureType;
+               private IntPtr _buffer;
+               private Gst.VideoSharp.VideoGLTextureUploadNative _upload;
+               private IntPtr _user_data;
+
+               public static Gst.Video.VideoGLTextureUploadMeta Zero = new Gst.Video.VideoGLTextureUploadMeta ();
+
+               public static Gst.Video.VideoGLTextureUploadMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoGLTextureUploadMeta.Zero;
+                       return (Gst.Video.VideoGLTextureUploadMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoGLTextureUploadMeta));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_gl_texture_upload_meta_upload(IntPtr raw, uint texture_id);
+
+               public bool Upload(uint texture_id) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_video_gl_texture_upload_meta_upload(this_as_native, texture_id);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_gl_texture_upload_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_video_gl_texture_upload_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoGLTextureUploadMeta target)
+               {
+                       target = New (native);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoGLTextureUploadMeta && Equals ((VideoGLTextureUploadMeta) other);
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoGammaMode.cs b/sources/generated/Gst.Video_VideoGammaMode.cs
new file mode 100644 (file)
index 0000000..6f1e935
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoGammaModeGType))]
+       public enum VideoGammaMode {
+
+               None = 0,
+               Remap = 1,
+       }
+
+       internal class VideoGammaModeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_gamma_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_gamma_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoInfo.cs b/sources/generated/Gst.Video_VideoInfo.cs
new file mode 100644 (file)
index 0000000..4f02df6
--- /dev/null
@@ -0,0 +1,640 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoInfo : GLib.Opaque {
+
+               public Gst.Video.VideoFormatInfo Finfo {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("finfo"));
+                                       return Gst.Video.VideoFormatInfo.New ((*raw_ptr));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("finfo"));
+                                       *raw_ptr = GLib.Marshaller.StructureToPtrAlloc (value);
+                               }
+                       }
+               }
+
+               public Gst.Video.VideoInterlaceMode InterlaceMode {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("interlace_mode"));
+                                       return (Gst.Video.VideoInterlaceMode) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("interlace_mode"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public Gst.Video.VideoFlags Flags {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       return (Gst.Video.VideoFlags) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public int Width {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("width"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("width"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int Height {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("height"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("height"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ulong Size {
+                       get {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       return (ulong) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       *raw_ptr = new UIntPtr (value);
+                               }
+                       }
+               }
+
+               public int Views {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("views"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("views"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public Gst.Video.VideoChromaSite ChromaSite {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("chroma_site"));
+                                       return (Gst.Video.VideoChromaSite) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("chroma_site"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public Gst.Video.VideoColorimetry Colorimetry {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("colorimetry"));
+                                       return Gst.Video.VideoColorimetry.New ((*raw_ptr));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("colorimetry"));
+                                       *raw_ptr = GLib.Marshaller.StructureToPtrAlloc (value);
+                               }
+                       }
+               }
+
+               public int ParN {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("par_n"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("par_n"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int ParD {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("par_d"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("par_d"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int FpsN {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("fps_n"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("fps_n"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int FpsD {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("fps_d"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("fps_d"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_info_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_info_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_info_align(IntPtr raw, IntPtr align);
+
+               public bool Align(Gst.Video.VideoAlignment align) {
+                       IntPtr native_align = GLib.Marshaller.StructureToPtrAlloc (align);
+                       bool raw_ret = gst_video_info_align(Handle, native_align);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_align);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_info_convert(IntPtr raw, int src_format, long src_value, int dest_format, long dest_value);
+
+               public bool Convert(Gst.Format src_format, long src_value, Gst.Format dest_format, long dest_value) {
+                       bool raw_ret = gst_video_info_convert(Handle, (int) src_format, src_value, (int) dest_format, dest_value);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_info_copy(IntPtr raw);
+
+               public Gst.Video.VideoInfo Copy() {
+                       IntPtr raw_ret = gst_video_info_copy(Handle);
+                       Gst.Video.VideoInfo ret = raw_ret == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Video.VideoInfo), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_info_from_caps(IntPtr raw, IntPtr caps);
+
+               public bool FromCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_video_info_from_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_info_init(IntPtr raw);
+
+               public void Init() {
+                       gst_video_info_init(Handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_info_is_equal(IntPtr raw, IntPtr other);
+
+               public bool IsEqual(Gst.Video.VideoInfo other) {
+                       bool raw_ret = gst_video_info_is_equal(Handle, other == null ? IntPtr.Zero : other.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_info_set_format(IntPtr raw, int format, uint width, uint height);
+
+               public bool SetFormat(Gst.Video.VideoFormat format, uint width, uint height) {
+                       bool raw_ret = gst_video_info_set_format(Handle, (int) format, width, height);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_info_to_caps(IntPtr raw);
+
+               public Gst.Caps ToCaps() {
+                       IntPtr raw_ret = gst_video_info_to_caps(Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public VideoInfo(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_info_new();
+
+               public VideoInfo () 
+               {
+                       Raw = gst_video_info_new();
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_info_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_video_info_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_video_info_free (handle);
+                               return false;
+                       }
+               }
+
+               ~VideoInfo ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("finfo"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // finfo
+                                                       , null
+                                                       , "interlace_mode"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("interlace_mode"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Video.VideoInterlaceMode))) // interlace_mode
+                                                       , "finfo"
+                                                       , "flags"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_interlace_modeAlign), "interlace_mode")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flags"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Video.VideoFlags))) // flags
+                                                       , "interlace_mode"
+                                                       , "width"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_flagsAlign), "flags")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("width"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // width
+                                                       , "flags"
+                                                       , "height"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_widthAlign), "width")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("height"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // height
+                                                       , "width"
+                                                       , "size"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_heightAlign), "height")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // size
+                                                       , "height"
+                                                       , "views"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_sizeAlign), "size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("views"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // views
+                                                       , "size"
+                                                       , "chroma_site"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_viewsAlign), "views")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("chroma_site"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Video.VideoChromaSite))) // chroma_site
+                                                       , "views"
+                                                       , "colorimetry"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_chroma_siteAlign), "chroma_site")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("colorimetry"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(Gst.Video.VideoColorimetry)) // colorimetry
+                                                       , "chroma_site"
+                                                       , "par_n"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_colorimetryAlign), "colorimetry")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("par_n"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // par_n
+                                                       , "colorimetry"
+                                                       , "par_d"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_par_nAlign), "par_n")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("par_d"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // par_d
+                                                       , "par_n"
+                                                       , "fps_n"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_par_dAlign), "par_d")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("fps_n"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // fps_n
+                                                       , "par_d"
+                                                       , "fps_d"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_fps_nAlign), "fps_n")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("fps_d"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // fps_d
+                                                       , "fps_n"
+                                                       , "offset"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_fps_dAlign), "fps_d")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("offset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) * 4 // offset
+                                                       , "fps_d"
+                                                       , "stride"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_offsetAlign), "offset")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stride"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) * 4 // stride
+                                                       , "offset"
+                                                       , "ABI"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoInfo_strideAlign), "stride")
+                                                       , 0
+                                                       ),
+                                               // union struct ABI.abi
+                                                       new GLib.AbiField("ABI.abi.multiview_mode"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Video.VideoMultiviewMode))) // ABI.abi.multiview_mode
+                                                               , "stride"
+                                                               , "ABI.abi.multiview_flags"
+                                                               , (long) Marshal.OffsetOf(typeof(GstVideoInfo_ABI_abi_multiview_modeAlign), "ABI_abi_multiview_mode")
+                                                               , 0
+                                                               ),
+                                                       new GLib.AbiField("ABI.abi.multiview_flags"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Video.VideoMultiviewFlags))) // ABI.abi.multiview_flags
+                                                               , "ABI.abi.multiview_mode"
+                                                               , "ABI.abi.field_order"
+                                                               , (long) Marshal.OffsetOf(typeof(GstVideoInfo_ABI_abi_multiview_flagsAlign), "ABI_abi_multiview_flags")
+                                                               , 0
+                                                               ),
+                                                       new GLib.AbiField("ABI.abi.field_order"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.Video.VideoFieldOrder))) // ABI.abi.field_order
+                                                               , "ABI.abi.multiview_flags"
+                                                               , null
+                                                               , (long) Marshal.OffsetOf(typeof(GstVideoInfo_ABI_abi_field_orderAlign), "ABI_abi_field_order")
+                                                               , 0
+                                                               ),
+                                               // End ABI.abi
+
+                                               // union struct ABI
+                                                       new GLib.AbiField("ABI._gst_reserved"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // ABI._gst_reserved
+                                                               , "stride"
+                                                               , null
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                               , 0
+                                                               ),
+                                               // End ABI
+
+                                               new GLib.AbiField("ABI"
+                                                       , -1
+                                                       , new List<List<string>>() {  // union ABI
+                                               new List<string>() {"ABI.abi.multiview_mode","ABI.abi.multiview_flags","ABI.abi.field_order"},
+                                               new List<string>() {"ABI._gst_reserved"}
+                                         }
+                                                       , "stride"
+                                                       , null
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_interlace_modeAlign
+               {
+                       sbyte f1;
+                       private Gst.Video.VideoInterlaceMode interlace_mode;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_flagsAlign
+               {
+                       sbyte f1;
+                       private Gst.Video.VideoFlags flags;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_widthAlign
+               {
+                       sbyte f1;
+                       private int width;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_heightAlign
+               {
+                       sbyte f1;
+                       private int height;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_sizeAlign
+               {
+                       sbyte f1;
+                       private UIntPtr size;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_viewsAlign
+               {
+                       sbyte f1;
+                       private int views;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_chroma_siteAlign
+               {
+                       sbyte f1;
+                       private Gst.Video.VideoChromaSite chroma_site;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_colorimetryAlign
+               {
+                       sbyte f1;
+                       private Gst.Video.VideoColorimetry colorimetry;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_par_nAlign
+               {
+                       sbyte f1;
+                       private int par_n;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_par_dAlign
+               {
+                       sbyte f1;
+                       private int par_d;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_fps_nAlign
+               {
+                       sbyte f1;
+                       private int fps_n;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_fps_dAlign
+               {
+                       sbyte f1;
+                       private int fps_d;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_offsetAlign
+               {
+                       sbyte f1;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+                       private ulong[] offset;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_strideAlign
+               {
+                       sbyte f1;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+                       private int[] stride;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_ABI_abi_multiview_modeAlign
+               {
+                       sbyte f1;
+                       private Gst.Video.VideoMultiviewMode ABI_abi_multiview_mode;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_ABI_abi_multiview_flagsAlign
+               {
+                       sbyte f1;
+                       private Gst.Video.VideoMultiviewFlags ABI_abi_multiview_flags;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoInfo_ABI_abi_field_orderAlign
+               {
+                       sbyte f1;
+                       private Gst.Video.VideoFieldOrder ABI_abi_field_order;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoInterlaceMode.cs b/sources/generated/Gst.Video_VideoInterlaceMode.cs
new file mode 100644 (file)
index 0000000..d24852c
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoInterlaceModeGType))]
+       public enum VideoInterlaceMode {
+
+               Progressive = 0,
+               Interleaved = 1,
+               Mixed = 2,
+               Fields = 3,
+       }
+
+       internal class VideoInterlaceModeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_interlace_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_interlace_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoMatrixMode.cs b/sources/generated/Gst.Video_VideoMatrixMode.cs
new file mode 100644 (file)
index 0000000..9f2eb15
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoMatrixModeGType))]
+       public enum VideoMatrixMode {
+
+               Full = 0,
+               InputOnly = 1,
+               OutputOnly = 2,
+               None = 3,
+       }
+
+       internal class VideoMatrixModeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_matrix_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_matrix_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoMeta.cs b/sources/generated/Gst.Video_VideoMeta.cs
new file mode 100644 (file)
index 0000000..8a02e6b
--- /dev/null
@@ -0,0 +1,112 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoMeta : IEquatable<VideoMeta> {
+
+               public Gst.Meta Meta;
+               private IntPtr _buffer;
+               public Gst.Buffer Buffer {
+                       get {
+                               return _buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public Gst.Video.VideoFrameFlags Flags;
+               public Gst.Video.VideoFormat Format;
+               public int Id;
+               public uint Width;
+               public uint Height;
+               public uint NPlanes;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public ulong[] Offset;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public int[] Stride;
+               private IntPtr _map;
+               private IntPtr _unmap;
+
+               public static Gst.Video.VideoMeta Zero = new Gst.Video.VideoMeta ();
+
+               public static Gst.Video.VideoMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoMeta.Zero;
+                       return (Gst.Video.VideoMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoMeta));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_meta_map(IntPtr raw, uint plane, IntPtr info, IntPtr data, int stride, int flags);
+
+               public bool Map(uint plane, Gst.MapInfo info, IntPtr data, int stride, Gst.MapFlags flags) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       bool raw_ret = gst_video_meta_map(this_as_native, plane, native_info, data, stride, (int) flags);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_meta_unmap(IntPtr raw, uint plane, IntPtr info);
+
+               public bool Unmap(uint plane, Gst.MapInfo info) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       bool raw_ret = gst_video_meta_unmap(this_as_native, plane, native_info);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_video_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoMeta target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && Buffer.Equals (other.Buffer) && Flags.Equals (other.Flags) && Format.Equals (other.Format) && Id.Equals (other.Id) && Width.Equals (other.Width) && Height.Equals (other.Height) && NPlanes.Equals (other.NPlanes) && Offset.Equals (other.Offset) && Stride.Equals (other.Stride) && _map.Equals (other._map) && _unmap.Equals (other._unmap);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoMeta && Equals ((VideoMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Buffer.GetHashCode () ^ Flags.GetHashCode () ^ Format.GetHashCode () ^ Id.GetHashCode () ^ Width.GetHashCode () ^ Height.GetHashCode () ^ NPlanes.GetHashCode () ^ Offset.GetHashCode () ^ Stride.GetHashCode () ^ _map.GetHashCode () ^ _unmap.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoMetaTransform.cs b/sources/generated/Gst.Video_VideoMetaTransform.cs
new file mode 100644 (file)
index 0000000..592a624
--- /dev/null
@@ -0,0 +1,71 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoMetaTransform : IEquatable<VideoMetaTransform> {
+
+               private IntPtr _in_info;
+               public Gst.Video.VideoInfo InInfo {
+                       get {
+                               return _in_info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (_in_info, typeof (Gst.Video.VideoInfo), false);
+                       }
+                       set {
+                               _in_info = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _out_info;
+               public Gst.Video.VideoInfo OutInfo {
+                       get {
+                               return _out_info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (_out_info, typeof (Gst.Video.VideoInfo), false);
+                       }
+                       set {
+                               _out_info = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+
+               public static Gst.Video.VideoMetaTransform Zero = new Gst.Video.VideoMetaTransform ();
+
+               public static Gst.Video.VideoMetaTransform New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoMetaTransform.Zero;
+                       return (Gst.Video.VideoMetaTransform) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoMetaTransform));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_video_meta_transform_scale_get_quark();
+
+               public static uint ScaleGetQuark() {
+                       uint raw_ret = gst_video_meta_transform_scale_get_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               public bool Equals (VideoMetaTransform other)
+               {
+                       return true && InInfo.Equals (other.InInfo) && OutInfo.Equals (other.OutInfo);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoMetaTransform && Equals ((VideoMetaTransform) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ InInfo.GetHashCode () ^ OutInfo.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoMultiviewFlags.cs b/sources/generated/Gst.Video_VideoMultiviewFlags.cs
new file mode 100644 (file)
index 0000000..d65cadd
--- /dev/null
@@ -0,0 +1,35 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoMultiviewFlagsGType))]
+       public enum VideoMultiviewFlags {
+
+               None = 0,
+               RightViewFirst = 1,
+               LeftFlipped = 2,
+               LeftFlopped = 4,
+               RightFlipped = 8,
+               RightFlopped = 16,
+               HalfAspect = 16384,
+               MixedMono = 32768,
+       }
+
+       internal class VideoMultiviewFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_multiview_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoMultiviewFlagsSet.cs b/sources/generated/Gst.Video_VideoMultiviewFlagsSet.cs
new file mode 100644 (file)
index 0000000..0fc4c21
--- /dev/null
@@ -0,0 +1,44 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoMultiviewFlagsSet : Gst.FlagSet {
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_flagset_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_multiview_flagset_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public VideoMultiviewFlagsSet(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.FlagSet.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoMultiviewFramePacking.cs b/sources/generated/Gst.Video_VideoMultiviewFramePacking.cs
new file mode 100644 (file)
index 0000000..9429068
--- /dev/null
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoMultiviewFramePackingGType))]
+       public enum VideoMultiviewFramePacking {
+
+               None = -1,
+               Mono = 0,
+               Left = 1,
+               Right = 2,
+               SideBySide = 3,
+               SideBySideQuincunx = 4,
+               ColumnInterleaved = 5,
+               RowInterleaved = 6,
+               TopBottom = 7,
+               Checkerboard = 8,
+       }
+
+       internal class VideoMultiviewFramePackingGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_frame_packing_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_multiview_frame_packing_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoMultiviewMode.cs b/sources/generated/Gst.Video_VideoMultiviewMode.cs
new file mode 100644 (file)
index 0000000..7d6064e
--- /dev/null
@@ -0,0 +1,39 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoMultiviewModeGType))]
+       public enum VideoMultiviewMode {
+
+               None = -1,
+               Mono = 0,
+               Left = 1,
+               Right = 2,
+               SideBySide = 3,
+               SideBySideQuincunx = 4,
+               ColumnInterleaved = 5,
+               RowInterleaved = 6,
+               TopBottom = 7,
+               Checkerboard = 8,
+               FrameByFrame = 32,
+               MultiviewFrameByFrame = 33,
+               Separated = 34,
+       }
+
+       internal class VideoMultiviewModeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_multiview_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_multiview_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoOrientationAdapter.cs b/sources/generated/Gst.Video_VideoOrientationAdapter.cs
new file mode 100644 (file)
index 0000000..74ff47b
--- /dev/null
@@ -0,0 +1,342 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoOrientationAdapter : GLib.GInterfaceAdapter, Gst.Video.IVideoOrientation {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstVideoOrientationInterface {
+                       public GetHflipNativeDelegate GetHflip;
+                       public GetVflipNativeDelegate GetVflip;
+                       public GetHcenterNativeDelegate GetHcenter;
+                       public GetVcenterNativeDelegate GetVcenter;
+                       public SetHflipNativeDelegate SetHflip;
+                       public SetVflipNativeDelegate SetVflip;
+                       public SetHcenterNativeDelegate SetHcenter;
+                       public SetVcenterNativeDelegate SetVcenter;
+               }
+
+               static GstVideoOrientationInterface iface;
+
+               static VideoOrientationAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (VideoOrientationAdapter));
+                       iface.GetHflip = new GetHflipNativeDelegate (GetHflip_cb);
+                       iface.GetVflip = new GetVflipNativeDelegate (GetVflip_cb);
+                       iface.GetHcenter = new GetHcenterNativeDelegate (GetHcenter_cb);
+                       iface.GetVcenter = new GetVcenterNativeDelegate (GetVcenter_cb);
+                       iface.SetHflip = new SetHflipNativeDelegate (SetHflip_cb);
+                       iface.SetVflip = new SetVflipNativeDelegate (SetVflip_cb);
+                       iface.SetHcenter = new SetHcenterNativeDelegate (SetHcenter_cb);
+                       iface.SetVcenter = new SetVcenterNativeDelegate (SetVcenter_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool GetHflipNativeDelegate (IntPtr inst, bool flip);
+
+               static bool GetHflip_cb (IntPtr inst, bool flip)
+               {
+                       try {
+                               IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+                               bool __result;
+                               __result = __obj.GetHflip (flip);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool GetVflipNativeDelegate (IntPtr inst, bool flip);
+
+               static bool GetVflip_cb (IntPtr inst, bool flip)
+               {
+                       try {
+                               IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+                               bool __result;
+                               __result = __obj.GetVflip (flip);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool GetHcenterNativeDelegate (IntPtr inst, int center);
+
+               static bool GetHcenter_cb (IntPtr inst, int center)
+               {
+                       try {
+                               IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+                               bool __result;
+                               __result = __obj.GetHcenter (center);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool GetVcenterNativeDelegate (IntPtr inst, int center);
+
+               static bool GetVcenter_cb (IntPtr inst, int center)
+               {
+                       try {
+                               IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+                               bool __result;
+                               __result = __obj.GetVcenter (center);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetHflipNativeDelegate (IntPtr inst, bool flip);
+
+               static bool SetHflip_cb (IntPtr inst, bool flip)
+               {
+                       try {
+                               IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+                               bool __result;
+                               __result = __obj.SetHflip (flip);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetVflipNativeDelegate (IntPtr inst, bool flip);
+
+               static bool SetVflip_cb (IntPtr inst, bool flip)
+               {
+                       try {
+                               IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+                               bool __result;
+                               __result = __obj.SetVflip (flip);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetHcenterNativeDelegate (IntPtr inst, int center);
+
+               static bool SetHcenter_cb (IntPtr inst, int center)
+               {
+                       try {
+                               IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+                               bool __result;
+                               __result = __obj.SetHcenter (center);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetVcenterNativeDelegate (IntPtr inst, int center);
+
+               static bool SetVcenter_cb (IntPtr inst, int center)
+               {
+                       try {
+                               IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+                               bool __result;
+                               __result = __obj.SetVcenter (center);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GstVideoOrientationInterface native_iface = (GstVideoOrientationInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstVideoOrientationInterface));
+                       native_iface.GetHflip = iface.GetHflip;
+                       native_iface.GetVflip = iface.GetVflip;
+                       native_iface.GetHcenter = iface.GetHcenter;
+                       native_iface.GetVcenter = iface.GetVcenter;
+                       native_iface.SetHflip = iface.SetHflip;
+                       native_iface.SetVflip = iface.SetVflip;
+                       native_iface.SetHcenter = iface.SetHcenter;
+                       native_iface.SetVcenter = iface.SetVcenter;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public VideoOrientationAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public VideoOrientationAdapter (IVideoOrientationImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public VideoOrientationAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_orientation_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_video_orientation_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IVideoOrientation GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IVideoOrientation GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IVideoOrientationImplementor)
+                               return new VideoOrientationAdapter (obj as IVideoOrientationImplementor);
+                       else if (obj as IVideoOrientation == null)
+                               return new VideoOrientationAdapter (obj.Handle);
+                       else
+                               return obj as IVideoOrientation;
+               }
+
+               public IVideoOrientationImplementor Implementor {
+                       get {
+                               return implementor as IVideoOrientationImplementor;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_orientation_get_hcenter(IntPtr raw, int center);
+
+               public bool GetHcenter(int center) {
+                       bool raw_ret = gst_video_orientation_get_hcenter(Handle, center);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_orientation_get_hflip(IntPtr raw, bool flip);
+
+               public bool GetHflip(bool flip) {
+                       bool raw_ret = gst_video_orientation_get_hflip(Handle, flip);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_orientation_get_vcenter(IntPtr raw, int center);
+
+               public bool GetVcenter(int center) {
+                       bool raw_ret = gst_video_orientation_get_vcenter(Handle, center);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_orientation_get_vflip(IntPtr raw, bool flip);
+
+               public bool GetVflip(bool flip) {
+                       bool raw_ret = gst_video_orientation_get_vflip(Handle, flip);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_orientation_set_hcenter(IntPtr raw, int center);
+
+               public bool SetHcenter(int center) {
+                       bool raw_ret = gst_video_orientation_set_hcenter(Handle, center);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_orientation_set_hflip(IntPtr raw, bool flip);
+
+               public bool SetHflip(bool flip) {
+                       bool raw_ret = gst_video_orientation_set_hflip(Handle, flip);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_orientation_set_vcenter(IntPtr raw, int center);
+
+               public bool SetVcenter(int center) {
+                       bool raw_ret = gst_video_orientation_set_vcenter(Handle, center);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_orientation_set_vflip(IntPtr raw, bool flip);
+
+               public bool SetVflip(bool flip) {
+                       bool raw_ret = gst_video_orientation_set_vflip(Handle, flip);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoOrientationMethod.cs b/sources/generated/Gst.Video_VideoOrientationMethod.cs
new file mode 100644 (file)
index 0000000..2cb3326
--- /dev/null
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoOrientationMethodGType))]
+       public enum VideoOrientationMethod {
+
+               Identity = 0,
+               _90r = 1,
+               _180 = 2,
+               _90l = 3,
+               Horiz = 4,
+               Vert = 5,
+               UlLr = 6,
+               UrLl = 7,
+               Auto = 8,
+               Custom = 9,
+       }
+
+       internal class VideoOrientationMethodGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_orientation_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_orientation_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoOverlayAdapter.cs b/sources/generated/Gst.Video_VideoOverlayAdapter.cs
new file mode 100644 (file)
index 0000000..d72113d
--- /dev/null
@@ -0,0 +1,220 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoOverlayAdapter : GLib.GInterfaceAdapter, Gst.Video.IVideoOverlay {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstVideoOverlayInterface {
+                       public ExposeNativeDelegate Expose;
+                       public HandleEventsNativeDelegate HandleEvents;
+                       public SetRenderRectangleNativeDelegate SetRenderRectangle;
+                       public SetWindowHandleNativeDelegate SetWindowHandle;
+               }
+
+               static GstVideoOverlayInterface iface;
+
+               static VideoOverlayAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (VideoOverlayAdapter));
+                       iface.Expose = new ExposeNativeDelegate (Expose_cb);
+                       iface.HandleEvents = new HandleEventsNativeDelegate (HandleEvents_cb);
+                       iface.SetRenderRectangle = new SetRenderRectangleNativeDelegate (SetRenderRectangle_cb);
+                       iface.SetWindowHandle = new SetWindowHandleNativeDelegate (SetWindowHandle_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ExposeNativeDelegate (IntPtr inst);
+
+               static void Expose_cb (IntPtr inst)
+               {
+                       try {
+                               IVideoOverlayImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOverlayImplementor;
+                               __obj.Expose ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void HandleEventsNativeDelegate (IntPtr inst, bool handle_events);
+
+               static void HandleEvents_cb (IntPtr inst, bool handle_events)
+               {
+                       try {
+                               IVideoOverlayImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOverlayImplementor;
+                               __obj.HandleEvents (handle_events);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SetRenderRectangleNativeDelegate (IntPtr inst, int x, int y, int width, int height);
+
+               static void SetRenderRectangle_cb (IntPtr inst, int x, int y, int width, int height)
+               {
+                       try {
+                               IVideoOverlayImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOverlayImplementor;
+                               __obj.SetRenderRectangle (x, y, width, height);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SetWindowHandleNativeDelegate (IntPtr inst, IntPtr handle);
+
+               static void SetWindowHandle_cb (IntPtr inst, IntPtr handle)
+               {
+                       try {
+                               IVideoOverlayImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOverlayImplementor;
+                               __obj.WindowHandle = handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GstVideoOverlayInterface native_iface = (GstVideoOverlayInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstVideoOverlayInterface));
+                       native_iface.Expose = iface.Expose;
+                       native_iface.HandleEvents = iface.HandleEvents;
+                       native_iface.SetRenderRectangle = iface.SetRenderRectangle;
+                       native_iface.SetWindowHandle = iface.SetWindowHandle;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public VideoOverlayAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public VideoOverlayAdapter (IVideoOverlayImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public VideoOverlayAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_video_overlay_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IVideoOverlay GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IVideoOverlay GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IVideoOverlayImplementor)
+                               return new VideoOverlayAdapter (obj as IVideoOverlayImplementor);
+                       else if (obj as IVideoOverlay == null)
+                               return new VideoOverlayAdapter (obj.Handle);
+                       else
+                               return obj as IVideoOverlay;
+               }
+
+               public IVideoOverlayImplementor Implementor {
+                       get {
+                               return implementor as IVideoOverlayImplementor;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_expose(IntPtr raw);
+
+               public void Expose() {
+                       gst_video_overlay_expose(Handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_got_window_handle(IntPtr raw, IntPtr handle);
+
+               public void GotWindowHandle(IntPtr handle) {
+                       gst_video_overlay_got_window_handle(Handle, handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_handle_events(IntPtr raw, bool handle_events);
+
+               public void HandleEvents(bool handle_events) {
+                       gst_video_overlay_handle_events(Handle, handle_events);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_prepare_window_handle(IntPtr raw);
+
+               public void PrepareWindowHandle() {
+                       gst_video_overlay_prepare_window_handle(Handle);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_overlay_set_render_rectangle(IntPtr raw, int x, int y, int width, int height);
+
+               public bool SetRenderRectangle(int x, int y, int width, int height) {
+                       bool raw_ret = gst_video_overlay_set_render_rectangle(Handle, x, y, width, height);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_set_window_handle(IntPtr raw, IntPtr handle);
+
+               public IntPtr WindowHandle { 
+                       set {
+                               gst_video_overlay_set_window_handle(Handle, value);
+                       }
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoOverlayComposition.cs b/sources/generated/Gst.Video_VideoOverlayComposition.cs
new file mode 100644 (file)
index 0000000..66b2638
--- /dev/null
@@ -0,0 +1,158 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoOverlayComposition : IEquatable<VideoOverlayComposition> {
+
+
+               public static Gst.Video.VideoOverlayComposition Zero = new Gst.Video.VideoOverlayComposition ();
+
+               public static Gst.Video.VideoOverlayComposition New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoOverlayComposition.Zero;
+                       return (Gst.Video.VideoOverlayComposition) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoOverlayComposition));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_composition_new(IntPtr rectangle);
+
+               public static VideoOverlayComposition New(Gst.Video.VideoOverlayRectangle rectangle)
+               {
+                       VideoOverlayComposition result = VideoOverlayComposition.New (gst_video_overlay_composition_new(rectangle == null ? IntPtr.Zero : rectangle.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_composition_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_overlay_composition_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_composition_add_rectangle(IntPtr raw, IntPtr rectangle);
+
+               public void AddRectangle(Gst.Video.VideoOverlayRectangle rectangle) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_overlay_composition_add_rectangle(this_as_native, rectangle == null ? IntPtr.Zero : rectangle.Handle);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_overlay_composition_blend(IntPtr raw, IntPtr video_buf);
+
+               public bool Blend(Gst.Video.VideoFrame video_buf) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_video_buf = GLib.Marshaller.StructureToPtrAlloc (video_buf);
+                       bool raw_ret = gst_video_overlay_composition_blend(this_as_native, native_video_buf);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_video_buf);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_composition_get_rectangle(IntPtr raw, uint n);
+
+               public Gst.Video.VideoOverlayRectangle GetRectangle(uint n) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_video_overlay_composition_get_rectangle(this_as_native, n);
+                       Gst.Video.VideoOverlayRectangle ret = raw_ret == IntPtr.Zero ? null : (Gst.Video.VideoOverlayRectangle) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Video.VideoOverlayRectangle), false);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_video_overlay_composition_get_seqnum(IntPtr raw);
+
+               public uint Seqnum { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_video_overlay_composition_get_seqnum(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_composition_make_writable(IntPtr raw);
+
+               public Gst.Video.VideoOverlayComposition MakeWritable() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_video_overlay_composition_make_writable(this_as_native);
+                       Gst.Video.VideoOverlayComposition ret = Gst.Video.VideoOverlayComposition.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_video_overlay_composition_n_rectangles(IntPtr raw);
+
+               public uint NRectangles() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_video_overlay_composition_n_rectangles(this_as_native);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoOverlayComposition target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoOverlayComposition other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoOverlayComposition && Equals ((VideoOverlayComposition) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Video.VideoOverlayComposition boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Video.VideoOverlayComposition.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Video.VideoOverlayComposition (GLib.Value val)
+               {
+                       return (Gst.Video.VideoOverlayComposition) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoOverlayCompositionMeta.cs b/sources/generated/Gst.Video_VideoOverlayCompositionMeta.cs
new file mode 100644 (file)
index 0000000..a84948f
--- /dev/null
@@ -0,0 +1,61 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoOverlayCompositionMeta : IEquatable<VideoOverlayCompositionMeta> {
+
+               public Gst.Meta Meta;
+               private IntPtr _overlay;
+
+               public Gst.Video.VideoOverlayComposition overlay {
+                       get { return Gst.Video.VideoOverlayComposition.New (_overlay); }
+               }
+
+               public static Gst.Video.VideoOverlayCompositionMeta Zero = new Gst.Video.VideoOverlayCompositionMeta ();
+
+               public static Gst.Video.VideoOverlayCompositionMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoOverlayCompositionMeta.Zero;
+                       return (Gst.Video.VideoOverlayCompositionMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoOverlayCompositionMeta));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_composition_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_video_overlay_composition_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (VideoOverlayCompositionMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && overlay.Equals (other.overlay);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoOverlayCompositionMeta && Equals ((VideoOverlayCompositionMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ overlay.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoOverlayFormatFlags.cs b/sources/generated/Gst.Video_VideoOverlayFormatFlags.cs
new file mode 100644 (file)
index 0000000..690581f
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum VideoOverlayFormatFlags {
+
+               None = 0,
+               PremultipliedAlpha = 1,
+               GlobalAlpha = 2,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoOverlayRectangle.cs b/sources/generated/Gst.Video_VideoOverlayRectangle.cs
new file mode 100644 (file)
index 0000000..95b32ed
--- /dev/null
@@ -0,0 +1,171 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoOverlayRectangle : GLib.Opaque {
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_overlay_rectangle_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_copy(IntPtr raw);
+
+               public Gst.Video.VideoOverlayRectangle Copy() {
+                       IntPtr raw_ret = gst_video_overlay_rectangle_copy(Handle);
+                       Gst.Video.VideoOverlayRectangle ret = raw_ret == IntPtr.Zero ? null : (Gst.Video.VideoOverlayRectangle) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Video.VideoOverlayRectangle), true);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_overlay_rectangle_get_flags(IntPtr raw);
+
+               public Gst.Video.VideoOverlayFormatFlags Flags { 
+                       get {
+                               int raw_ret = gst_video_overlay_rectangle_get_flags(Handle);
+                               Gst.Video.VideoOverlayFormatFlags ret = (Gst.Video.VideoOverlayFormatFlags) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern float gst_video_overlay_rectangle_get_global_alpha(IntPtr raw);
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_rectangle_set_global_alpha(IntPtr raw, float global_alpha);
+
+               public float GlobalAlpha { 
+                       get {
+                               float raw_ret = gst_video_overlay_rectangle_get_global_alpha(Handle);
+                               float ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_video_overlay_rectangle_set_global_alpha(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_get_pixels_argb(IntPtr raw, int flags);
+
+               public Gst.Buffer GetPixelsArgb(Gst.Video.VideoOverlayFormatFlags flags) {
+                       IntPtr raw_ret = gst_video_overlay_rectangle_get_pixels_argb(Handle, (int) flags);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_get_pixels_ayuv(IntPtr raw, int flags);
+
+               public Gst.Buffer GetPixelsAyuv(Gst.Video.VideoOverlayFormatFlags flags) {
+                       IntPtr raw_ret = gst_video_overlay_rectangle_get_pixels_ayuv(Handle, (int) flags);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_get_pixels_raw(IntPtr raw, int flags);
+
+               public Gst.Buffer GetPixelsRaw(Gst.Video.VideoOverlayFormatFlags flags) {
+                       IntPtr raw_ret = gst_video_overlay_rectangle_get_pixels_raw(Handle, (int) flags);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_get_pixels_unscaled_argb(IntPtr raw, int flags);
+
+               public Gst.Buffer GetPixelsUnscaledArgb(Gst.Video.VideoOverlayFormatFlags flags) {
+                       IntPtr raw_ret = gst_video_overlay_rectangle_get_pixels_unscaled_argb(Handle, (int) flags);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_get_pixels_unscaled_ayuv(IntPtr raw, int flags);
+
+               public Gst.Buffer GetPixelsUnscaledAyuv(Gst.Video.VideoOverlayFormatFlags flags) {
+                       IntPtr raw_ret = gst_video_overlay_rectangle_get_pixels_unscaled_ayuv(Handle, (int) flags);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_get_pixels_unscaled_raw(IntPtr raw, int flags);
+
+               public Gst.Buffer GetPixelsUnscaledRaw(Gst.Video.VideoOverlayFormatFlags flags) {
+                       IntPtr raw_ret = gst_video_overlay_rectangle_get_pixels_unscaled_raw(Handle, (int) flags);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_overlay_rectangle_get_render_rectangle(IntPtr raw, out int render_x, out int render_y, out uint render_width, out uint render_height);
+
+               public bool GetRenderRectangle(out int render_x, out int render_y, out uint render_width, out uint render_height) {
+                       bool raw_ret = gst_video_overlay_rectangle_get_render_rectangle(Handle, out render_x, out render_y, out render_width, out render_height);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_video_overlay_rectangle_get_seqnum(IntPtr raw);
+
+               public uint Seqnum { 
+                       get {
+                               uint raw_ret = gst_video_overlay_rectangle_get_seqnum(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_overlay_rectangle_set_render_rectangle(IntPtr raw, int render_x, int render_y, uint render_width, uint render_height);
+
+               public void SetRenderRectangle(int render_x, int render_y, uint render_width, uint render_height) {
+                       gst_video_overlay_rectangle_set_render_rectangle(Handle, render_x, render_y, render_width, render_height);
+               }
+
+               public VideoOverlayRectangle(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_overlay_rectangle_new_raw(IntPtr pixels, int render_x, int render_y, uint render_width, uint render_height, int flags);
+
+               public VideoOverlayRectangle (Gst.Buffer pixels, int render_x, int render_y, uint render_width, uint render_height, Gst.Video.VideoOverlayFormatFlags flags) 
+               {
+                       Raw = gst_video_overlay_rectangle_new_raw(pixels == null ? IntPtr.Zero : pixels.Handle, render_x, render_y, render_width, render_height, (int) flags);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoPackFlags.cs b/sources/generated/Gst.Video_VideoPackFlags.cs
new file mode 100644 (file)
index 0000000..9efccb5
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoPackFlagsGType))]
+       public enum VideoPackFlags {
+
+               None = 0,
+               TruncateRange = 1,
+               Interlaced = 2,
+       }
+
+       internal class VideoPackFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_pack_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_pack_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoPrimariesMode.cs b/sources/generated/Gst.Video_VideoPrimariesMode.cs
new file mode 100644 (file)
index 0000000..5c34ed6
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoPrimariesModeGType))]
+       public enum VideoPrimariesMode {
+
+               None = 0,
+               MergeOnly = 1,
+               Fast = 2,
+       }
+
+       internal class VideoPrimariesModeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_primaries_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_primaries_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoRectangle.cs b/sources/generated/Gst.Video_VideoRectangle.cs
new file mode 100644 (file)
index 0000000..4fcdcc5
--- /dev/null
@@ -0,0 +1,48 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoRectangle : IEquatable<VideoRectangle> {
+
+               public int X;
+               public int Y;
+               public int W;
+               public int H;
+
+               public static Gst.Video.VideoRectangle Zero = new Gst.Video.VideoRectangle ();
+
+               public static Gst.Video.VideoRectangle New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoRectangle.Zero;
+                       return (Gst.Video.VideoRectangle) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoRectangle));
+               }
+
+               public bool Equals (VideoRectangle other)
+               {
+                       return true && X.Equals (other.X) && Y.Equals (other.Y) && W.Equals (other.W) && H.Equals (other.H);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoRectangle && Equals ((VideoRectangle) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ X.GetHashCode () ^ Y.GetHashCode () ^ W.GetHashCode () ^ H.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoRegionOfInterestMeta.cs b/sources/generated/Gst.Video_VideoRegionOfInterestMeta.cs
new file mode 100644 (file)
index 0000000..22fcaea
--- /dev/null
@@ -0,0 +1,63 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoRegionOfInterestMeta : IEquatable<VideoRegionOfInterestMeta> {
+
+               public Gst.Meta Meta;
+               public uint RoiType;
+               public int Id;
+               public int ParentId;
+               public uint X;
+               public uint Y;
+               public uint W;
+               public uint H;
+
+               public static Gst.Video.VideoRegionOfInterestMeta Zero = new Gst.Video.VideoRegionOfInterestMeta ();
+
+               public static Gst.Video.VideoRegionOfInterestMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoRegionOfInterestMeta.Zero;
+                       return (Gst.Video.VideoRegionOfInterestMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoRegionOfInterestMeta));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_region_of_interest_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_video_region_of_interest_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (VideoRegionOfInterestMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && RoiType.Equals (other.RoiType) && Id.Equals (other.Id) && ParentId.Equals (other.ParentId) && X.Equals (other.X) && Y.Equals (other.Y) && W.Equals (other.W) && H.Equals (other.H);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoRegionOfInterestMeta && Equals ((VideoRegionOfInterestMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ RoiType.GetHashCode () ^ Id.GetHashCode () ^ ParentId.GetHashCode () ^ X.GetHashCode () ^ Y.GetHashCode () ^ W.GetHashCode () ^ H.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoResampler.cs b/sources/generated/Gst.Video_VideoResampler.cs
new file mode 100644 (file)
index 0000000..8e4a718
--- /dev/null
@@ -0,0 +1,83 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoResampler : IEquatable<VideoResampler> {
+
+               public int InSize;
+               public int OutSize;
+               public uint MaxTaps;
+               public uint NPhases;
+               public uint Offset;
+               private IntPtr _phase;
+               private IntPtr _n_taps;
+               private IntPtr _taps;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Video.VideoResampler Zero = new Gst.Video.VideoResampler ();
+
+               public static Gst.Video.VideoResampler New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoResampler.Zero;
+                       return (Gst.Video.VideoResampler) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoResampler));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_resampler_clear(IntPtr raw);
+
+               public void Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_resampler_clear(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_resampler_init(IntPtr raw, int method, int flags, uint n_phases, uint n_taps, double shift, uint in_size, uint out_size, IntPtr options);
+
+               public bool Init(Gst.Video.VideoResamplerMethod method, Gst.Video.VideoResamplerFlags flags, uint n_phases, uint n_taps, double shift, uint in_size, uint out_size, Gst.Structure options) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_video_resampler_init(this_as_native, (int) method, (int) flags, n_phases, n_taps, shift, in_size, out_size, options == null ? IntPtr.Zero : options.Handle);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoResampler target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoResampler other)
+               {
+                       return true && InSize.Equals (other.InSize) && OutSize.Equals (other.OutSize) && MaxTaps.Equals (other.MaxTaps) && NPhases.Equals (other.NPhases) && Offset.Equals (other.Offset) && _phase.Equals (other._phase) && _n_taps.Equals (other._n_taps) && _taps.Equals (other._taps);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoResampler && Equals ((VideoResampler) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ InSize.GetHashCode () ^ OutSize.GetHashCode () ^ MaxTaps.GetHashCode () ^ NPhases.GetHashCode () ^ Offset.GetHashCode () ^ _phase.GetHashCode () ^ _n_taps.GetHashCode () ^ _taps.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoResamplerFlags.cs b/sources/generated/Gst.Video_VideoResamplerFlags.cs
new file mode 100644 (file)
index 0000000..d509113
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoResamplerFlagsGType))]
+       public enum VideoResamplerFlags {
+
+               None = 0,
+               HalfTaps = 1,
+       }
+
+       internal class VideoResamplerFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_resampler_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_resampler_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoResamplerMethod.cs b/sources/generated/Gst.Video_VideoResamplerMethod.cs
new file mode 100644 (file)
index 0000000..75c0c33
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoResamplerMethodGType))]
+       public enum VideoResamplerMethod {
+
+               Nearest = 0,
+               Linear = 1,
+               Cubic = 2,
+               Sinc = 3,
+               Lanczos = 4,
+       }
+
+       internal class VideoResamplerMethodGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_resampler_method_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_resampler_method_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoScaler.cs b/sources/generated/Gst.Video_VideoScaler.cs
new file mode 100644 (file)
index 0000000..8ff3dbd
--- /dev/null
@@ -0,0 +1,118 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoScaler : GLib.Opaque {
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_scaler_2d(IntPtr raw, IntPtr vscale, int format, IntPtr src, int src_stride, IntPtr dest, int dest_stride, uint x, uint y, uint width, uint height);
+
+               public void TwoD(Gst.Video.VideoScaler vscale, Gst.Video.VideoFormat format, IntPtr src, int src_stride, IntPtr dest, int dest_stride, uint x, uint y, uint width, uint height) {
+                       gst_video_scaler_2d(Handle, vscale == null ? IntPtr.Zero : vscale.Handle, (int) format, src, src_stride, dest, dest_stride, x, y, width, height);
+               }
+
+               public void TwoD(Gst.Video.VideoScaler vscale, Gst.Video.VideoFormat format, int src_stride, int dest_stride, uint x, uint y, uint width, uint height) {
+                       TwoD (vscale, format, IntPtr.Zero, src_stride, IntPtr.Zero, dest_stride, x, y, width, height);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_video_scaler_get_coeff(IntPtr raw, uint out_offset, uint in_offset, uint n_taps);
+
+               public double GetCoeff(uint out_offset, uint in_offset, uint n_taps) {
+                       double raw_ret = gst_video_scaler_get_coeff(Handle, out_offset, in_offset, n_taps);
+                       double ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_video_scaler_get_max_taps(IntPtr raw);
+
+               public uint MaxTaps { 
+                       get {
+                               uint raw_ret = gst_video_scaler_get_max_taps(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_scaler_horizontal(IntPtr raw, int format, IntPtr src, IntPtr dest, uint dest_offset, uint width);
+
+               public void Horizontal(Gst.Video.VideoFormat format, IntPtr src, IntPtr dest, uint dest_offset, uint width) {
+                       gst_video_scaler_horizontal(Handle, (int) format, src, dest, dest_offset, width);
+               }
+
+               public void Horizontal(Gst.Video.VideoFormat format, uint dest_offset, uint width) {
+                       Horizontal (format, IntPtr.Zero, IntPtr.Zero, dest_offset, width);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_scaler_vertical(IntPtr raw, int format, IntPtr src_lines, IntPtr dest, uint dest_offset, uint width);
+
+               public void Vertical(Gst.Video.VideoFormat format, IntPtr src_lines, IntPtr dest, uint dest_offset, uint width) {
+                       gst_video_scaler_vertical(Handle, (int) format, src_lines, dest, dest_offset, width);
+               }
+
+               public void Vertical(Gst.Video.VideoFormat format, uint dest_offset, uint width) {
+                       Vertical (format, IntPtr.Zero, IntPtr.Zero, dest_offset, width);
+               }
+
+               public VideoScaler(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_scaler_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_video_scaler_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_video_scaler_free (handle);
+                               return false;
+                       }
+               }
+
+               ~VideoScaler ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoScalerFlags.cs b/sources/generated/Gst.Video_VideoScalerFlags.cs
new file mode 100644 (file)
index 0000000..5d90920
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.Video.VideoScalerFlagsGType))]
+       public enum VideoScalerFlags {
+
+               None = 0,
+               Interlaced = 1,
+       }
+
+       internal class VideoScalerFlagsGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_scaler_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_scaler_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoSink.cs b/sources/generated/Gst.Video_VideoSink.cs
new file mode 100644 (file)
index 0000000..5314660
--- /dev/null
@@ -0,0 +1,237 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class VideoSink : Gst.Base.BaseSink {
+
+               public VideoSink (IntPtr raw) : base(raw) {}
+
+               protected VideoSink() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("show-preroll-frame")]
+               public bool ShowPrerollFrame {
+                       get {
+                               GLib.Value val = GetProperty ("show-preroll-frame");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("show-preroll-frame", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public int Width {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("width"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public int Height {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("height"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               static ShowFrameNativeDelegate ShowFrame_cb_delegate;
+               static ShowFrameNativeDelegate ShowFrameVMCallback {
+                       get {
+                               if (ShowFrame_cb_delegate == null)
+                                       ShowFrame_cb_delegate = new ShowFrameNativeDelegate (ShowFrame_cb);
+                               return ShowFrame_cb_delegate;
+                       }
+               }
+
+               static void OverrideShowFrame (GLib.GType gtype)
+               {
+                       OverrideShowFrame (gtype, ShowFrameVMCallback);
+               }
+
+               static void OverrideShowFrame (GLib.GType gtype, ShowFrameNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("show_frame"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ShowFrameNativeDelegate (IntPtr inst, IntPtr buf);
+
+               static int ShowFrame_cb (IntPtr inst, IntPtr buf)
+               {
+                       try {
+                               VideoSink __obj = GLib.Object.GetObject (inst, false) as VideoSink;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnShowFrame (buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoSink), ConnectionMethod="OverrideShowFrame")]
+               protected virtual Gst.FlowReturn OnShowFrame (Gst.Buffer buf)
+               {
+                       return InternalShowFrame (buf);
+               }
+
+               private Gst.FlowReturn InternalShowFrame (Gst.Buffer buf)
+               {
+                       ShowFrameNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("show_frame"));
+                               unmanaged = (ShowFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ShowFrameNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       int __result = unmanaged (this.Handle, buf == null ? IntPtr.Zero : buf.Handle);
+                       return (Gst.FlowReturn) __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("show_frame"
+                                                       , Gst.Base.BaseSink.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // show_frame
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "show_frame"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_sink_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_sink_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_sink_center_rect(IntPtr src, IntPtr dst, IntPtr _result, bool scaling);
+
+               public static void CenterRect(Gst.Video.VideoRectangle src, Gst.Video.VideoRectangle dst, Gst.Video.VideoRectangle _result, bool scaling) {
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       IntPtr native_dst = GLib.Marshaller.StructureToPtrAlloc (dst);
+                       IntPtr native__result = GLib.Marshaller.StructureToPtrAlloc (_result);
+                       gst_video_sink_center_rect(native_src, native_dst, native__result, scaling);
+                       Marshal.FreeHGlobal (native_src);
+                       Marshal.FreeHGlobal (native_dst);
+                       Marshal.FreeHGlobal (native__result);
+               }
+
+
+               static VideoSink ()
+               {
+                       GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+               }
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("width"
+                                                       , Gst.Base.BaseSink.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // width
+                                                       , null
+                                                       , "height"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoSink_widthAlign), "width")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("height"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // height
+                                                       , "width"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstVideoSink_heightAlign), "height")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "height"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoSink_widthAlign
+               {
+                       sbyte f1;
+                       private int width;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstVideoSink_heightAlign
+               {
+                       sbyte f1;
+                       private int height;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoTileMode.cs b/sources/generated/Gst.Video_VideoTileMode.cs
new file mode 100644 (file)
index 0000000..65767d0
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoTileModeGType))]
+       public enum VideoTileMode {
+
+               Unknown = 0,
+               Zflipz2x2 = 65536,
+       }
+
+       internal class VideoTileModeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_tile_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_tile_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoTileType.cs b/sources/generated/Gst.Video_VideoTileType.cs
new file mode 100644 (file)
index 0000000..ff064da
--- /dev/null
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoTileTypeGType))]
+       public enum VideoTileType {
+
+               Indexed = 0,
+       }
+
+       internal class VideoTileTypeGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_tile_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_tile_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoTimeCode.cs b/sources/generated/Gst.Video_VideoTimeCode.cs
new file mode 100644 (file)
index 0000000..90a1716
--- /dev/null
@@ -0,0 +1,265 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoTimeCode : IEquatable<VideoTimeCode> {
+
+               public Gst.Video.VideoTimeCodeConfig Config;
+               public uint Hours;
+               public uint Minutes;
+               public uint Seconds;
+               public uint Frames;
+               public uint FieldCount;
+
+               public static Gst.Video.VideoTimeCode Zero = new Gst.Video.VideoTimeCode ();
+
+               public static Gst.Video.VideoTimeCode New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoTimeCode.Zero;
+                       return (Gst.Video.VideoTimeCode) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoTimeCode));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_new(uint fps_n, uint fps_d, IntPtr latest_daily_jam, int flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count);
+
+               public static VideoTimeCode New(uint fps_n, uint fps_d, GLib.DateTime latest_daily_jam, Gst.Video.VideoTimeCodeFlags flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count)
+               {
+                       VideoTimeCode result = VideoTimeCode.New (gst_video_time_code_new(fps_n, fps_d, latest_daily_jam == null ? IntPtr.Zero : latest_daily_jam.Handle, (int) flags, hours, minutes, seconds, frames, field_count));
+                       return result;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_new_empty();
+
+               public static VideoTimeCode NewEmpty()
+               {
+                       VideoTimeCode result = VideoTimeCode.New (gst_video_time_code_new_empty());
+                       return result;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_new_from_date_time(uint fps_n, uint fps_d, IntPtr dt, int flags, uint field_count);
+
+               public static VideoTimeCode NewFromDateTime(uint fps_n, uint fps_d, GLib.DateTime dt, Gst.Video.VideoTimeCodeFlags flags, uint field_count)
+               {
+                       VideoTimeCode result = VideoTimeCode.New (gst_video_time_code_new_from_date_time(fps_n, fps_d, dt == null ? IntPtr.Zero : dt.Handle, (int) flags, field_count));
+                       return result;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_new_from_string(IntPtr tc_str);
+
+               public static VideoTimeCode NewFromString(string tc_str)
+               {
+                       IntPtr native_tc_str = GLib.Marshaller.StringToPtrGStrdup (tc_str);
+                       VideoTimeCode result = VideoTimeCode.New (gst_video_time_code_new_from_string(native_tc_str));
+                       GLib.Marshaller.Free (native_tc_str);
+                       return result;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_time_code_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_time_code_add_frames(IntPtr raw, long frames);
+
+               public void AddFrames(long frames) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_time_code_add_frames(this_as_native, frames);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_add_interval(IntPtr raw, IntPtr tc_inter);
+
+               public Gst.Video.VideoTimeCode AddInterval(Gst.Video.VideoTimeCodeInterval tc_inter) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_tc_inter = GLib.Marshaller.StructureToPtrAlloc (tc_inter);
+                       IntPtr raw_ret = gst_video_time_code_add_interval(this_as_native, native_tc_inter);
+                       Gst.Video.VideoTimeCode ret = Gst.Video.VideoTimeCode.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_tc_inter);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_time_code_clear(IntPtr raw);
+
+               public void Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_time_code_clear(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_video_time_code_compare(IntPtr raw, IntPtr tc2);
+
+               public int Compare(Gst.Video.VideoTimeCode tc2) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_tc2 = GLib.Marshaller.StructureToPtrAlloc (tc2);
+                       int raw_ret = gst_video_time_code_compare(this_as_native, native_tc2);
+                       int ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_tc2);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_video_time_code_frames_since_daily_jam(IntPtr raw);
+
+               public ulong FramesSinceDailyJam() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ulong raw_ret = gst_video_time_code_frames_since_daily_jam(this_as_native);
+                       ulong ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_time_code_increment_frame(IntPtr raw);
+
+               public void IncrementFrame() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_time_code_increment_frame(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_time_code_init(IntPtr raw, uint fps_n, uint fps_d, IntPtr latest_daily_jam, int flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count);
+
+               public void Init(uint fps_n, uint fps_d, GLib.DateTime latest_daily_jam, Gst.Video.VideoTimeCodeFlags flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_time_code_init(this_as_native, fps_n, fps_d, latest_daily_jam == null ? IntPtr.Zero : latest_daily_jam.Handle, (int) flags, hours, minutes, seconds, frames, field_count);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_time_code_init_from_date_time(IntPtr raw, uint fps_n, uint fps_d, IntPtr dt, int flags, uint field_count);
+
+               public void InitFromDateTime(uint fps_n, uint fps_d, GLib.DateTime dt, Gst.Video.VideoTimeCodeFlags flags, uint field_count) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_time_code_init_from_date_time(this_as_native, fps_n, fps_d, dt == null ? IntPtr.Zero : dt.Handle, (int) flags, field_count);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_video_time_code_is_valid(IntPtr raw);
+
+               public bool IsValid { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_video_time_code_is_valid(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_video_time_code_nsec_since_daily_jam(IntPtr raw);
+
+               public ulong NsecSinceDailyJam() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ulong raw_ret = gst_video_time_code_nsec_since_daily_jam(this_as_native);
+                       ulong ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_to_date_time(IntPtr raw);
+
+               public GLib.DateTime ToDateTime() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_video_time_code_to_date_time(this_as_native);
+                       GLib.DateTime ret = new GLib.DateTime(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_to_string(IntPtr raw);
+
+               public override string ToString() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_video_time_code_to_string(this_as_native);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoTimeCode target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoTimeCode other)
+               {
+                       return true && Config.Equals (other.Config) && Hours.Equals (other.Hours) && Minutes.Equals (other.Minutes) && Seconds.Equals (other.Seconds) && Frames.Equals (other.Frames) && FieldCount.Equals (other.FieldCount);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoTimeCode && Equals ((VideoTimeCode) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Config.GetHashCode () ^ Hours.GetHashCode () ^ Minutes.GetHashCode () ^ Seconds.GetHashCode () ^ Frames.GetHashCode () ^ FieldCount.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Video.VideoTimeCode boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Video.VideoTimeCode.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Video.VideoTimeCode (GLib.Value val)
+               {
+                       return (Gst.Video.VideoTimeCode) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoTimeCodeConfig.cs b/sources/generated/Gst.Video_VideoTimeCodeConfig.cs
new file mode 100644 (file)
index 0000000..8380df4
--- /dev/null
@@ -0,0 +1,48 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoTimeCodeConfig : IEquatable<VideoTimeCodeConfig> {
+
+               public uint FpsN;
+               public uint FpsD;
+               public Gst.Video.VideoTimeCodeFlags Flags;
+               private IntPtr _latest_daily_jam;
+
+               public static Gst.Video.VideoTimeCodeConfig Zero = new Gst.Video.VideoTimeCodeConfig ();
+
+               public static Gst.Video.VideoTimeCodeConfig New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoTimeCodeConfig.Zero;
+                       return (Gst.Video.VideoTimeCodeConfig) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoTimeCodeConfig));
+               }
+
+               public bool Equals (VideoTimeCodeConfig other)
+               {
+                       return true && FpsN.Equals (other.FpsN) && FpsD.Equals (other.FpsD) && Flags.Equals (other.Flags) && _latest_daily_jam.Equals (other._latest_daily_jam);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoTimeCodeConfig && Equals ((VideoTimeCodeConfig) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ FpsN.GetHashCode () ^ FpsD.GetHashCode () ^ Flags.GetHashCode () ^ _latest_daily_jam.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoTimeCodeFlags.cs b/sources/generated/Gst.Video_VideoTimeCodeFlags.cs
new file mode 100644 (file)
index 0000000..d127c46
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       public enum VideoTimeCodeFlags {
+
+               None = 0,
+               DropFrame = 1,
+               Interlaced = 2,
+       }
+#endregion
+}
diff --git a/sources/generated/Gst.Video_VideoTimeCodeInterval.cs b/sources/generated/Gst.Video_VideoTimeCodeInterval.cs
new file mode 100644 (file)
index 0000000..4a1b0dd
--- /dev/null
@@ -0,0 +1,115 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoTimeCodeInterval : IEquatable<VideoTimeCodeInterval> {
+
+               public uint Hours;
+               public uint Minutes;
+               public uint Seconds;
+               public uint Frames;
+
+               public static Gst.Video.VideoTimeCodeInterval Zero = new Gst.Video.VideoTimeCodeInterval ();
+
+               public static Gst.Video.VideoTimeCodeInterval New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoTimeCodeInterval.Zero;
+                       return (Gst.Video.VideoTimeCodeInterval) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoTimeCodeInterval));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_interval_new(uint hours, uint minutes, uint seconds, uint frames);
+
+               public static VideoTimeCodeInterval New(uint hours, uint minutes, uint seconds, uint frames)
+               {
+                       VideoTimeCodeInterval result = VideoTimeCodeInterval.New (gst_video_time_code_interval_new(hours, minutes, seconds, frames));
+                       return result;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_interval_new_from_string(IntPtr tc_inter_str);
+
+               public static VideoTimeCodeInterval NewFromString(string tc_inter_str)
+               {
+                       IntPtr native_tc_inter_str = GLib.Marshaller.StringToPtrGStrdup (tc_inter_str);
+                       VideoTimeCodeInterval result = VideoTimeCodeInterval.New (gst_video_time_code_interval_new_from_string(native_tc_inter_str));
+                       GLib.Marshaller.Free (native_tc_inter_str);
+                       return result;
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_interval_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_video_time_code_interval_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_time_code_interval_clear(IntPtr raw);
+
+               public void Clear() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_time_code_interval_clear(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_video_time_code_interval_init(IntPtr raw, uint hours, uint minutes, uint seconds, uint frames);
+
+               public void Init(uint hours, uint minutes, uint seconds, uint frames) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_video_time_code_interval_init(this_as_native, hours, minutes, seconds, frames);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Video.VideoTimeCodeInterval target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (VideoTimeCodeInterval other)
+               {
+                       return true && Hours.Equals (other.Hours) && Minutes.Equals (other.Minutes) && Seconds.Equals (other.Seconds) && Frames.Equals (other.Frames);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoTimeCodeInterval && Equals ((VideoTimeCodeInterval) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Hours.GetHashCode () ^ Minutes.GetHashCode () ^ Seconds.GetHashCode () ^ Frames.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Video.VideoTimeCodeInterval boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Video.VideoTimeCodeInterval.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Video.VideoTimeCodeInterval (GLib.Value val)
+               {
+                       return (Gst.Video.VideoTimeCodeInterval) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoTimeCodeMeta.cs b/sources/generated/Gst.Video_VideoTimeCodeMeta.cs
new file mode 100644 (file)
index 0000000..7abaf2b
--- /dev/null
@@ -0,0 +1,57 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct VideoTimeCodeMeta : IEquatable<VideoTimeCodeMeta> {
+
+               public Gst.Meta Meta;
+               public Gst.Video.VideoTimeCode Tc;
+
+               public static Gst.Video.VideoTimeCodeMeta Zero = new Gst.Video.VideoTimeCodeMeta ();
+
+               public static Gst.Video.VideoTimeCodeMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Video.VideoTimeCodeMeta.Zero;
+                       return (Gst.Video.VideoTimeCodeMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoTimeCodeMeta));
+               }
+
+               [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_time_code_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_video_time_code_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (VideoTimeCodeMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && Tc.Equals (other.Tc);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is VideoTimeCodeMeta && Equals ((VideoTimeCodeMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Tc.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst.Video_VideoTransferFunction.cs b/sources/generated/Gst.Video_VideoTransferFunction.cs
new file mode 100644 (file)
index 0000000..6045598
--- /dev/null
@@ -0,0 +1,39 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.Video {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.Video.VideoTransferFunctionGType))]
+       public enum VideoTransferFunction {
+
+               Unknown = 0,
+               Gamma10 = 1,
+               Gamma18 = 2,
+               Gamma20 = 3,
+               Gamma22 = 4,
+               Bt709 = 5,
+               Smpte240m = 6,
+               Srgb = 7,
+               Gamma28 = 8,
+               Log100 = 9,
+               Log316 = 10,
+               Bt202012 = 11,
+               Adobergb = 12,
+       }
+
+       internal class VideoTransferFunctionGType {
+               [DllImport ("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_video_transfer_function_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_video_transfer_function_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_AllocationParams.cs b/sources/generated/Gst_AllocationParams.cs
new file mode 100644 (file)
index 0000000..7a784b1
--- /dev/null
@@ -0,0 +1,110 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct AllocationParams : IEquatable<AllocationParams> {
+
+               public Gst.MemoryFlags Flags;
+               private UIntPtr align;
+               public ulong Align {
+                       get {
+                               return (ulong) align;
+                       }
+                       set {
+                               align = new UIntPtr (value);
+                       }
+               }
+               private UIntPtr prefix;
+               public ulong Prefix {
+                       get {
+                               return (ulong) prefix;
+                       }
+                       set {
+                               prefix = new UIntPtr (value);
+                       }
+               }
+               private UIntPtr padding;
+               public ulong Padding {
+                       get {
+                               return (ulong) padding;
+                       }
+                       set {
+                               padding = new UIntPtr (value);
+                       }
+               }
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.AllocationParams Zero = new Gst.AllocationParams ();
+
+               public static Gst.AllocationParams New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.AllocationParams.Zero;
+                       return (Gst.AllocationParams) Marshal.PtrToStructure (raw, typeof (Gst.AllocationParams));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_allocation_params_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_allocation_params_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_allocation_params_init(IntPtr raw);
+
+               public void Init() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_allocation_params_init(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.AllocationParams target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (AllocationParams other)
+               {
+                       return true && Flags.Equals (other.Flags) && Align.Equals (other.Align) && Prefix.Equals (other.Prefix) && Padding.Equals (other.Padding);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is AllocationParams && Equals ((AllocationParams) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Flags.GetHashCode () ^ Align.GetHashCode () ^ Prefix.GetHashCode () ^ Padding.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.AllocationParams boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.AllocationParams.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.AllocationParams (GLib.Value val)
+               {
+                       return (Gst.AllocationParams) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Allocator.cs b/sources/generated/Gst_Allocator.cs
new file mode 100644 (file)
index 0000000..a923fb7
--- /dev/null
@@ -0,0 +1,417 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Allocator : Gst.Object {
+
+               protected Allocator (IntPtr raw) : base(raw) {}
+
+               protected Allocator() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public string MemType {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mem_type"));
+                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public Gst.MemoryMapFunction MemMap {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mem_map"));
+                                        GstSharp.MemoryMapFunctionNative del = (GstSharp.MemoryMapFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.MemoryMapFunctionNative));
+                                       return GstSharp.MemoryMapFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public Gst.MemoryUnmapFunction MemUnmap {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mem_unmap"));
+                                        GstSharp.MemoryUnmapFunctionNative del = (GstSharp.MemoryUnmapFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.MemoryUnmapFunctionNative));
+                                       return GstSharp.MemoryUnmapFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public Gst.MemoryCopyFunction MemCopy {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mem_copy"));
+                                        GstSharp.MemoryCopyFunctionNative del = (GstSharp.MemoryCopyFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.MemoryCopyFunctionNative));
+                                       return GstSharp.MemoryCopyFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public Gst.MemoryShareFunction MemShare {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mem_share"));
+                                        GstSharp.MemoryShareFunctionNative del = (GstSharp.MemoryShareFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.MemoryShareFunctionNative));
+                                       return GstSharp.MemoryShareFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public Gst.MemoryIsSpanFunction MemIsSpan {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mem_is_span"));
+                                        GstSharp.MemoryIsSpanFunctionNative del = (GstSharp.MemoryIsSpanFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.MemoryIsSpanFunctionNative));
+                                       return GstSharp.MemoryIsSpanFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public Gst.MemoryMapFullFunction MemMapFull {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mem_map_full"));
+                                        GstSharp.MemoryMapFullFunctionNative del = (GstSharp.MemoryMapFullFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.MemoryMapFullFunctionNative));
+                                       return GstSharp.MemoryMapFullFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public Gst.MemoryUnmapFullFunction MemUnmapFull {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mem_unmap_full"));
+                                        GstSharp.MemoryUnmapFullFunctionNative del = (GstSharp.MemoryUnmapFullFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.MemoryUnmapFullFunctionNative));
+                                       return GstSharp.MemoryUnmapFullFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               static AllocNativeDelegate Alloc_cb_delegate;
+               static AllocNativeDelegate AllocVMCallback {
+                       get {
+                               if (Alloc_cb_delegate == null)
+                                       Alloc_cb_delegate = new AllocNativeDelegate (Alloc_cb);
+                               return Alloc_cb_delegate;
+                       }
+               }
+
+               static void OverrideAlloc (GLib.GType gtype)
+               {
+                       OverrideAlloc (gtype, AllocVMCallback);
+               }
+
+               static void OverrideAlloc (GLib.GType gtype, AllocNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("alloc"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr AllocNativeDelegate (IntPtr inst, UIntPtr size, IntPtr parms);
+
+               static IntPtr Alloc_cb (IntPtr inst, UIntPtr size, IntPtr parms)
+               {
+                       try {
+                               Allocator __obj = GLib.Object.GetObject (inst, false) as Allocator;
+                               Gst.Memory __result;
+                               __result = __obj.OnAlloc ((ulong) size, Gst.AllocationParams.New (parms));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Allocator), ConnectionMethod="OverrideAlloc")]
+               protected virtual Gst.Memory OnAlloc (ulong size, Gst.AllocationParams parms)
+               {
+                       return InternalAlloc (size, parms);
+               }
+
+               private Gst.Memory InternalAlloc (ulong size, Gst.AllocationParams parms)
+               {
+                       AllocNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("alloc"));
+                               unmanaged = (AllocNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AllocNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       IntPtr __result = unmanaged (this.Handle, new UIntPtr (size), native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+                       return __result == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (__result, typeof (Gst.Memory), true);
+               }
+
+               static FreeNativeDelegate Free_cb_delegate;
+               static FreeNativeDelegate FreeVMCallback {
+                       get {
+                               if (Free_cb_delegate == null)
+                                       Free_cb_delegate = new FreeNativeDelegate (Free_cb);
+                               return Free_cb_delegate;
+                       }
+               }
+
+               static void OverrideFree (GLib.GType gtype)
+               {
+                       OverrideFree (gtype, FreeVMCallback);
+               }
+
+               static void OverrideFree (GLib.GType gtype, FreeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("free"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FreeNativeDelegate (IntPtr inst, IntPtr memory);
+
+               static void Free_cb (IntPtr inst, IntPtr memory)
+               {
+                       try {
+                               Allocator __obj = GLib.Object.GetObject (inst, false) as Allocator;
+                               __obj.OnFree (memory == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (memory, typeof (Gst.Memory), true));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Allocator), ConnectionMethod="OverrideFree")]
+               protected virtual void OnFree (Gst.Memory memory)
+               {
+                       InternalFree (memory);
+               }
+
+               private void InternalFree (Gst.Memory memory)
+               {
+                       FreeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("free"));
+                               unmanaged = (FreeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FreeNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       memory.Owned = false;
+                       unmanaged (this.Handle, memory == null ? IntPtr.Zero : memory.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("alloc"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // alloc
+                                                       , null
+                                                       , "free"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("free"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // free
+                                                       , "alloc"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "free"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_allocator_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_allocator_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_allocator_find(IntPtr name);
+
+               public static Gst.Allocator Find(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_allocator_find(native_name);
+                       Gst.Allocator ret = GLib.Object.GetObject(raw_ret, true) as Gst.Allocator;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public static Gst.Allocator Find() {
+                       return Find (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_allocator_register(IntPtr name, IntPtr allocator);
+
+               public static void Register(string name, Gst.Allocator allocator) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_allocator_register(native_name, allocator == null ? IntPtr.Zero : allocator.OwnedHandle);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_allocator_alloc(IntPtr raw, UIntPtr size, IntPtr parms);
+
+               public Gst.Memory Alloc(ulong size, Gst.AllocationParams parms) {
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       IntPtr raw_ret = gst_allocator_alloc(Handle, new UIntPtr (size), native_parms);
+                       Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Memory), true);
+                       Marshal.FreeHGlobal (native_parms);
+                       return ret;
+               }
+
+               public Gst.Memory Alloc(ulong size) {
+                       return Alloc (size, Gst.AllocationParams.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_allocator_free(IntPtr raw, IntPtr memory);
+
+               public void Free(Gst.Memory memory) {
+                       memory.Owned = false;
+                       gst_allocator_free(Handle, memory == null ? IntPtr.Zero : memory.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_allocator_set_default(IntPtr raw);
+
+               public void SetDefault() {
+                       gst_allocator_set_default(Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("mem_type"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mem_type
+                                                       , null
+                                                       , "mem_map"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mem_map"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mem_map
+                                                       , "mem_type"
+                                                       , "mem_unmap"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mem_unmap"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mem_unmap
+                                                       , "mem_map"
+                                                       , "mem_copy"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mem_copy"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mem_copy
+                                                       , "mem_unmap"
+                                                       , "mem_share"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mem_share"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mem_share
+                                                       , "mem_copy"
+                                                       , "mem_is_span"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mem_is_span"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mem_is_span
+                                                       , "mem_share"
+                                                       , "mem_map_full"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mem_map_full"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mem_map_full
+                                                       , "mem_is_span"
+                                                       , "mem_unmap_full"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mem_unmap_full"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mem_unmap_full
+                                                       , "mem_map_full"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 2 // _gst_reserved
+                                                       , "mem_unmap_full"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "_gst_reserved"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_AllocatorFlags.cs b/sources/generated/Gst_AllocatorFlags.cs
new file mode 100644 (file)
index 0000000..0d03f1a
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.AllocatorFlagsGType))]
+       public enum AllocatorFlags {
+
+               CustomAlloc = 16,
+               Last = 1048576,
+       }
+
+       internal class AllocatorFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_allocator_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_allocator_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Application.cs b/sources/generated/Gst_Application.cs
new file mode 100644 (file)
index 0000000..fd61cb5
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Application {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_version(out uint major, out uint minor, out uint micro, out uint nano);
+
+               public static void Version(out uint major, out uint minor, out uint micro, out uint nano) {
+                       gst_version(out major, out minor, out micro, out nano);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_version_string();
+
+               public static string VersionString() {
+                       IntPtr raw_ret = gst_version_string();
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_AtomicQueue.cs b/sources/generated/Gst_AtomicQueue.cs
new file mode 100644 (file)
index 0000000..3cf771e
--- /dev/null
@@ -0,0 +1,132 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class AtomicQueue : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_atomic_queue_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_atomic_queue_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_atomic_queue_length(IntPtr raw);
+
+               public uint Length() {
+                       uint raw_ret = gst_atomic_queue_length(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_atomic_queue_peek(IntPtr raw);
+
+               public IntPtr Peek() {
+                       IntPtr raw_ret = gst_atomic_queue_peek(Handle);
+                       IntPtr ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_atomic_queue_pop(IntPtr raw);
+
+               public IntPtr Pop() {
+                       IntPtr raw_ret = gst_atomic_queue_pop(Handle);
+                       IntPtr ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_atomic_queue_push(IntPtr raw, IntPtr data);
+
+               public void Push(IntPtr data) {
+                       gst_atomic_queue_push(Handle, data);
+               }
+
+               public AtomicQueue(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_atomic_queue_new(uint initial_size);
+
+               public AtomicQueue (uint initial_size) 
+               {
+                       Raw = gst_atomic_queue_new(initial_size);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_atomic_queue_ref(IntPtr raw);
+
+               protected override void Ref (IntPtr raw)
+               {
+                       if (!Owned) {
+                               gst_atomic_queue_ref (raw);
+                               Owned = true;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_atomic_queue_unref(IntPtr raw);
+
+               protected override void Unref (IntPtr raw)
+               {
+                       if (Owned) {
+                               gst_atomic_queue_unref (raw);
+                               Owned = false;
+                       }
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_atomic_queue_unref (handle);
+                               return false;
+                       }
+               }
+
+               ~AtomicQueue ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Bin.cs b/sources/generated/Gst_Bin.cs
new file mode 100644 (file)
index 0000000..14c2343
--- /dev/null
@@ -0,0 +1,1234 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Bin : Gst.Element, Gst.IChildProxy {
+
+               public Bin (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_new(IntPtr name);
+
+               public Bin (string name) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Bin)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_bin_new(native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [GLib.Property ("async-handling")]
+               public bool AsyncHandling {
+                       get {
+                               GLib.Value val = GetProperty ("async-handling");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("async-handling", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("message-forward")]
+               public bool MessageForward {
+                       get {
+                               GLib.Value val = GetProperty ("message-forward");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("message-forward", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public int Numchildren {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("numchildren"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public GLib.List Children {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("children"));
+                                       return new GLib.List((*raw_ptr));
+                               }
+                       }
+               }
+
+               public uint ChildrenCookie {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("children_cookie"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Bus ChildBus {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("child_bus"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Bus;
+                               }
+                       }
+               }
+
+               public GLib.List Messages {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("messages"));
+                                       return new GLib.List((*raw_ptr));
+                               }
+                       }
+               }
+
+               public bool Polling {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("polling"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool StateDirty {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("state_dirty"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool ClockDirty {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("clock_dirty"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Clock ProvidedClock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("provided_clock"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Clock;
+                               }
+                       }
+               }
+
+               public Gst.Element ClockProvider {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("clock_provider"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Element;
+                               }
+                       }
+               }
+
+               [GLib.Signal("element-added")]
+               public event Gst.ElementAddedHandler ElementAdded {
+                       add {
+                               this.AddSignalHandler ("element-added", value, typeof (Gst.ElementAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("element-added", value);
+                       }
+               }
+
+               [GLib.Signal("deep-element-added")]
+               public event Gst.DeepElementAddedHandler DeepElementAdded {
+                       add {
+                               this.AddSignalHandler ("deep-element-added", value, typeof (Gst.DeepElementAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("deep-element-added", value);
+                       }
+               }
+
+               [GLib.Signal("element-removed")]
+               public event Gst.ElementRemovedHandler ElementRemoved {
+                       add {
+                               this.AddSignalHandler ("element-removed", value, typeof (Gst.ElementRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("element-removed", value);
+                       }
+               }
+
+               [GLib.Signal("do-latency")]
+               public event Gst.DoLatencyHandler DoLatency {
+                       add {
+                               this.AddSignalHandler ("do-latency", value, typeof (Gst.DoLatencyArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("do-latency", value);
+                       }
+               }
+
+               [GLib.Signal("deep-element-removed")]
+               public event Gst.DeepElementRemovedHandler DeepElementRemoved {
+                       add {
+                               this.AddSignalHandler ("deep-element-removed", value, typeof (Gst.DeepElementRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("deep-element-removed", value);
+                       }
+               }
+
+               static ElementAddedNativeDelegate ElementAdded_cb_delegate;
+               static ElementAddedNativeDelegate ElementAddedVMCallback {
+                       get {
+                               if (ElementAdded_cb_delegate == null)
+                                       ElementAdded_cb_delegate = new ElementAddedNativeDelegate (ElementAdded_cb);
+                               return ElementAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideElementAdded (GLib.GType gtype)
+               {
+                       OverrideElementAdded (gtype, ElementAddedVMCallback);
+               }
+
+               static void OverrideElementAdded (GLib.GType gtype, ElementAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("element_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ElementAddedNativeDelegate (IntPtr inst, IntPtr element);
+
+               static void ElementAdded_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Bin __obj = GLib.Object.GetObject (inst, false) as Bin;
+                               __obj.OnElementAdded (GLib.Object.GetObject(element) as Gst.Element);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideElementAdded")]
+               protected virtual void OnElementAdded (Gst.Element element)
+               {
+                       InternalElementAdded (element);
+               }
+
+               private void InternalElementAdded (Gst.Element element)
+               {
+                       ElementAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("element_added"));
+                               unmanaged = (ElementAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ElementAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+               }
+
+               static ElementRemovedNativeDelegate ElementRemoved_cb_delegate;
+               static ElementRemovedNativeDelegate ElementRemovedVMCallback {
+                       get {
+                               if (ElementRemoved_cb_delegate == null)
+                                       ElementRemoved_cb_delegate = new ElementRemovedNativeDelegate (ElementRemoved_cb);
+                               return ElementRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideElementRemoved (GLib.GType gtype)
+               {
+                       OverrideElementRemoved (gtype, ElementRemovedVMCallback);
+               }
+
+               static void OverrideElementRemoved (GLib.GType gtype, ElementRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("element_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ElementRemovedNativeDelegate (IntPtr inst, IntPtr element);
+
+               static void ElementRemoved_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Bin __obj = GLib.Object.GetObject (inst, false) as Bin;
+                               __obj.OnElementRemoved (GLib.Object.GetObject(element) as Gst.Element);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideElementRemoved")]
+               protected virtual void OnElementRemoved (Gst.Element element)
+               {
+                       InternalElementRemoved (element);
+               }
+
+               private void InternalElementRemoved (Gst.Element element)
+               {
+                       ElementRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("element_removed"));
+                               unmanaged = (ElementRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ElementRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+               }
+
+               static AddElementNativeDelegate AddElement_cb_delegate;
+               static AddElementNativeDelegate AddElementVMCallback {
+                       get {
+                               if (AddElement_cb_delegate == null)
+                                       AddElement_cb_delegate = new AddElementNativeDelegate (AddElement_cb);
+                               return AddElement_cb_delegate;
+                       }
+               }
+
+               static void OverrideAddElement (GLib.GType gtype)
+               {
+                       OverrideAddElement (gtype, AddElementVMCallback);
+               }
+
+               static void OverrideAddElement (GLib.GType gtype, AddElementNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("add_element"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool AddElementNativeDelegate (IntPtr inst, IntPtr element);
+
+               static bool AddElement_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Bin __obj = GLib.Object.GetObject (inst, false) as Bin;
+                               bool __result;
+                               __result = __obj.OnAddElement (GLib.Object.GetObject(element) as Gst.Element);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideAddElement")]
+               protected virtual bool OnAddElement (Gst.Element element)
+               {
+                       return InternalAddElement (element);
+               }
+
+               private bool InternalAddElement (Gst.Element element)
+               {
+                       AddElementNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("add_element"));
+                               unmanaged = (AddElementNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AddElementNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+                       return __result;
+               }
+
+               static RemoveElementNativeDelegate RemoveElement_cb_delegate;
+               static RemoveElementNativeDelegate RemoveElementVMCallback {
+                       get {
+                               if (RemoveElement_cb_delegate == null)
+                                       RemoveElement_cb_delegate = new RemoveElementNativeDelegate (RemoveElement_cb);
+                               return RemoveElement_cb_delegate;
+                       }
+               }
+
+               static void OverrideRemoveElement (GLib.GType gtype)
+               {
+                       OverrideRemoveElement (gtype, RemoveElementVMCallback);
+               }
+
+               static void OverrideRemoveElement (GLib.GType gtype, RemoveElementNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("remove_element"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool RemoveElementNativeDelegate (IntPtr inst, IntPtr element);
+
+               static bool RemoveElement_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Bin __obj = GLib.Object.GetObject (inst, false) as Bin;
+                               bool __result;
+                               __result = __obj.OnRemoveElement (GLib.Object.GetObject(element) as Gst.Element);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideRemoveElement")]
+               protected virtual bool OnRemoveElement (Gst.Element element)
+               {
+                       return InternalRemoveElement (element);
+               }
+
+               private bool InternalRemoveElement (Gst.Element element)
+               {
+                       RemoveElementNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("remove_element"));
+                               unmanaged = (RemoveElementNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RemoveElementNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+                       return __result;
+               }
+
+               static HandleMessageNativeDelegate HandleMessage_cb_delegate;
+               static HandleMessageNativeDelegate HandleMessageVMCallback {
+                       get {
+                               if (HandleMessage_cb_delegate == null)
+                                       HandleMessage_cb_delegate = new HandleMessageNativeDelegate (HandleMessage_cb);
+                               return HandleMessage_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleMessage (GLib.GType gtype)
+               {
+                       OverrideHandleMessage (gtype, HandleMessageVMCallback);
+               }
+
+               static void OverrideHandleMessage (GLib.GType gtype, HandleMessageNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_message"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void HandleMessageNativeDelegate (IntPtr inst, IntPtr message);
+
+               static void HandleMessage_cb (IntPtr inst, IntPtr message)
+               {
+                       try {
+                               Bin __obj = GLib.Object.GetObject (inst, false) as Bin;
+                               __obj.OnHandleMessage (message == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (message, typeof (Gst.Message), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideHandleMessage")]
+               protected virtual void OnHandleMessage (Gst.Message message)
+               {
+                       InternalHandleMessage (message);
+               }
+
+               private void InternalHandleMessage (Gst.Message message)
+               {
+                       HandleMessageNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_message"));
+                               unmanaged = (HandleMessageNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleMessageNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, message == null ? IntPtr.Zero : message.Handle);
+               }
+
+               static DoLatencyNativeDelegate DoLatency_cb_delegate;
+               static DoLatencyNativeDelegate DoLatencyVMCallback {
+                       get {
+                               if (DoLatency_cb_delegate == null)
+                                       DoLatency_cb_delegate = new DoLatencyNativeDelegate (DoLatency_cb);
+                               return DoLatency_cb_delegate;
+                       }
+               }
+
+               static void OverrideDoLatency (GLib.GType gtype)
+               {
+                       OverrideDoLatency (gtype, DoLatencyVMCallback);
+               }
+
+               static void OverrideDoLatency (GLib.GType gtype, DoLatencyNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("do_latency"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DoLatencyNativeDelegate (IntPtr inst);
+
+               static bool DoLatency_cb (IntPtr inst)
+               {
+                       try {
+                               Bin __obj = GLib.Object.GetObject (inst, false) as Bin;
+                               bool __result;
+                               __result = __obj.OnDoLatency ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideDoLatency")]
+               protected virtual bool OnDoLatency ()
+               {
+                       return InternalDoLatency ();
+               }
+
+               private bool InternalDoLatency ()
+               {
+                       DoLatencyNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("do_latency"));
+                               unmanaged = (DoLatencyNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DoLatencyNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static DeepElementAddedNativeDelegate DeepElementAdded_cb_delegate;
+               static DeepElementAddedNativeDelegate DeepElementAddedVMCallback {
+                       get {
+                               if (DeepElementAdded_cb_delegate == null)
+                                       DeepElementAdded_cb_delegate = new DeepElementAddedNativeDelegate (DeepElementAdded_cb);
+                               return DeepElementAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideDeepElementAdded (GLib.GType gtype)
+               {
+                       OverrideDeepElementAdded (gtype, DeepElementAddedVMCallback);
+               }
+
+               static void OverrideDeepElementAdded (GLib.GType gtype, DeepElementAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("deep_element_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void DeepElementAddedNativeDelegate (IntPtr inst, IntPtr sub_bin, IntPtr element);
+
+               static void DeepElementAdded_cb (IntPtr inst, IntPtr sub_bin, IntPtr element)
+               {
+                       try {
+                               Bin __obj = GLib.Object.GetObject (inst, false) as Bin;
+                               __obj.OnDeepElementAdded (GLib.Object.GetObject(sub_bin) as Gst.Bin, GLib.Object.GetObject(element) as Gst.Element);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideDeepElementAdded")]
+               protected virtual void OnDeepElementAdded (Gst.Bin sub_bin, Gst.Element element)
+               {
+                       InternalDeepElementAdded (sub_bin, element);
+               }
+
+               private void InternalDeepElementAdded (Gst.Bin sub_bin, Gst.Element element)
+               {
+                       DeepElementAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("deep_element_added"));
+                               unmanaged = (DeepElementAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DeepElementAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, sub_bin == null ? IntPtr.Zero : sub_bin.Handle, element == null ? IntPtr.Zero : element.Handle);
+               }
+
+               static DeepElementRemovedNativeDelegate DeepElementRemoved_cb_delegate;
+               static DeepElementRemovedNativeDelegate DeepElementRemovedVMCallback {
+                       get {
+                               if (DeepElementRemoved_cb_delegate == null)
+                                       DeepElementRemoved_cb_delegate = new DeepElementRemovedNativeDelegate (DeepElementRemoved_cb);
+                               return DeepElementRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideDeepElementRemoved (GLib.GType gtype)
+               {
+                       OverrideDeepElementRemoved (gtype, DeepElementRemovedVMCallback);
+               }
+
+               static void OverrideDeepElementRemoved (GLib.GType gtype, DeepElementRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("deep_element_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void DeepElementRemovedNativeDelegate (IntPtr inst, IntPtr sub_bin, IntPtr element);
+
+               static void DeepElementRemoved_cb (IntPtr inst, IntPtr sub_bin, IntPtr element)
+               {
+                       try {
+                               Bin __obj = GLib.Object.GetObject (inst, false) as Bin;
+                               __obj.OnDeepElementRemoved (GLib.Object.GetObject(sub_bin) as Gst.Bin, GLib.Object.GetObject(element) as Gst.Element);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideDeepElementRemoved")]
+               protected virtual void OnDeepElementRemoved (Gst.Bin sub_bin, Gst.Element element)
+               {
+                       InternalDeepElementRemoved (sub_bin, element);
+               }
+
+               private void InternalDeepElementRemoved (Gst.Bin sub_bin, Gst.Element element)
+               {
+                       DeepElementRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("deep_element_removed"));
+                               unmanaged = (DeepElementRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DeepElementRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, sub_bin == null ? IntPtr.Zero : sub_bin.Handle, element == null ? IntPtr.Zero : element.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("pool"
+                                                       , Gst.Element.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pool
+                                                       , null
+                                                       , "element_added"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("element_added"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // element_added
+                                                       , "pool"
+                                                       , "element_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("element_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // element_removed
+                                                       , "element_added"
+                                                       , "add_element"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("add_element"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // add_element
+                                                       , "element_removed"
+                                                       , "remove_element"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("remove_element"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // remove_element
+                                                       , "add_element"
+                                                       , "handle_message"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_message"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_message
+                                                       , "remove_element"
+                                                       , "do_latency"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("do_latency"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // do_latency
+                                                       , "handle_message"
+                                                       , "deep_element_added"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("deep_element_added"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // deep_element_added
+                                                       , "do_latency"
+                                                       , "deep_element_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("deep_element_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // deep_element_removed
+                                                       , "deep_element_added"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 2 // _gst_reserved
+                                                       , "deep_element_removed"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_bin_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bin_add(IntPtr raw, IntPtr element);
+
+               public bool Add(Gst.Element element) {
+                       bool raw_ret = gst_bin_add(Handle, element == null ? IntPtr.Zero : element.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_find_unlinked_pad(IntPtr raw, int direction);
+
+               public Gst.Pad FindUnlinkedPad(Gst.PadDirection direction) {
+                       IntPtr raw_ret = gst_bin_find_unlinked_pad(Handle, (int) direction);
+                       Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_get_by_interface(IntPtr raw, IntPtr iface);
+
+               public Gst.Element GetByInterface(GLib.GType iface) {
+                       IntPtr raw_ret = gst_bin_get_by_interface(Handle, iface.Val);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_get_by_name(IntPtr raw, IntPtr name);
+
+               public Gst.Element GetByName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_bin_get_by_name(Handle, native_name);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_get_by_name_recurse_up(IntPtr raw, IntPtr name);
+
+               public Gst.Element GetByNameRecurseUp(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_bin_get_by_name_recurse_up(Handle, native_name);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_bin_get_suppressed_flags(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bin_set_suppressed_flags(IntPtr raw, int flags);
+
+               public Gst.ElementFlags SuppressedFlags { 
+                       get {
+                               int raw_ret = gst_bin_get_suppressed_flags(Handle);
+                               Gst.ElementFlags ret = (Gst.ElementFlags) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_bin_set_suppressed_flags(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_iterate_all_by_interface(IntPtr raw, IntPtr iface);
+
+               public Gst.Iterator IterateAllByInterface(GLib.GType iface) {
+                       IntPtr raw_ret = gst_bin_iterate_all_by_interface(Handle, iface.Val);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_iterate_elements(IntPtr raw);
+
+               public Gst.Iterator IterateElements() {
+                       IntPtr raw_ret = gst_bin_iterate_elements(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_iterate_recurse(IntPtr raw);
+
+               public Gst.Iterator IterateRecurse() {
+                       IntPtr raw_ret = gst_bin_iterate_recurse(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_iterate_sinks(IntPtr raw);
+
+               public Gst.Iterator IterateSinks() {
+                       IntPtr raw_ret = gst_bin_iterate_sinks(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_iterate_sorted(IntPtr raw);
+
+               public Gst.Iterator IterateSorted() {
+                       IntPtr raw_ret = gst_bin_iterate_sorted(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_iterate_sources(IntPtr raw);
+
+               public Gst.Iterator IterateSources() {
+                       IntPtr raw_ret = gst_bin_iterate_sources(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bin_recalculate_latency(IntPtr raw);
+
+               public bool RecalculateLatency() {
+                       bool raw_ret = gst_bin_recalculate_latency(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bin_remove(IntPtr raw, IntPtr element);
+
+               public bool Remove(Gst.Element element) {
+                       bool raw_ret = gst_bin_remove(Handle, element == null ? IntPtr.Zero : element.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bin_sync_children_states(IntPtr raw);
+
+               public bool SyncChildrenStates() {
+                       bool raw_ret = gst_bin_sync_children_states(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_child_proxy_child_added(IntPtr raw, IntPtr child, IntPtr name);
+
+               public void ChildAdded(GLib.Object child, string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_child_proxy_child_added(Handle, child == null ? IntPtr.Zero : child.Handle, native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_child_proxy_child_removed(IntPtr raw, IntPtr child, IntPtr name);
+
+               public void ChildRemoved(GLib.Object child, string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_child_proxy_child_removed(Handle, child == null ? IntPtr.Zero : child.Handle, native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_child_proxy_get_child_by_index(IntPtr raw, uint index);
+
+               public GLib.Object GetChildByIndex(uint index) {
+                       IntPtr raw_ret = gst_child_proxy_get_child_by_index(Handle, index);
+                       GLib.Object ret = GLib.Object.GetObject (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_child_proxy_get_child_by_name(IntPtr raw, IntPtr name);
+
+               public GLib.Object GetChildByName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_child_proxy_get_child_by_name(Handle, native_name);
+                       GLib.Object ret = GLib.Object.GetObject (raw_ret);
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_child_proxy_get_children_count(IntPtr raw);
+
+               public uint ChildrenCount { 
+                       get {
+                               uint raw_ret = gst_child_proxy_get_children_count(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_child_proxy_lookup(IntPtr raw, IntPtr name, out IntPtr target, out IntPtr pspec);
+
+               public bool Lookup(string name, out GLib.Object target, out IntPtr pspec) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_target;
+                       bool raw_ret = gst_child_proxy_lookup(Handle, native_name, out native_target, out pspec);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       target = GLib.Object.GetObject (native_target);
+                       return ret;
+               }
+
+               [GLib.Signal("child-removed")]
+               public event Gst.ChildRemovedEventHandler ChildRemovedEvent {
+                       add {
+                               this.AddSignalHandler ("child-removed", value, typeof (Gst.ChildRemovedEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("child-removed", value);
+                       }
+               }
+
+               [GLib.Signal("child-added")]
+               public event Gst.ChildAddedEventHandler ChildAddedEvent {
+                       add {
+                               this.AddSignalHandler ("child-added", value, typeof (Gst.ChildAddedEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("child-added", value);
+                       }
+               }
+
+               static ChildAddedEventNativeDelegate ChildAddedEvent_cb_delegate;
+               static ChildAddedEventNativeDelegate ChildAddedEventVMCallback {
+                       get {
+                               if (ChildAddedEvent_cb_delegate == null)
+                                       ChildAddedEvent_cb_delegate = new ChildAddedEventNativeDelegate (ChildAddedEvent_cb);
+                               return ChildAddedEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideChildAddedEvent (GLib.GType gtype)
+               {
+                       OverrideChildAddedEvent (gtype, ChildAddedEventVMCallback);
+               }
+
+               static void OverrideChildAddedEvent (GLib.GType gtype, ChildAddedEventNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "child-added", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ChildAddedEventNativeDelegate (IntPtr inst, IntPtr _object, IntPtr name);
+
+               static void ChildAddedEvent_cb (IntPtr inst, IntPtr _object, IntPtr name)
+               {
+                       try {
+                               Gst.Bin __obj = GLib.Object.GetObject (inst, false) as Gst.Bin;
+                               __obj.OnChildAddedEvent (GLib.Object.GetObject (_object), GLib.Marshaller.Utf8PtrToString (name));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideChildAddedEvent")]
+               protected virtual void OnChildAddedEvent (GLib.Object _object, string name)
+               {
+                       InternalChildAddedEvent (_object, name);
+               }
+
+               private void InternalChildAddedEvent (GLib.Object _object, string name)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+                       GLib.Value[] vals = new GLib.Value [3];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (name);
+                       inst_and_params.Append (vals [2]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ChildRemovedEventNativeDelegate ChildRemovedEvent_cb_delegate;
+               static ChildRemovedEventNativeDelegate ChildRemovedEventVMCallback {
+                       get {
+                               if (ChildRemovedEvent_cb_delegate == null)
+                                       ChildRemovedEvent_cb_delegate = new ChildRemovedEventNativeDelegate (ChildRemovedEvent_cb);
+                               return ChildRemovedEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideChildRemovedEvent (GLib.GType gtype)
+               {
+                       OverrideChildRemovedEvent (gtype, ChildRemovedEventVMCallback);
+               }
+
+               static void OverrideChildRemovedEvent (GLib.GType gtype, ChildRemovedEventNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "child-removed", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ChildRemovedEventNativeDelegate (IntPtr inst, IntPtr _object, IntPtr name);
+
+               static void ChildRemovedEvent_cb (IntPtr inst, IntPtr _object, IntPtr name)
+               {
+                       try {
+                               Gst.Bin __obj = GLib.Object.GetObject (inst, false) as Gst.Bin;
+                               __obj.OnChildRemovedEvent (GLib.Object.GetObject (_object), GLib.Marshaller.Utf8PtrToString (name));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bin), ConnectionMethod="OverrideChildRemovedEvent")]
+               protected virtual void OnChildRemovedEvent (GLib.Object _object, string name)
+               {
+                       InternalChildRemovedEvent (_object, name);
+               }
+
+               private void InternalChildRemovedEvent (GLib.Object _object, string name)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+                       GLib.Value[] vals = new GLib.Value [3];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       vals [2] = new GLib.Value (name);
+                       inst_and_params.Append (vals [2]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("numchildren"
+                                                       , Gst.Element.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // numchildren
+                                                       , null
+                                                       , "children"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBin_numchildrenAlign), "numchildren")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("children"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // children
+                                                       , "numchildren"
+                                                       , "children_cookie"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("children_cookie"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // children_cookie
+                                                       , "children"
+                                                       , "child_bus"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBin_children_cookieAlign), "children_cookie")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("child_bus"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // child_bus
+                                                       , "children_cookie"
+                                                       , "messages"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("messages"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // messages
+                                                       , "child_bus"
+                                                       , "polling"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("polling"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // polling
+                                                       , "messages"
+                                                       , "state_dirty"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBin_pollingAlign), "polling")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("state_dirty"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // state_dirty
+                                                       , "polling"
+                                                       , "clock_dirty"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBin_state_dirtyAlign), "state_dirty")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock_dirty"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // clock_dirty
+                                                       , "state_dirty"
+                                                       , "provided_clock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBin_clock_dirtyAlign), "clock_dirty")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("provided_clock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // provided_clock
+                                                       , "clock_dirty"
+                                                       , "clock_provider"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock_provider"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // clock_provider
+                                                       , "provided_clock"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "clock_provider"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBin_numchildrenAlign
+               {
+                       sbyte f1;
+                       private int numchildren;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBin_children_cookieAlign
+               {
+                       sbyte f1;
+                       private uint children_cookie;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBin_pollingAlign
+               {
+                       sbyte f1;
+                       private bool polling;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBin_state_dirtyAlign
+               {
+                       sbyte f1;
+                       private bool state_dirty;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBin_clock_dirtyAlign
+               {
+                       sbyte f1;
+                       private bool clock_dirty;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_BinFlags.cs b/sources/generated/Gst_BinFlags.cs
new file mode 100644 (file)
index 0000000..2e1b74c
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.BinFlagsGType))]
+       public enum BinFlags {
+
+               NoResync = 16384,
+               StreamsAware = 32768,
+               Last = 524288,
+       }
+
+       internal class BinFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bin_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_bin_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Bitmask.cs b/sources/generated/Gst_Bitmask.cs
new file mode 100644 (file)
index 0000000..13dde91
--- /dev/null
@@ -0,0 +1,45 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Bitmask : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bitmask_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_bitmask_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public Bitmask(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Buffer.cs b/sources/generated/Gst_Buffer.cs
new file mode 100644 (file)
index 0000000..0b39675
--- /dev/null
@@ -0,0 +1,700 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Buffer : Gst.MiniObject {
+
+               public Gst.BufferPool Pool {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("pool"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.BufferPool;
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("pool"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               public ulong Pts {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("pts"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("pts"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ulong Dts {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("dts"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("dts"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ulong Duration {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("duration"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("duration"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ulong Offset {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("offset"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("offset"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ulong OffsetEnd {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("offset_end"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("offset_end"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_buffer_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_meta(IntPtr raw, IntPtr info, IntPtr parms);
+
+               public Gst.Meta AddMeta(Gst.MetaInfo info, IntPtr parms) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       IntPtr raw_ret = gst_buffer_add_meta(Handle, native_info, parms);
+                       Gst.Meta ret = Gst.Meta.New (raw_ret);
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               public Gst.Meta AddMeta(Gst.MetaInfo info) {
+                       return AddMeta (info, IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_parent_buffer_meta(IntPtr raw, IntPtr reference);
+
+               public Gst.ParentBufferMeta AddParentBufferMeta(Gst.Buffer reference) {
+                       IntPtr raw_ret = gst_buffer_add_parent_buffer_meta(Handle, reference == null ? IntPtr.Zero : reference.Handle);
+                       Gst.ParentBufferMeta ret = Gst.ParentBufferMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_protection_meta(IntPtr raw, IntPtr info);
+
+               public Gst.ProtectionMeta AddProtectionMeta(Gst.Structure info) {
+                       info.Owned = false;
+                       IntPtr raw_ret = gst_buffer_add_protection_meta(Handle, info == null ? IntPtr.Zero : info.Handle);
+                       Gst.ProtectionMeta ret = Gst.ProtectionMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_add_reference_timestamp_meta(IntPtr raw, IntPtr reference, ulong timestamp, ulong duration);
+
+               public Gst.ReferenceTimestampMeta AddReferenceTimestampMeta(Gst.Caps reference, ulong timestamp, ulong duration) {
+                       IntPtr raw_ret = gst_buffer_add_reference_timestamp_meta(Handle, reference == null ? IntPtr.Zero : reference.Handle, timestamp, duration);
+                       Gst.ReferenceTimestampMeta ret = Gst.ReferenceTimestampMeta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_append(IntPtr raw, IntPtr buf2);
+
+               public Gst.Buffer Append(Gst.Buffer buf2) {
+                       buf2.Owned = false;
+                       IntPtr raw_ret = gst_buffer_append(Handle, buf2 == null ? IntPtr.Zero : buf2.Handle);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_append_memory(IntPtr raw, IntPtr mem);
+
+               public void AppendMemory(Gst.Memory mem) {
+                       mem.Owned = false;
+                       gst_buffer_append_memory(Handle, mem == null ? IntPtr.Zero : mem.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_append_region(IntPtr raw, IntPtr buf2, IntPtr offset, IntPtr size);
+
+               public Gst.Buffer AppendRegion(Gst.Buffer buf2, long offset, long size) {
+                       buf2.Owned = false;
+                       IntPtr raw_ret = gst_buffer_append_region(Handle, buf2 == null ? IntPtr.Zero : buf2.Handle, new IntPtr (offset), new IntPtr (size));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_copy_deep(IntPtr raw);
+
+               public Gst.Buffer CopyDeep() {
+                       IntPtr raw_ret = gst_buffer_copy_deep(Handle);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_copy_into(IntPtr raw, IntPtr src, int flags, UIntPtr offset, UIntPtr size);
+
+               public bool CopyInto(Gst.Buffer src, Gst.BufferCopyFlags flags, ulong offset, ulong size) {
+                       bool raw_ret = gst_buffer_copy_into(Handle, src == null ? IntPtr.Zero : src.Handle, (int) flags, new UIntPtr (offset), new UIntPtr (size));
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_copy_region(IntPtr raw, int flags, UIntPtr offset, UIntPtr size);
+
+               public Gst.Buffer CopyRegion(Gst.BufferCopyFlags flags, ulong offset, ulong size) {
+                       IntPtr raw_ret = gst_buffer_copy_region(Handle, (int) flags, new UIntPtr (offset), new UIntPtr (size));
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_buffer_fill(IntPtr raw, UIntPtr offset, byte[] src, UIntPtr n_length);
+
+               public ulong Fill(ulong offset, byte[] src) {
+                       UIntPtr raw_ret = gst_buffer_fill(Handle, new UIntPtr (offset), src, new UIntPtr ((ulong) (src == null ? 0 : src.Length)));
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_find_memory(IntPtr raw, UIntPtr offset, UIntPtr size, out uint idx, out uint length, out UIntPtr skip);
+
+               public bool FindMemory(ulong offset, ulong size, out uint idx, out uint length, out ulong skip) {
+                       UIntPtr native_skip;
+                       bool raw_ret = gst_buffer_find_memory(Handle, new UIntPtr (offset), new UIntPtr (size), out idx, out length, out native_skip);
+                       bool ret = raw_ret;
+                       skip = (ulong) native_skip;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_all_memory(IntPtr raw);
+
+               public Gst.Memory AllMemory { 
+                       get {
+                               IntPtr raw_ret = gst_buffer_get_all_memory(Handle);
+                               Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Memory), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_buffer_get_flags(IntPtr raw);
+
+               public Gst.BufferFlags Flags { 
+                       get {
+                               int raw_ret = gst_buffer_get_flags(Handle);
+                               Gst.BufferFlags ret = (Gst.BufferFlags) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_memory(IntPtr raw, uint idx);
+
+               public Gst.Memory GetMemory(uint idx) {
+                       IntPtr raw_ret = gst_buffer_get_memory(Handle, idx);
+                       Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Memory), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_memory_range(IntPtr raw, uint idx, int length);
+
+               public Gst.Memory GetMemoryRange(uint idx, int length) {
+                       IntPtr raw_ret = gst_buffer_get_memory_range(Handle, idx, length);
+                       Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Memory), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_meta(IntPtr raw, IntPtr api);
+
+               public Gst.Meta GetMeta(GLib.GType api) {
+                       IntPtr raw_ret = gst_buffer_get_meta(Handle, api.Val);
+                       Gst.Meta ret = Gst.Meta.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_buffer_get_n_meta(IntPtr raw, IntPtr api);
+
+               public uint GetNMeta(GLib.GType api) {
+                       uint raw_ret = gst_buffer_get_n_meta(Handle, api.Val);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_get_reference_timestamp_meta(IntPtr raw, IntPtr reference);
+
+               public Gst.ReferenceTimestampMeta GetReferenceTimestampMeta(Gst.Caps reference) {
+                       IntPtr raw_ret = gst_buffer_get_reference_timestamp_meta(Handle, reference == null ? IntPtr.Zero : reference.Handle);
+                       Gst.ReferenceTimestampMeta ret = Gst.ReferenceTimestampMeta.New (raw_ret);
+                       return ret;
+               }
+
+               public Gst.ReferenceTimestampMeta GetReferenceTimestampMeta() {
+                       return GetReferenceTimestampMeta (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_buffer_get_size(IntPtr raw);
+
+               public ulong Size { 
+                       get {
+                               UIntPtr raw_ret = gst_buffer_get_size(Handle);
+                               ulong ret = (ulong) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_buffer_get_sizes(IntPtr raw, out UIntPtr offset, out UIntPtr maxsize);
+
+               public ulong GetSizes(out ulong offset, out ulong maxsize) {
+                       UIntPtr native_offset;
+                       UIntPtr native_maxsize;
+                       UIntPtr raw_ret = gst_buffer_get_sizes(Handle, out native_offset, out native_maxsize);
+                       ulong ret = (ulong) raw_ret;
+                       offset = (ulong) native_offset;
+                       maxsize = (ulong) native_maxsize;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_buffer_get_sizes_range(IntPtr raw, uint idx, int length, out UIntPtr offset, out UIntPtr maxsize);
+
+               public ulong GetSizesRange(uint idx, int length, out ulong offset, out ulong maxsize) {
+                       UIntPtr native_offset;
+                       UIntPtr native_maxsize;
+                       UIntPtr raw_ret = gst_buffer_get_sizes_range(Handle, idx, length, out native_offset, out native_maxsize);
+                       ulong ret = (ulong) raw_ret;
+                       offset = (ulong) native_offset;
+                       maxsize = (ulong) native_maxsize;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_has_flags(IntPtr raw, int flags);
+
+               public bool HasFlags(Gst.BufferFlags flags) {
+                       bool raw_ret = gst_buffer_has_flags(Handle, (int) flags);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_insert_memory(IntPtr raw, int idx, IntPtr mem);
+
+               public void InsertMemory(int idx, Gst.Memory mem) {
+                       mem.Owned = false;
+                       gst_buffer_insert_memory(Handle, idx, mem == null ? IntPtr.Zero : mem.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_is_all_memory_writable(IntPtr raw);
+
+               public bool IsAllMemoryWritable { 
+                       get {
+                               bool raw_ret = gst_buffer_is_all_memory_writable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_is_memory_range_writable(IntPtr raw, uint idx, int length);
+
+               public bool IsMemoryRangeWritable(uint idx, int length) {
+                       bool raw_ret = gst_buffer_is_memory_range_writable(Handle, idx, length);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_map(IntPtr raw, IntPtr info, int flags);
+
+               public bool Map(out Gst.MapInfo info, Gst.MapFlags flags) {
+                       IntPtr native_info = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.MapInfo)));
+                       bool raw_ret = gst_buffer_map(Handle, native_info, (int) flags);
+                       bool ret = raw_ret;
+                       info = Gst.MapInfo.New (native_info);
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_map_range(IntPtr raw, uint idx, int length, IntPtr info, int flags);
+
+               public bool MapRange(uint idx, int length, out Gst.MapInfo info, Gst.MapFlags flags) {
+                       IntPtr native_info = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.MapInfo)));
+                       bool raw_ret = gst_buffer_map_range(Handle, idx, length, native_info, (int) flags);
+                       bool ret = raw_ret;
+                       info = Gst.MapInfo.New (native_info);
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_buffer_memcmp(IntPtr raw, UIntPtr offset, byte[] mem, UIntPtr n_length);
+
+               public int Memcmp(ulong offset, byte[] mem) {
+                       int raw_ret = gst_buffer_memcmp(Handle, new UIntPtr (offset), mem, new UIntPtr ((ulong) (mem == null ? 0 : mem.Length)));
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_buffer_memset(IntPtr raw, UIntPtr offset, byte val, UIntPtr size);
+
+               public ulong Memset(ulong offset, byte val, ulong size) {
+                       UIntPtr raw_ret = gst_buffer_memset(Handle, new UIntPtr (offset), val, new UIntPtr (size));
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_buffer_n_memory(IntPtr raw);
+
+               public uint NMemory() {
+                       uint raw_ret = gst_buffer_n_memory(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_peek_memory(IntPtr raw, uint idx);
+
+               public Gst.Memory PeekMemory(uint idx) {
+                       IntPtr raw_ret = gst_buffer_peek_memory(Handle, idx);
+                       Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Memory), false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_prepend_memory(IntPtr raw, IntPtr mem);
+
+               public void PrependMemory(Gst.Memory mem) {
+                       mem.Owned = false;
+                       gst_buffer_prepend_memory(Handle, mem == null ? IntPtr.Zero : mem.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_remove_all_memory(IntPtr raw);
+
+               public void RemoveAllMemory() {
+                       gst_buffer_remove_all_memory(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_remove_memory(IntPtr raw, uint idx);
+
+               public void RemoveMemory(uint idx) {
+                       gst_buffer_remove_memory(Handle, idx);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_remove_memory_range(IntPtr raw, uint idx, int length);
+
+               public void RemoveMemoryRange(uint idx, int length) {
+                       gst_buffer_remove_memory_range(Handle, idx, length);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_remove_meta(IntPtr raw, IntPtr meta);
+
+               public bool RemoveMeta(Gst.Meta meta) {
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool raw_ret = gst_buffer_remove_meta(Handle, native_meta);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_meta);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_replace_all_memory(IntPtr raw, IntPtr mem);
+
+               public void ReplaceAllMemory(Gst.Memory mem) {
+                       mem.Owned = false;
+                       gst_buffer_replace_all_memory(Handle, mem == null ? IntPtr.Zero : mem.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_replace_memory(IntPtr raw, uint idx, IntPtr mem);
+
+               public void ReplaceMemory(uint idx, Gst.Memory mem) {
+                       mem.Owned = false;
+                       gst_buffer_replace_memory(Handle, idx, mem == null ? IntPtr.Zero : mem.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_replace_memory_range(IntPtr raw, uint idx, int length, IntPtr mem);
+
+               public void ReplaceMemoryRange(uint idx, int length, Gst.Memory mem) {
+                       mem.Owned = false;
+                       gst_buffer_replace_memory_range(Handle, idx, length, mem == null ? IntPtr.Zero : mem.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_resize(IntPtr raw, IntPtr offset, IntPtr size);
+
+               public void Resize(long offset, long size) {
+                       gst_buffer_resize(Handle, new IntPtr (offset), new IntPtr (size));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_resize_range(IntPtr raw, uint idx, int length, IntPtr offset, IntPtr size);
+
+               public bool ResizeRange(uint idx, int length, long offset, long size) {
+                       bool raw_ret = gst_buffer_resize_range(Handle, idx, length, new IntPtr (offset), new IntPtr (size));
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_set_flags(IntPtr raw, int flags);
+
+               public bool SetFlags(Gst.BufferFlags flags) {
+                       bool raw_ret = gst_buffer_set_flags(Handle, (int) flags);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_set_size(IntPtr raw, IntPtr size);
+
+               public void SetSize(long size) {
+                       gst_buffer_set_size(Handle, new IntPtr (size));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_unmap(IntPtr raw, IntPtr info);
+
+               public void Unmap(Gst.MapInfo info) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       gst_buffer_unmap(Handle, native_info);
+                       Marshal.FreeHGlobal (native_info);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_unset_flags(IntPtr raw, int flags);
+
+               public bool UnsetFlags(Gst.BufferFlags flags) {
+                       bool raw_ret = gst_buffer_unset_flags(Handle, (int) flags);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_buffer_get_max_memory();
+
+               public static uint MaxMemory { 
+                       get {
+                               uint raw_ret = gst_buffer_get_max_memory();
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               public Buffer(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_new();
+
+               public Buffer () 
+               {
+                       Raw = gst_buffer_new();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_new_allocate(IntPtr allocator, UIntPtr size, IntPtr parms);
+
+               public Buffer (Gst.Allocator allocator, ulong size, Gst.AllocationParams parms) 
+               {
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       Raw = gst_buffer_new_allocate(allocator == null ? IntPtr.Zero : allocator.Handle, new UIntPtr (size), native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_new_wrapped(byte[] data, UIntPtr n_length);
+
+               public Buffer (byte[] data) 
+               {
+                       Raw = gst_buffer_new_wrapped(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_new_wrapped_full(int flags, byte[] data, UIntPtr maxsize, UIntPtr offset, UIntPtr size, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Buffer (Gst.MemoryFlags flags, byte[] data, ulong maxsize, ulong offset, ulong size, IntPtr user_data, GLib.DestroyNotify notify) 
+               {
+                       Raw = gst_buffer_new_wrapped_full((int) flags, data, new UIntPtr (maxsize), new UIntPtr (offset), new UIntPtr (size), user_data, notify);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("pool"
+                                                       , Gst.MiniObject.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pool
+                                                       , null
+                                                       , "pts"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pts"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // pts
+                                                       , "pool"
+                                                       , "dts"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBuffer_ptsAlign), "pts")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("dts"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // dts
+                                                       , "pts"
+                                                       , "duration"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBuffer_dtsAlign), "dts")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("duration"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // duration
+                                                       , "dts"
+                                                       , "offset"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBuffer_durationAlign), "duration")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("offset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // offset
+                                                       , "duration"
+                                                       , "offset_end"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBuffer_offsetAlign), "offset")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("offset_end"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // offset_end
+                                                       , "offset"
+                                                       , null
+                                                       , (long) Marshal.OffsetOf(typeof(GstBuffer_offset_endAlign), "offset_end")
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBuffer_ptsAlign
+               {
+                       sbyte f1;
+                       private ulong pts;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBuffer_dtsAlign
+               {
+                       sbyte f1;
+                       private ulong dts;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBuffer_durationAlign
+               {
+                       sbyte f1;
+                       private ulong duration;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBuffer_offsetAlign
+               {
+                       sbyte f1;
+                       private ulong offset;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBuffer_offset_endAlign
+               {
+                       sbyte f1;
+                       private ulong offset_end;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_BufferCopyFlags.cs b/sources/generated/Gst_BufferCopyFlags.cs
new file mode 100644 (file)
index 0000000..1d9a8a8
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.BufferCopyFlagsGType))]
+       public enum BufferCopyFlags {
+
+               None = 0,
+               Flags = 1,
+               Timestamps = 2,
+               Meta = 4,
+               Memory = 8,
+               Merge = 16,
+               Deep = 32,
+       }
+
+       internal class BufferCopyFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_copy_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_buffer_copy_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_BufferFlags.cs b/sources/generated/Gst_BufferFlags.cs
new file mode 100644 (file)
index 0000000..a688f57
--- /dev/null
@@ -0,0 +1,40 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.BufferFlagsGType))]
+       public enum BufferFlags {
+
+               Live = 16,
+               DecodeOnly = 32,
+               Discont = 64,
+               Resync = 128,
+               Corrupted = 256,
+               Marker = 512,
+               Header = 1024,
+               Gap = 2048,
+               Droppable = 4096,
+               DeltaUnit = 8192,
+               TagMemory = 16384,
+               SyncAfter = 32768,
+               Last = 1048576,
+       }
+
+       internal class BufferFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_buffer_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_BufferForeachMetaFunc.cs b/sources/generated/Gst_BufferForeachMetaFunc.cs
new file mode 100644 (file)
index 0000000..3b88764
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool BufferForeachMetaFunc(Gst.Buffer buffer, out Gst.Meta meta);
+
+}
diff --git a/sources/generated/Gst_BufferList.cs b/sources/generated/Gst_BufferList.cs
new file mode 100644 (file)
index 0000000..9db93c6
--- /dev/null
@@ -0,0 +1,131 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BufferList : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_list_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_buffer_list_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_buffer_list_calculate_size(IntPtr raw);
+
+               public ulong CalculateSize() {
+                       UIntPtr raw_ret = gst_buffer_list_calculate_size(Handle);
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_list_copy_deep(IntPtr raw);
+
+               public Gst.BufferList CopyDeep() {
+                       IntPtr raw_ret = gst_buffer_list_copy_deep(Handle);
+                       Gst.BufferList ret = raw_ret == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.BufferList), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_list_foreach(IntPtr raw, GstSharp.BufferListFuncNative func, IntPtr user_data);
+
+               public bool Foreach(Gst.BufferListFunc func) {
+                       GstSharp.BufferListFuncWrapper func_wrapper = new GstSharp.BufferListFuncWrapper (func);
+                       bool raw_ret = gst_buffer_list_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_list_get(IntPtr raw, uint idx);
+
+               public Gst.Buffer Get(uint idx) {
+                       IntPtr raw_ret = gst_buffer_list_get(Handle, idx);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_list_get_writable(IntPtr raw, uint idx);
+
+               public Gst.Buffer GetWritable(uint idx) {
+                       IntPtr raw_ret = gst_buffer_list_get_writable(Handle, idx);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_list_insert(IntPtr raw, int idx, IntPtr buffer);
+
+               public void Insert(int idx, Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       gst_buffer_list_insert(Handle, idx, buffer == null ? IntPtr.Zero : buffer.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_buffer_list_length(IntPtr raw);
+
+               public uint Length() {
+                       uint raw_ret = gst_buffer_list_length(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_list_remove(IntPtr raw, uint idx, uint length);
+
+               public void Remove(uint idx, uint length) {
+                       gst_buffer_list_remove(Handle, idx, length);
+               }
+
+               public BufferList(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_list_new();
+
+               public BufferList () 
+               {
+                       Raw = gst_buffer_list_new();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_list_new_sized(uint size);
+
+               public BufferList (uint size) 
+               {
+                       Raw = gst_buffer_list_new_sized(size);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_BufferListFunc.cs b/sources/generated/Gst_BufferListFunc.cs
new file mode 100644 (file)
index 0000000..1ca8be4
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool BufferListFunc(out Gst.Buffer buffer, uint idx);
+
+}
diff --git a/sources/generated/Gst_BufferPool.cs b/sources/generated/Gst_BufferPool.cs
new file mode 100644 (file)
index 0000000..a4ccd9c
--- /dev/null
@@ -0,0 +1,1018 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class BufferPool : Gst.Object {
+
+               public BufferPool (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_pool_new();
+
+               public BufferPool () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (BufferPool)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_buffer_pool_new();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_pool_set_flushing(IntPtr raw, bool flushing);
+
+               public bool Flushing {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("flushing"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set  {
+                               gst_buffer_pool_set_flushing(Handle, value);
+                       }
+               }
+
+               static GetOptionsNativeDelegate GetOptions_cb_delegate;
+               static GetOptionsNativeDelegate GetOptionsVMCallback {
+                       get {
+                               if (GetOptions_cb_delegate == null)
+                                       GetOptions_cb_delegate = new GetOptionsNativeDelegate (GetOptions_cb);
+                               return GetOptions_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetOptions (GLib.GType gtype)
+               {
+                       OverrideGetOptions (gtype, GetOptionsVMCallback);
+               }
+
+               static void OverrideGetOptions (GLib.GType gtype, GetOptionsNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_options"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetOptionsNativeDelegate (IntPtr inst);
+
+               static IntPtr GetOptions_cb (IntPtr inst)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               string[] __result;
+                               __result = __obj.OnGetOptions ();
+                               return GLib.Marshaller.StringArrayToNullTermStrvPointer (__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideGetOptions")]
+               protected virtual string[] OnGetOptions ()
+               {
+                       return InternalGetOptions ();
+               }
+
+               private string[] InternalGetOptions ()
+               {
+                       GetOptionsNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_options"));
+                               unmanaged = (GetOptionsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetOptionsNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle);
+                       return GLib.Marshaller.NullTermPtrToStringArray (__result, false);
+               }
+
+               static SetConfigNativeDelegate SetConfig_cb_delegate;
+               static SetConfigNativeDelegate SetConfigVMCallback {
+                       get {
+                               if (SetConfig_cb_delegate == null)
+                                       SetConfig_cb_delegate = new SetConfigNativeDelegate (SetConfig_cb);
+                               return SetConfig_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetConfig (GLib.GType gtype)
+               {
+                       OverrideSetConfig (gtype, SetConfigVMCallback);
+               }
+
+               static void OverrideSetConfig (GLib.GType gtype, SetConfigNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_config"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetConfigNativeDelegate (IntPtr inst, IntPtr config);
+
+               static bool SetConfig_cb (IntPtr inst, IntPtr config)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               bool __result;
+                               __result = __obj.OnSetConfig (config == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (config, typeof (Gst.Structure), true));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideSetConfig")]
+               protected virtual bool OnSetConfig (Gst.Structure config)
+               {
+                       return InternalSetConfig (config);
+               }
+
+               private bool InternalSetConfig (Gst.Structure config)
+               {
+                       SetConfigNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_config"));
+                               unmanaged = (SetConfigNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetConfigNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       config.Owned = false;
+                       bool __result = unmanaged (this.Handle, config == null ? IntPtr.Zero : config.Handle);
+                       return __result;
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StopNativeDelegate (IntPtr inst);
+
+               static bool Stop_cb (IntPtr inst)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               bool __result;
+                               __result = __obj.OnStop ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideStop")]
+               protected virtual bool OnStop ()
+               {
+                       return InternalStop ();
+               }
+
+               private bool InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static AcquireBufferNativeDelegate AcquireBuffer_cb_delegate;
+               static AcquireBufferNativeDelegate AcquireBufferVMCallback {
+                       get {
+                               if (AcquireBuffer_cb_delegate == null)
+                                       AcquireBuffer_cb_delegate = new AcquireBufferNativeDelegate (AcquireBuffer_cb);
+                               return AcquireBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideAcquireBuffer (GLib.GType gtype)
+               {
+                       OverrideAcquireBuffer (gtype, AcquireBufferVMCallback);
+               }
+
+               static void OverrideAcquireBuffer (GLib.GType gtype, AcquireBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("acquire_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AcquireBufferNativeDelegate (IntPtr inst, out IntPtr buffer, IntPtr parms);
+
+               static int AcquireBuffer_cb (IntPtr inst, out IntPtr buffer, IntPtr parms)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               Gst.FlowReturn __result;
+                               Gst.Buffer mybuffer;
+                               __result = __obj.OnAcquireBuffer (out mybuffer, Gst.BufferPoolAcquireParams.New (parms));
+                               buffer = mybuffer == null ? IntPtr.Zero : mybuffer.Handle;
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideAcquireBuffer")]
+               protected virtual Gst.FlowReturn OnAcquireBuffer (out Gst.Buffer buffer, Gst.BufferPoolAcquireParams parms)
+               {
+                       return InternalAcquireBuffer (out buffer, parms);
+               }
+
+               private Gst.FlowReturn InternalAcquireBuffer (out Gst.Buffer buffer, Gst.BufferPoolAcquireParams parms)
+               {
+                       AcquireBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("acquire_buffer"));
+                               unmanaged = (AcquireBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AcquireBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       IntPtr native_buffer;
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       int __result = unmanaged (this.Handle, out native_buffer, native_parms);
+                       buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+                       Marshal.FreeHGlobal (native_parms);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static AllocBufferNativeDelegate AllocBuffer_cb_delegate;
+               static AllocBufferNativeDelegate AllocBufferVMCallback {
+                       get {
+                               if (AllocBuffer_cb_delegate == null)
+                                       AllocBuffer_cb_delegate = new AllocBufferNativeDelegate (AllocBuffer_cb);
+                               return AllocBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideAllocBuffer (GLib.GType gtype)
+               {
+                       OverrideAllocBuffer (gtype, AllocBufferVMCallback);
+               }
+
+               static void OverrideAllocBuffer (GLib.GType gtype, AllocBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("alloc_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AllocBufferNativeDelegate (IntPtr inst, IntPtr buffer, IntPtr parms);
+
+               static int AllocBuffer_cb (IntPtr inst, IntPtr buffer, IntPtr parms)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               Gst.FlowReturn __result;
+                               __result = __obj.OnAllocBuffer (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), Gst.BufferPoolAcquireParams.New (parms));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideAllocBuffer")]
+               protected virtual Gst.FlowReturn OnAllocBuffer (Gst.Buffer buffer, Gst.BufferPoolAcquireParams parms)
+               {
+                       return InternalAllocBuffer (buffer, parms);
+               }
+
+               private Gst.FlowReturn InternalAllocBuffer (Gst.Buffer buffer, Gst.BufferPoolAcquireParams parms)
+               {
+                       AllocBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("alloc_buffer"));
+                               unmanaged = (AllocBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AllocBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+                       return (Gst.FlowReturn) __result;
+               }
+
+               static ResetBufferNativeDelegate ResetBuffer_cb_delegate;
+               static ResetBufferNativeDelegate ResetBufferVMCallback {
+                       get {
+                               if (ResetBuffer_cb_delegate == null)
+                                       ResetBuffer_cb_delegate = new ResetBufferNativeDelegate (ResetBuffer_cb);
+                               return ResetBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideResetBuffer (GLib.GType gtype)
+               {
+                       OverrideResetBuffer (gtype, ResetBufferVMCallback);
+               }
+
+               static void OverrideResetBuffer (GLib.GType gtype, ResetBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("reset_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ResetBufferNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static void ResetBuffer_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               __obj.OnResetBuffer (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideResetBuffer")]
+               protected virtual void OnResetBuffer (Gst.Buffer buffer)
+               {
+                       InternalResetBuffer (buffer);
+               }
+
+               private void InternalResetBuffer (Gst.Buffer buffer)
+               {
+                       ResetBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("reset_buffer"));
+                               unmanaged = (ResetBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResetBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+               }
+
+               static ReleaseBufferNativeDelegate ReleaseBuffer_cb_delegate;
+               static ReleaseBufferNativeDelegate ReleaseBufferVMCallback {
+                       get {
+                               if (ReleaseBuffer_cb_delegate == null)
+                                       ReleaseBuffer_cb_delegate = new ReleaseBufferNativeDelegate (ReleaseBuffer_cb);
+                               return ReleaseBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideReleaseBuffer (GLib.GType gtype)
+               {
+                       OverrideReleaseBuffer (gtype, ReleaseBufferVMCallback);
+               }
+
+               static void OverrideReleaseBuffer (GLib.GType gtype, ReleaseBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("release_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ReleaseBufferNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static void ReleaseBuffer_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               __obj.OnReleaseBuffer (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), true));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideReleaseBuffer")]
+               protected virtual void OnReleaseBuffer (Gst.Buffer buffer)
+               {
+                       InternalReleaseBuffer (buffer);
+               }
+
+               private void InternalReleaseBuffer (Gst.Buffer buffer)
+               {
+                       ReleaseBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("release_buffer"));
+                               unmanaged = (ReleaseBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ReleaseBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       buffer.Owned = false;
+                       unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+               }
+
+               static FreeBufferNativeDelegate FreeBuffer_cb_delegate;
+               static FreeBufferNativeDelegate FreeBufferVMCallback {
+                       get {
+                               if (FreeBuffer_cb_delegate == null)
+                                       FreeBuffer_cb_delegate = new FreeBufferNativeDelegate (FreeBuffer_cb);
+                               return FreeBuffer_cb_delegate;
+                       }
+               }
+
+               static void OverrideFreeBuffer (GLib.GType gtype)
+               {
+                       OverrideFreeBuffer (gtype, FreeBufferVMCallback);
+               }
+
+               static void OverrideFreeBuffer (GLib.GType gtype, FreeBufferNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("free_buffer"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FreeBufferNativeDelegate (IntPtr inst, IntPtr buffer);
+
+               static void FreeBuffer_cb (IntPtr inst, IntPtr buffer)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               __obj.OnFreeBuffer (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideFreeBuffer")]
+               protected virtual void OnFreeBuffer (Gst.Buffer buffer)
+               {
+                       InternalFreeBuffer (buffer);
+               }
+
+               private void InternalFreeBuffer (Gst.Buffer buffer)
+               {
+                       FreeBufferNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("free_buffer"));
+                               unmanaged = (FreeBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FreeBufferNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+               }
+
+               static FlushStartNativeDelegate FlushStart_cb_delegate;
+               static FlushStartNativeDelegate FlushStartVMCallback {
+                       get {
+                               if (FlushStart_cb_delegate == null)
+                                       FlushStart_cb_delegate = new FlushStartNativeDelegate (FlushStart_cb);
+                               return FlushStart_cb_delegate;
+                       }
+               }
+
+               static void OverrideFlushStart (GLib.GType gtype)
+               {
+                       OverrideFlushStart (gtype, FlushStartVMCallback);
+               }
+
+               static void OverrideFlushStart (GLib.GType gtype, FlushStartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush_start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FlushStartNativeDelegate (IntPtr inst);
+
+               static void FlushStart_cb (IntPtr inst)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               __obj.OnFlushStart ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideFlushStart")]
+               protected virtual void OnFlushStart ()
+               {
+                       InternalFlushStart ();
+               }
+
+               private void InternalFlushStart ()
+               {
+                       FlushStartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush_start"));
+                               unmanaged = (FlushStartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushStartNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static FlushStopNativeDelegate FlushStop_cb_delegate;
+               static FlushStopNativeDelegate FlushStopVMCallback {
+                       get {
+                               if (FlushStop_cb_delegate == null)
+                                       FlushStop_cb_delegate = new FlushStopNativeDelegate (FlushStop_cb);
+                               return FlushStop_cb_delegate;
+                       }
+               }
+
+               static void OverrideFlushStop (GLib.GType gtype)
+               {
+                       OverrideFlushStop (gtype, FlushStopVMCallback);
+               }
+
+               static void OverrideFlushStop (GLib.GType gtype, FlushStopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush_stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FlushStopNativeDelegate (IntPtr inst);
+
+               static void FlushStop_cb (IntPtr inst)
+               {
+                       try {
+                               BufferPool __obj = GLib.Object.GetObject (inst, false) as BufferPool;
+                               __obj.OnFlushStop ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.BufferPool), ConnectionMethod="OverrideFlushStop")]
+               protected virtual void OnFlushStop ()
+               {
+                       InternalFlushStop ();
+               }
+
+               private void InternalFlushStop ()
+               {
+                       FlushStopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush_stop"));
+                               unmanaged = (FlushStopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushStopNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("get_options"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_options
+                                                       , null
+                                                       , "set_config"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_config"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_config
+                                                       , "get_options"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "set_config"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "acquire_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("acquire_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // acquire_buffer
+                                                       , "stop"
+                                                       , "alloc_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("alloc_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // alloc_buffer
+                                                       , "acquire_buffer"
+                                                       , "reset_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("reset_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // reset_buffer
+                                                       , "alloc_buffer"
+                                                       , "release_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("release_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // release_buffer
+                                                       , "reset_buffer"
+                                                       , "free_buffer"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("free_buffer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // free_buffer
+                                                       , "release_buffer"
+                                                       , "flush_start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flush_start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush_start
+                                                       , "free_buffer"
+                                                       , "flush_stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flush_stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush_stop
+                                                       , "flush_start"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 2 // _gst_reserved
+                                                       , "flush_stop"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_pool_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_buffer_pool_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_pool_config_add_option(IntPtr config, IntPtr option);
+
+               public static void ConfigAddOption(Gst.Structure config, string option) {
+                       IntPtr native_option = GLib.Marshaller.StringToPtrGStrdup (option);
+                       gst_buffer_pool_config_add_option(config == null ? IntPtr.Zero : config.Handle, native_option);
+                       GLib.Marshaller.Free (native_option);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_config_get_allocator(IntPtr config, out IntPtr allocator, IntPtr parms);
+
+               public static bool ConfigGetAllocator(Gst.Structure config, out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       bool raw_ret = gst_buffer_pool_config_get_allocator(config == null ? IntPtr.Zero : config.Handle, out native_allocator, native_parms);
+                       bool ret = raw_ret;
+                       allocator = GLib.Object.GetObject(native_allocator) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_pool_config_get_option(IntPtr config, uint index);
+
+               public static string ConfigGetOption(Gst.Structure config, uint index) {
+                       IntPtr raw_ret = gst_buffer_pool_config_get_option(config == null ? IntPtr.Zero : config.Handle, index);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_config_get_params(IntPtr config, out IntPtr caps, out uint size, out uint min_buffers, out uint max_buffers);
+
+               public static bool ConfigGetParams(Gst.Structure config, out Gst.Caps caps, out uint size, out uint min_buffers, out uint max_buffers) {
+                       IntPtr native_caps;
+                       bool raw_ret = gst_buffer_pool_config_get_params(config == null ? IntPtr.Zero : config.Handle, out native_caps, out size, out min_buffers, out max_buffers);
+                       bool ret = raw_ret;
+                       caps = native_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_caps, typeof (Gst.Caps), false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_config_has_option(IntPtr config, IntPtr option);
+
+               public static bool ConfigHasOption(Gst.Structure config, string option) {
+                       IntPtr native_option = GLib.Marshaller.StringToPtrGStrdup (option);
+                       bool raw_ret = gst_buffer_pool_config_has_option(config == null ? IntPtr.Zero : config.Handle, native_option);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_option);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_buffer_pool_config_n_options(IntPtr config);
+
+               public static uint ConfigNOptions(Gst.Structure config) {
+                       uint raw_ret = gst_buffer_pool_config_n_options(config == null ? IntPtr.Zero : config.Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_pool_config_set_allocator(IntPtr config, IntPtr allocator, IntPtr parms);
+
+               public static void ConfigSetAllocator(Gst.Structure config, Gst.Allocator allocator, Gst.AllocationParams parms) {
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       gst_buffer_pool_config_set_allocator(config == null ? IntPtr.Zero : config.Handle, allocator == null ? IntPtr.Zero : allocator.Handle, native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               public static void ConfigSetAllocator(Gst.Structure config) {
+                       ConfigSetAllocator (config, null, Gst.AllocationParams.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_pool_config_set_params(IntPtr config, IntPtr caps, uint size, uint min_buffers, uint max_buffers);
+
+               public static void ConfigSetParams(Gst.Structure config, Gst.Caps caps, uint size, uint min_buffers, uint max_buffers) {
+                       gst_buffer_pool_config_set_params(config == null ? IntPtr.Zero : config.Handle, caps == null ? IntPtr.Zero : caps.Handle, size, min_buffers, max_buffers);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_config_validate_params(IntPtr config, IntPtr caps, uint size, uint min_buffers, uint max_buffers);
+
+               public static bool ConfigValidateParams(Gst.Structure config, Gst.Caps caps, uint size, uint min_buffers, uint max_buffers) {
+                       bool raw_ret = gst_buffer_pool_config_validate_params(config == null ? IntPtr.Zero : config.Handle, caps == null ? IntPtr.Zero : caps.Handle, size, min_buffers, max_buffers);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_buffer_pool_acquire_buffer(IntPtr raw, out IntPtr buffer, IntPtr parms);
+
+               public Gst.FlowReturn AcquireBuffer(out Gst.Buffer buffer, Gst.BufferPoolAcquireParams parms) {
+                       IntPtr native_buffer;
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       int raw_ret = gst_buffer_pool_acquire_buffer(Handle, out native_buffer, native_parms);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+                       Marshal.FreeHGlobal (native_parms);
+                       return ret;
+               }
+
+               public Gst.FlowReturn AcquireBuffer(out Gst.Buffer buffer) {
+                       return AcquireBuffer (out buffer, Gst.BufferPoolAcquireParams.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_pool_get_config(IntPtr raw);
+
+               public Gst.Structure Config { 
+                       get {
+                               IntPtr raw_ret = gst_buffer_pool_get_config(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_pool_get_options(IntPtr raw);
+
+               public string[] Options { 
+                       get {
+                               IntPtr raw_ret = gst_buffer_pool_get_options(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_has_option(IntPtr raw, IntPtr option);
+
+               public bool HasOption(string option) {
+                       IntPtr native_option = GLib.Marshaller.StringToPtrGStrdup (option);
+                       bool raw_ret = gst_buffer_pool_has_option(Handle, native_option);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_option);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_is_active(IntPtr raw);
+
+               public bool IsActive { 
+                       get {
+                               bool raw_ret = gst_buffer_pool_is_active(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_buffer_pool_release_buffer(IntPtr raw, IntPtr buffer);
+
+               public void ReleaseBuffer(Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       gst_buffer_pool_release_buffer(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_set_active(IntPtr raw, bool active);
+
+               public bool SetActive(bool active) {
+                       bool raw_ret = gst_buffer_pool_set_active(Handle, active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_buffer_pool_set_config(IntPtr raw, IntPtr config);
+
+               public bool SetConfig(Gst.Structure config) {
+                       config.Owned = false;
+                       bool raw_ret = gst_buffer_pool_set_config(Handle, config == null ? IntPtr.Zero : config.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("flushing"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // flushing
+                                                       , null
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstBufferPool_flushingAlign), "flushing")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "flushing"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstBufferPool_flushingAlign
+               {
+                       sbyte f1;
+                       private bool flushing;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_BufferPoolAcquireFlags.cs b/sources/generated/Gst_BufferPoolAcquireFlags.cs
new file mode 100644 (file)
index 0000000..1c7fe74
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.BufferPoolAcquireFlagsGType))]
+       public enum BufferPoolAcquireFlags {
+
+               None = 0,
+               KeyUnit = 1,
+               Dontwait = 2,
+               Discont = 4,
+               Last = 65536,
+       }
+
+       internal class BufferPoolAcquireFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffer_pool_acquire_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_buffer_pool_acquire_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_BufferPoolAcquireParams.cs b/sources/generated/Gst_BufferPoolAcquireParams.cs
new file mode 100644 (file)
index 0000000..c9cca37
--- /dev/null
@@ -0,0 +1,50 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct BufferPoolAcquireParams : IEquatable<BufferPoolAcquireParams> {
+
+               public Gst.Format Format;
+               public long Start;
+               public long Stop;
+               public Gst.BufferPoolAcquireFlags Flags;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.BufferPoolAcquireParams Zero = new Gst.BufferPoolAcquireParams ();
+
+               public static Gst.BufferPoolAcquireParams New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.BufferPoolAcquireParams.Zero;
+                       return (Gst.BufferPoolAcquireParams) Marshal.PtrToStructure (raw, typeof (Gst.BufferPoolAcquireParams));
+               }
+
+               public bool Equals (BufferPoolAcquireParams other)
+               {
+                       return true && Format.Equals (other.Format) && Start.Equals (other.Start) && Stop.Equals (other.Stop) && Flags.Equals (other.Flags);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is BufferPoolAcquireParams && Equals ((BufferPoolAcquireParams) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Format.GetHashCode () ^ Start.GetHashCode () ^ Stop.GetHashCode () ^ Flags.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_BufferingMode.cs b/sources/generated/Gst_BufferingMode.cs
new file mode 100644 (file)
index 0000000..2b2e550
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.BufferingModeGType))]
+       public enum BufferingMode {
+
+               Stream = 0,
+               Download = 1,
+               Timeshift = 2,
+               Live = 3,
+       }
+
+       internal class BufferingModeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_buffering_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_buffering_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Bus.cs b/sources/generated/Gst_Bus.cs
new file mode 100644 (file)
index 0000000..e805298
--- /dev/null
@@ -0,0 +1,441 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Bus : Gst.Object {
+
+               public Bus (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_new();
+
+               public Bus () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Bus)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_bus_new();
+               }
+
+               [GLib.Signal("sync-message")]
+               public event Gst.SyncMessageHandler SyncMessage {
+                       add {
+                               this.AddSignalHandler ("sync-message", value, typeof (Gst.SyncMessageArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("sync-message", value);
+                       }
+               }
+
+               [GLib.Signal("message")]
+               public event Gst.MessageHandler Message {
+                       add {
+                               this.AddSignalHandler ("message", value, typeof (Gst.MessageArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("message", value);
+                       }
+               }
+
+               static MessageNativeDelegate Message_cb_delegate;
+               static MessageNativeDelegate MessageVMCallback {
+                       get {
+                               if (Message_cb_delegate == null)
+                                       Message_cb_delegate = new MessageNativeDelegate (Message_cb);
+                               return Message_cb_delegate;
+                       }
+               }
+
+               static void OverrideMessage (GLib.GType gtype)
+               {
+                       OverrideMessage (gtype, MessageVMCallback);
+               }
+
+               static void OverrideMessage (GLib.GType gtype, MessageNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("message"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void MessageNativeDelegate (IntPtr inst, IntPtr message);
+
+               static void Message_cb (IntPtr inst, IntPtr message)
+               {
+                       try {
+                               Bus __obj = GLib.Object.GetObject (inst, false) as Bus;
+                               __obj.OnMessage (message == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (message, typeof (Gst.Message), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bus), ConnectionMethod="OverrideMessage")]
+               protected virtual void OnMessage (Gst.Message message)
+               {
+                       InternalMessage (message);
+               }
+
+               private void InternalMessage (Gst.Message message)
+               {
+                       MessageNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("message"));
+                               unmanaged = (MessageNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(MessageNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, message == null ? IntPtr.Zero : message.Handle);
+               }
+
+               static SyncMessageNativeDelegate SyncMessage_cb_delegate;
+               static SyncMessageNativeDelegate SyncMessageVMCallback {
+                       get {
+                               if (SyncMessage_cb_delegate == null)
+                                       SyncMessage_cb_delegate = new SyncMessageNativeDelegate (SyncMessage_cb);
+                               return SyncMessage_cb_delegate;
+                       }
+               }
+
+               static void OverrideSyncMessage (GLib.GType gtype)
+               {
+                       OverrideSyncMessage (gtype, SyncMessageVMCallback);
+               }
+
+               static void OverrideSyncMessage (GLib.GType gtype, SyncMessageNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sync_message"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SyncMessageNativeDelegate (IntPtr inst, IntPtr message);
+
+               static void SyncMessage_cb (IntPtr inst, IntPtr message)
+               {
+                       try {
+                               Bus __obj = GLib.Object.GetObject (inst, false) as Bus;
+                               __obj.OnSyncMessage (message == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (message, typeof (Gst.Message), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Bus), ConnectionMethod="OverrideSyncMessage")]
+               protected virtual void OnSyncMessage (Gst.Message message)
+               {
+                       InternalSyncMessage (message);
+               }
+
+               private void InternalSyncMessage (Gst.Message message)
+               {
+                       SyncMessageNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sync_message"));
+                               unmanaged = (SyncMessageNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SyncMessageNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, message == null ? IntPtr.Zero : message.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("message"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // message
+                                                       , null
+                                                       , "sync_message"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sync_message"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sync_message
+                                                       , "message"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "sync_message"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_bus_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bus_add_signal_watch(IntPtr raw);
+
+               public void AddSignalWatch() {
+                       gst_bus_add_signal_watch(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bus_add_signal_watch_full(IntPtr raw, int priority);
+
+               public void AddSignalWatchFull(int priority) {
+                       gst_bus_add_signal_watch_full(Handle, priority);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_bus_add_watch_full(IntPtr raw, int priority, GstSharp.BusFuncNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public uint AddWatchFull(int priority, Gst.BusFunc func) {
+                       GstSharp.BusFuncWrapper func_wrapper = new GstSharp.BusFuncWrapper (func);
+                       IntPtr user_data;
+                       GLib.DestroyNotify notify;
+                       if (func == null) {
+                               user_data = IntPtr.Zero;
+                               notify = null;
+                       } else {
+                               user_data = (IntPtr) GCHandle.Alloc (func_wrapper);
+                               notify = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       uint raw_ret = gst_bus_add_watch_full(Handle, priority, func_wrapper.NativeDelegate, user_data, notify);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bus_async_signal_func(IntPtr raw, IntPtr message, IntPtr data);
+
+               public bool AsyncSignalFunc(Gst.Message message, IntPtr data) {
+                       bool raw_ret = gst_bus_async_signal_func(Handle, message == null ? IntPtr.Zero : message.Handle, data);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_create_watch(IntPtr raw);
+
+               public GLib.Source CreateWatch() {
+                       IntPtr raw_ret = gst_bus_create_watch(Handle);
+                       GLib.Source ret = new GLib.Source(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bus_disable_sync_message_emission(IntPtr raw);
+
+               public void DisableSyncMessageEmission() {
+                       gst_bus_disable_sync_message_emission(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bus_enable_sync_message_emission(IntPtr raw);
+
+               public void EnableSyncMessageEmission() {
+                       gst_bus_enable_sync_message_emission(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bus_get_pollfd(IntPtr raw, out GLib.PollFD fd);
+
+               public GLib.PollFD Pollfd { 
+                       get {
+                               GLib.PollFD fd;
+                               gst_bus_get_pollfd(Handle, out fd);
+                               return fd;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bus_have_pending(IntPtr raw);
+
+               public bool HavePending() {
+                       bool raw_ret = gst_bus_have_pending(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_peek(IntPtr raw);
+
+               public Gst.Message Peek() {
+                       IntPtr raw_ret = gst_bus_peek(Handle);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_poll(IntPtr raw, int events, ulong timeout);
+
+               public Gst.Message Poll(Gst.MessageType events, ulong timeout) {
+                       IntPtr raw_ret = gst_bus_poll(Handle, (int) events, timeout);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_pop(IntPtr raw);
+
+               public Gst.Message Pop() {
+                       IntPtr raw_ret = gst_bus_pop(Handle);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_pop_filtered(IntPtr raw, int types);
+
+               public Gst.Message PopFiltered(Gst.MessageType types) {
+                       IntPtr raw_ret = gst_bus_pop_filtered(Handle, (int) types);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bus_post(IntPtr raw, IntPtr message);
+
+               public bool Post(Gst.Message message) {
+                       message.Owned = false;
+                       bool raw_ret = gst_bus_post(Handle, message == null ? IntPtr.Zero : message.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bus_remove_signal_watch(IntPtr raw);
+
+               public void RemoveSignalWatch() {
+                       gst_bus_remove_signal_watch(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_bus_remove_watch(IntPtr raw);
+
+               public bool RemoveWatch() {
+                       bool raw_ret = gst_bus_remove_watch(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bus_set_flushing(IntPtr raw, bool flushing);
+
+               public bool Flushing { 
+                       set {
+                               gst_bus_set_flushing(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_bus_set_sync_handler(IntPtr raw, GstSharp.BusSyncHandlerNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.BusSyncHandler SyncHandler { 
+                       set {
+                               GstSharp.BusSyncHandlerWrapper value_wrapper = new GstSharp.BusSyncHandlerWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_bus_set_sync_handler(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_bus_sync_signal_handler(IntPtr raw, IntPtr message, IntPtr data);
+
+               public Gst.BusSyncReply SyncSignalHandler(Gst.Message message) {
+                       int raw_ret = gst_bus_sync_signal_handler(Handle, message == null ? IntPtr.Zero : message.Handle, IntPtr.Zero);
+                       Gst.BusSyncReply ret = (Gst.BusSyncReply) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_timed_pop(IntPtr raw, ulong timeout);
+
+               public Gst.Message TimedPop(ulong timeout) {
+                       IntPtr raw_ret = gst_bus_timed_pop(Handle, timeout);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_timed_pop_filtered(IntPtr raw, ulong timeout, int types);
+
+               public Gst.Message TimedPopFiltered(ulong timeout, Gst.MessageType types) {
+                       IntPtr raw_ret = gst_bus_timed_pop_filtered(Handle, timeout, (int) types);
+                       Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_BusFlags.cs b/sources/generated/Gst_BusFlags.cs
new file mode 100644 (file)
index 0000000..79fcc7e
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.BusFlagsGType))]
+       public enum BusFlags {
+
+               Flushing = 16,
+               FlagLast = 32,
+       }
+
+       internal class BusFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_bus_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_BusFunc.cs b/sources/generated/Gst_BusFunc.cs
new file mode 100644 (file)
index 0000000..c152640
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool BusFunc(Gst.Bus bus, Gst.Message message);
+
+}
diff --git a/sources/generated/Gst_BusSyncHandler.cs b/sources/generated/Gst_BusSyncHandler.cs
new file mode 100644 (file)
index 0000000..61513bf
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.BusSyncReply BusSyncHandler(Gst.Bus bus, Gst.Message message);
+
+}
diff --git a/sources/generated/Gst_BusSyncReply.cs b/sources/generated/Gst_BusSyncReply.cs
new file mode 100644 (file)
index 0000000..4126b58
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.BusSyncReplyGType))]
+       public enum BusSyncReply {
+
+               Drop = 0,
+               Pass = 1,
+               Async = 2,
+       }
+
+       internal class BusSyncReplyGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_bus_sync_reply_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_bus_sync_reply_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Caps.cs b/sources/generated/Gst_Caps.cs
new file mode 100644 (file)
index 0000000..53bd72b
--- /dev/null
@@ -0,0 +1,437 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Caps : Gst.MiniObject {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_caps_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_append(IntPtr raw, IntPtr caps2);
+
+               public void Append(Gst.Caps caps2) {
+                       caps2.Owned = false;
+                       gst_caps_append(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_append_structure(IntPtr raw, IntPtr structure);
+
+               public void AppendStructure(Gst.Structure structure) {
+                       structure.Owned = false;
+                       gst_caps_append_structure(Handle, structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_append_structure_full(IntPtr raw, IntPtr structure, IntPtr features);
+
+               public void AppendStructureFull(Gst.Structure structure, Gst.CapsFeatures features) {
+                       structure.Owned = false;
+                       IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+                       gst_caps_append_structure_full(Handle, structure == null ? IntPtr.Zero : structure.Handle, native_features);
+                       Marshal.FreeHGlobal (native_features);
+               }
+
+               public void AppendStructureFull(Gst.Structure structure) {
+                       AppendStructureFull (structure, Gst.CapsFeatures.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_can_intersect(IntPtr raw, IntPtr caps2);
+
+               public bool CanIntersect(Gst.Caps caps2) {
+                       bool raw_ret = gst_caps_can_intersect(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_copy_nth(IntPtr raw, uint nth);
+
+               public Gst.Caps CopyNth(uint nth) {
+                       IntPtr raw_ret = gst_caps_copy_nth(Handle, nth);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_filter_and_map_in_place(IntPtr raw, GstSharp.CapsFilterMapFuncNative func, IntPtr user_data);
+
+               public void FilterAndMapInPlace(Gst.CapsFilterMapFunc func) {
+                       GstSharp.CapsFilterMapFuncWrapper func_wrapper = new GstSharp.CapsFilterMapFuncWrapper (func);
+                       gst_caps_filter_and_map_in_place(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_fixate(IntPtr raw);
+
+               public Gst.Caps Fixate() {
+                       IntPtr raw_ret = gst_caps_fixate(Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_foreach(IntPtr raw, GstSharp.CapsForeachFuncNative func, IntPtr user_data);
+
+               public bool Foreach(Gst.CapsForeachFunc func) {
+                       GstSharp.CapsForeachFuncWrapper func_wrapper = new GstSharp.CapsForeachFuncWrapper (func);
+                       bool raw_ret = gst_caps_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_get_features(IntPtr raw, uint index);
+
+               public Gst.CapsFeatures GetFeatures(uint index) {
+                       IntPtr raw_ret = gst_caps_get_features(Handle, index);
+                       Gst.CapsFeatures ret = Gst.CapsFeatures.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_caps_get_size(IntPtr raw);
+
+               public uint Size { 
+                       get {
+                               uint raw_ret = gst_caps_get_size(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_get_structure(IntPtr raw, uint index);
+
+               public Gst.Structure GetStructure(uint index) {
+                       IntPtr raw_ret = gst_caps_get_structure(Handle, index);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_intersect(IntPtr raw, IntPtr caps2);
+
+               public Gst.Caps Intersect(Gst.Caps caps2) {
+                       IntPtr raw_ret = gst_caps_intersect(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_intersect_full(IntPtr raw, IntPtr caps2, int mode);
+
+               public Gst.Caps IntersectFull(Gst.Caps caps2, Gst.CapsIntersectMode mode) {
+                       IntPtr raw_ret = gst_caps_intersect_full(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle, (int) mode);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_always_compatible(IntPtr raw, IntPtr caps2);
+
+               public bool IsAlwaysCompatible(Gst.Caps caps2) {
+                       bool raw_ret = gst_caps_is_always_compatible(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_any(IntPtr raw);
+
+               public bool IsAny { 
+                       get {
+                               bool raw_ret = gst_caps_is_any(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_empty(IntPtr raw);
+
+               public bool IsEmpty { 
+                       get {
+                               bool raw_ret = gst_caps_is_empty(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_equal(IntPtr raw, IntPtr caps2);
+
+               public bool IsEqual(Gst.Caps caps2) {
+                       bool raw_ret = gst_caps_is_equal(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_equal_fixed(IntPtr raw, IntPtr caps2);
+
+               public bool IsEqualFixed(Gst.Caps caps2) {
+                       bool raw_ret = gst_caps_is_equal_fixed(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_fixed(IntPtr raw);
+
+               public bool IsFixed { 
+                       get {
+                               bool raw_ret = gst_caps_is_fixed(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_strictly_equal(IntPtr raw, IntPtr caps2);
+
+               public bool IsStrictlyEqual(Gst.Caps caps2) {
+                       bool raw_ret = gst_caps_is_strictly_equal(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_subset(IntPtr raw, IntPtr superset);
+
+               public bool IsSubset(Gst.Caps superset) {
+                       bool raw_ret = gst_caps_is_subset(Handle, superset == null ? IntPtr.Zero : superset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_subset_structure(IntPtr raw, IntPtr structure);
+
+               public bool IsSubsetStructure(Gst.Structure structure) {
+                       bool raw_ret = gst_caps_is_subset_structure(Handle, structure == null ? IntPtr.Zero : structure.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_is_subset_structure_full(IntPtr raw, IntPtr structure, IntPtr features);
+
+               public bool IsSubsetStructureFull(Gst.Structure structure, Gst.CapsFeatures features) {
+                       IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+                       bool raw_ret = gst_caps_is_subset_structure_full(Handle, structure == null ? IntPtr.Zero : structure.Handle, native_features);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_features);
+                       return ret;
+               }
+
+               public bool IsSubsetStructureFull(Gst.Structure structure) {
+                       return IsSubsetStructureFull (structure, Gst.CapsFeatures.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_map_in_place(IntPtr raw, GstSharp.CapsMapFuncNative func, IntPtr user_data);
+
+               public bool MapInPlace(Gst.CapsMapFunc func) {
+                       GstSharp.CapsMapFuncWrapper func_wrapper = new GstSharp.CapsMapFuncWrapper (func);
+                       bool raw_ret = gst_caps_map_in_place(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_merge(IntPtr raw, IntPtr caps2);
+
+               public Gst.Caps Merge(Gst.Caps caps2) {
+                       caps2.Owned = false;
+                       IntPtr raw_ret = gst_caps_merge(Handle, caps2 == null ? IntPtr.Zero : caps2.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_merge_structure(IntPtr raw, IntPtr structure);
+
+               public Gst.Caps MergeStructure(Gst.Structure structure) {
+                       structure.Owned = false;
+                       IntPtr raw_ret = gst_caps_merge_structure(Handle, structure == null ? IntPtr.Zero : structure.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_merge_structure_full(IntPtr raw, IntPtr structure, IntPtr features);
+
+               public Gst.Caps MergeStructureFull(Gst.Structure structure, Gst.CapsFeatures features) {
+                       structure.Owned = false;
+                       IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+                       IntPtr raw_ret = gst_caps_merge_structure_full(Handle, structure == null ? IntPtr.Zero : structure.Handle, native_features);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       Marshal.FreeHGlobal (native_features);
+                       return ret;
+               }
+
+               public Gst.Caps MergeStructureFull(Gst.Structure structure) {
+                       return MergeStructureFull (structure, Gst.CapsFeatures.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_normalize(IntPtr raw);
+
+               public Gst.Caps Normalize() {
+                       IntPtr raw_ret = gst_caps_normalize(Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_remove_structure(IntPtr raw, uint idx);
+
+               public void RemoveStructure(uint idx) {
+                       gst_caps_remove_structure(Handle, idx);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_set_features(IntPtr raw, uint index, IntPtr features);
+
+               public void SetFeatures(uint index, Gst.CapsFeatures features) {
+                       IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+                       gst_caps_set_features(Handle, index, native_features);
+                       Marshal.FreeHGlobal (native_features);
+               }
+
+               public void SetFeatures(uint index) {
+                       SetFeatures (index, Gst.CapsFeatures.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_set_value(IntPtr raw, IntPtr field, IntPtr value);
+
+               public void SetValue(string field, GLib.Value value) {
+                       IntPtr native_field = GLib.Marshaller.StringToPtrGStrdup (field);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_caps_set_value(Handle, native_field, native_value);
+                       GLib.Marshaller.Free (native_field);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_simplify(IntPtr raw);
+
+               public Gst.Caps Simplify() {
+                       IntPtr raw_ret = gst_caps_simplify(Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_steal_structure(IntPtr raw, uint index);
+
+               public Gst.Structure StealStructure(uint index) {
+                       IntPtr raw_ret = gst_caps_steal_structure(Handle, index);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_subtract(IntPtr raw, IntPtr subtrahend);
+
+               public Gst.Caps Subtract(Gst.Caps subtrahend) {
+                       IntPtr raw_ret = gst_caps_subtract(Handle, subtrahend == null ? IntPtr.Zero : subtrahend.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_to_string(IntPtr raw);
+
+               public override string ToString() {
+                       IntPtr raw_ret = gst_caps_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_truncate(IntPtr raw);
+
+               public Gst.Caps Truncate() {
+                       IntPtr raw_ret = gst_caps_truncate(Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_from_string(IntPtr str1ng);
+
+               public static Gst.Caps FromString(string str1ng) {
+                       IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+                       IntPtr raw_ret = gst_caps_from_string(native_str1ng);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       GLib.Marshaller.Free (native_str1ng);
+                       return ret;
+               }
+
+               public Caps(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_new_any();
+
+               public Caps () 
+               {
+                       Raw = gst_caps_new_any();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_new_empty();
+
+               public static Caps NewEmpty()
+               {
+                       Caps result = new Caps (gst_caps_new_empty());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_new_empty_simple(IntPtr media_type);
+
+               public Caps (string media_type) 
+               {
+                       IntPtr native_media_type = GLib.Marshaller.StringToPtrGStrdup (media_type);
+                       Raw = gst_caps_new_empty_simple(native_media_type);
+                       GLib.Marshaller.Free (native_media_type);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.MiniObject.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_CapsFeatures.cs b/sources/generated/Gst_CapsFeatures.cs
new file mode 100644 (file)
index 0000000..1b52cb3
--- /dev/null
@@ -0,0 +1,271 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct CapsFeatures : IEquatable<CapsFeatures> {
+
+
+               public static Gst.CapsFeatures Zero = new Gst.CapsFeatures ();
+
+               public static Gst.CapsFeatures New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.CapsFeatures.Zero;
+                       return (Gst.CapsFeatures) Marshal.PtrToStructure (raw, typeof (Gst.CapsFeatures));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_features_new_any();
+
+               public static CapsFeatures NewAny()
+               {
+                       CapsFeatures result = CapsFeatures.New (gst_caps_features_new_any());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_features_new_empty();
+
+               public static CapsFeatures NewEmpty()
+               {
+                       CapsFeatures result = CapsFeatures.New (gst_caps_features_new_empty());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_features_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_caps_features_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_features_add(IntPtr raw, IntPtr feature);
+
+               public void Add(string feature) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_feature = GLib.Marshaller.StringToPtrGStrdup (feature);
+                       gst_caps_features_add(this_as_native, native_feature);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_feature);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_features_add_id(IntPtr raw, uint feature);
+
+               public void AddId(uint feature) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_caps_features_add_id(this_as_native, feature);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_features_contains(IntPtr raw, IntPtr feature);
+
+               public bool Contains(string feature) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_feature = GLib.Marshaller.StringToPtrGStrdup (feature);
+                       bool raw_ret = gst_caps_features_contains(this_as_native, native_feature);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_feature);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_features_contains_id(IntPtr raw, uint feature);
+
+               public bool ContainsId(uint feature) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_caps_features_contains_id(this_as_native, feature);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_features_get_nth(IntPtr raw, uint i);
+
+               public string GetNth(uint i) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_caps_features_get_nth(this_as_native, i);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_caps_features_get_nth_id(IntPtr raw, uint i);
+
+               public uint GetNthId(uint i) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       uint raw_ret = gst_caps_features_get_nth_id(this_as_native, i);
+                       uint ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_caps_features_get_size(IntPtr raw);
+
+               public uint Size { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_caps_features_get_size(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_features_is_any(IntPtr raw);
+
+               public bool IsAny { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_caps_features_is_any(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_features_is_equal(IntPtr raw, IntPtr features2);
+
+               public bool IsEqual(Gst.CapsFeatures features2) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_features2 = GLib.Marshaller.StructureToPtrAlloc (features2);
+                       bool raw_ret = gst_caps_features_is_equal(this_as_native, native_features2);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_features2);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_features_remove(IntPtr raw, IntPtr feature);
+
+               public void Remove(string feature) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_feature = GLib.Marshaller.StringToPtrGStrdup (feature);
+                       gst_caps_features_remove(this_as_native, native_feature);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_feature);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_caps_features_remove_id(IntPtr raw, uint feature);
+
+               public void RemoveId(uint feature) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_caps_features_remove_id(this_as_native, feature);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_caps_features_set_parent_refcount(IntPtr raw, int refcount);
+
+               public bool SetParentRefcount(int refcount) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_caps_features_set_parent_refcount(this_as_native, refcount);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_features_to_string(IntPtr raw);
+
+               public override string ToString() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_caps_features_to_string(this_as_native);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_features_from_string(IntPtr features);
+
+               public static Gst.CapsFeatures FromString(string features) {
+                       IntPtr native_features = GLib.Marshaller.StringToPtrGStrdup (features);
+                       IntPtr raw_ret = gst_caps_features_from_string(native_features);
+                       Gst.CapsFeatures ret = Gst.CapsFeatures.New (raw_ret);
+                       GLib.Marshaller.Free (native_features);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.CapsFeatures target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (CapsFeatures other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is CapsFeatures && Equals ((CapsFeatures) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.CapsFeatures boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.CapsFeatures.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.CapsFeatures (GLib.Value val)
+               {
+                       return (Gst.CapsFeatures) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_CapsFilterMapFunc.cs b/sources/generated/Gst_CapsFilterMapFunc.cs
new file mode 100644 (file)
index 0000000..fc00067
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool CapsFilterMapFunc(Gst.CapsFeatures features, Gst.Structure structure);
+
+}
diff --git a/sources/generated/Gst_CapsFlags.cs b/sources/generated/Gst_CapsFlags.cs
new file mode 100644 (file)
index 0000000..cb02b10
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.CapsFlagsGType))]
+       public enum CapsFlags {
+
+               Any = 16,
+       }
+
+       internal class CapsFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_caps_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_CapsForeachFunc.cs b/sources/generated/Gst_CapsForeachFunc.cs
new file mode 100644 (file)
index 0000000..8ec1965
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool CapsForeachFunc(Gst.CapsFeatures features, Gst.Structure structure);
+
+}
diff --git a/sources/generated/Gst_CapsIntersectMode.cs b/sources/generated/Gst_CapsIntersectMode.cs
new file mode 100644 (file)
index 0000000..ae44091
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.CapsIntersectModeGType))]
+       public enum CapsIntersectMode {
+
+               ZigZag = 0,
+               First = 1,
+       }
+
+       internal class CapsIntersectModeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_intersect_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_caps_intersect_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_CapsMapFunc.cs b/sources/generated/Gst_CapsMapFunc.cs
new file mode 100644 (file)
index 0000000..f8ebe4f
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool CapsMapFunc(Gst.CapsFeatures features, Gst.Structure structure);
+
+}
diff --git a/sources/generated/Gst_ChildAddedEventHandler.cs b/sources/generated/Gst_ChildAddedEventHandler.cs
new file mode 100644 (file)
index 0000000..6f4c0a6
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void ChildAddedEventHandler(object o, ChildAddedEventArgs args);
+
+       public class ChildAddedEventArgs : GLib.SignalArgs {
+               public GLib.Object Object{
+                       get {
+                               return (GLib.Object) Args [0];
+                       }
+               }
+
+               public string Name{
+                       get {
+                               return (string) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_ChildProxyAdapter.cs b/sources/generated/Gst_ChildProxyAdapter.cs
new file mode 100644 (file)
index 0000000..6f4c9a5
--- /dev/null
@@ -0,0 +1,256 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ChildProxyAdapter : GLib.GInterfaceAdapter, Gst.IChildProxy {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstChildProxyInterface {
+                       public GetChildByNameNativeDelegate GetChildByName;
+                       public GetChildByIndexNativeDelegate GetChildByIndex;
+                       public GetChildrenCountNativeDelegate GetChildrenCount;
+                       IntPtr ChildAddedEvent;
+                       IntPtr ChildRemovedEvent;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+                       private IntPtr[] _gstGstReserved;
+               }
+
+               static GstChildProxyInterface iface;
+
+               static ChildProxyAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (ChildProxyAdapter));
+                       iface.GetChildByName = new GetChildByNameNativeDelegate (GetChildByName_cb);
+                       iface.GetChildByIndex = new GetChildByIndexNativeDelegate (GetChildByIndex_cb);
+                       iface.GetChildrenCount = new GetChildrenCountNativeDelegate (GetChildrenCount_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetChildByNameNativeDelegate (IntPtr inst, IntPtr name);
+
+               static IntPtr GetChildByName_cb (IntPtr inst, IntPtr name)
+               {
+                       try {
+                               IChildProxyImplementor __obj = GLib.Object.GetObject (inst, false) as IChildProxyImplementor;
+                               GLib.Object __result;
+                               __result = __obj.GetChildByName (GLib.Marshaller.Utf8PtrToString (name));
+                               return __result == null ? IntPtr.Zero : __result.Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetChildByIndexNativeDelegate (IntPtr inst, uint index);
+
+               static IntPtr GetChildByIndex_cb (IntPtr inst, uint index)
+               {
+                       try {
+                               IChildProxyImplementor __obj = GLib.Object.GetObject (inst, false) as IChildProxyImplementor;
+                               GLib.Object __result;
+                               __result = __obj.GetChildByIndex (index);
+                               return __result == null ? IntPtr.Zero : __result.Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate uint GetChildrenCountNativeDelegate (IntPtr inst);
+
+               static uint GetChildrenCount_cb (IntPtr inst)
+               {
+                       try {
+                               IChildProxyImplementor __obj = GLib.Object.GetObject (inst, false) as IChildProxyImplementor;
+                               uint __result;
+                               __result = __obj.ChildrenCount;
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GstChildProxyInterface native_iface = (GstChildProxyInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstChildProxyInterface));
+                       native_iface.GetChildByName = iface.GetChildByName;
+                       native_iface.GetChildByIndex = iface.GetChildByIndex;
+                       native_iface.GetChildrenCount = iface.GetChildrenCount;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public ChildProxyAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public ChildProxyAdapter (IChildProxyImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public ChildProxyAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_child_proxy_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_child_proxy_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IChildProxy GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IChildProxy GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IChildProxyImplementor)
+                               return new ChildProxyAdapter (obj as IChildProxyImplementor);
+                       else if (obj as IChildProxy == null)
+                               return new ChildProxyAdapter (obj.Handle);
+                       else
+                               return obj as IChildProxy;
+               }
+
+               public IChildProxyImplementor Implementor {
+                       get {
+                               return implementor as IChildProxyImplementor;
+                       }
+               }
+
+               [GLib.Signal("child-removed")]
+               public event Gst.ChildRemovedEventHandler ChildRemovedEvent {
+                       add {
+                               GLib.Object.GetObject (Handle).AddSignalHandler ("child-removed", value, typeof (Gst.ChildRemovedEventArgs));
+                       }
+                       remove {
+                               GLib.Object.GetObject (Handle).RemoveSignalHandler ("child-removed", value);
+                       }
+               }
+
+               [GLib.Signal("child-added")]
+               public event Gst.ChildAddedEventHandler ChildAddedEvent {
+                       add {
+                               GLib.Object.GetObject (Handle).AddSignalHandler ("child-added", value, typeof (Gst.ChildAddedEventArgs));
+                       }
+                       remove {
+                               GLib.Object.GetObject (Handle).RemoveSignalHandler ("child-added", value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_child_proxy_child_added(IntPtr raw, IntPtr child, IntPtr name);
+
+               public void ChildAdded(GLib.Object child, string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_child_proxy_child_added(Handle, child == null ? IntPtr.Zero : child.Handle, native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_child_proxy_child_removed(IntPtr raw, IntPtr child, IntPtr name);
+
+               public void ChildRemoved(GLib.Object child, string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_child_proxy_child_removed(Handle, child == null ? IntPtr.Zero : child.Handle, native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_child_proxy_get_child_by_index(IntPtr raw, uint index);
+
+               public GLib.Object GetChildByIndex(uint index) {
+                       IntPtr raw_ret = gst_child_proxy_get_child_by_index(Handle, index);
+                       GLib.Object ret = GLib.Object.GetObject (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_child_proxy_get_child_by_name(IntPtr raw, IntPtr name);
+
+               public GLib.Object GetChildByName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_child_proxy_get_child_by_name(Handle, native_name);
+                       GLib.Object ret = GLib.Object.GetObject (raw_ret);
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_child_proxy_get_children_count(IntPtr raw);
+
+               public uint ChildrenCount { 
+                       get {
+                               uint raw_ret = gst_child_proxy_get_children_count(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_child_proxy_lookup(IntPtr raw, IntPtr name, out IntPtr target, out IntPtr pspec);
+
+               public bool Lookup(string name, out GLib.Object target, out IntPtr pspec) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_target;
+                       bool raw_ret = gst_child_proxy_lookup(Handle, native_name, out native_target, out pspec);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       target = GLib.Object.GetObject (native_target);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ChildRemovedEventHandler.cs b/sources/generated/Gst_ChildRemovedEventHandler.cs
new file mode 100644 (file)
index 0000000..8b15df9
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void ChildRemovedEventHandler(object o, ChildRemovedEventArgs args);
+
+       public class ChildRemovedEventArgs : GLib.SignalArgs {
+               public GLib.Object Object{
+                       get {
+                               return (GLib.Object) Args [0];
+                       }
+               }
+
+               public string Name{
+                       get {
+                               return (string) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_Clock.cs b/sources/generated/Gst_Clock.cs
new file mode 100644 (file)
index 0000000..8fbfab9
--- /dev/null
@@ -0,0 +1,860 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Clock : Gst.Object {
+
+               protected Clock (IntPtr raw) : base(raw) {}
+
+               protected Clock() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_get_timeout(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_clock_set_timeout(IntPtr raw, ulong timeout);
+
+               [GLib.Property ("timeout")]
+               public ulong Timeout {
+                       get  {
+                               ulong raw_ret = gst_clock_get_timeout(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_clock_set_timeout(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("window-size")]
+               public int WindowSize {
+                       get {
+                               GLib.Value val = GetProperty ("window-size");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("window-size", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("window-threshold")]
+               public int WindowThreshold {
+                       get {
+                               GLib.Value val = GetProperty ("window-threshold");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("window-threshold", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Signal("synced")]
+               public event Gst.SyncedHandler Synced {
+                       add {
+                               this.AddSignalHandler ("synced", value, typeof (Gst.SyncedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("synced", value);
+                       }
+               }
+
+               static SyncedNativeDelegate Synced_cb_delegate;
+               static SyncedNativeDelegate SyncedVMCallback {
+                       get {
+                               if (Synced_cb_delegate == null)
+                                       Synced_cb_delegate = new SyncedNativeDelegate (Synced_cb);
+                               return Synced_cb_delegate;
+                       }
+               }
+
+               static void OverrideSynced (GLib.GType gtype)
+               {
+                       OverrideSynced (gtype, SyncedVMCallback);
+               }
+
+               static void OverrideSynced (GLib.GType gtype, SyncedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "synced", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SyncedNativeDelegate (IntPtr inst, bool synced);
+
+               static void Synced_cb (IntPtr inst, bool synced)
+               {
+                       try {
+                               Clock __obj = GLib.Object.GetObject (inst, false) as Clock;
+                               __obj.OnSynced (synced);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideSynced")]
+               protected virtual void OnSynced (bool synced)
+               {
+                       InternalSynced (synced);
+               }
+
+               private void InternalSynced (bool synced)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (synced);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ChangeResolutionNativeDelegate ChangeResolution_cb_delegate;
+               static ChangeResolutionNativeDelegate ChangeResolutionVMCallback {
+                       get {
+                               if (ChangeResolution_cb_delegate == null)
+                                       ChangeResolution_cb_delegate = new ChangeResolutionNativeDelegate (ChangeResolution_cb);
+                               return ChangeResolution_cb_delegate;
+                       }
+               }
+
+               static void OverrideChangeResolution (GLib.GType gtype)
+               {
+                       OverrideChangeResolution (gtype, ChangeResolutionVMCallback);
+               }
+
+               static void OverrideChangeResolution (GLib.GType gtype, ChangeResolutionNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("change_resolution"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate ulong ChangeResolutionNativeDelegate (IntPtr inst, ulong old_resolution, ulong new_resolution);
+
+               static ulong ChangeResolution_cb (IntPtr inst, ulong old_resolution, ulong new_resolution)
+               {
+                       try {
+                               Clock __obj = GLib.Object.GetObject (inst, false) as Clock;
+                               ulong __result;
+                               __result = __obj.OnChangeResolution (old_resolution, new_resolution);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideChangeResolution")]
+               protected virtual ulong OnChangeResolution (ulong old_resolution, ulong new_resolution)
+               {
+                       return InternalChangeResolution (old_resolution, new_resolution);
+               }
+
+               private ulong InternalChangeResolution (ulong old_resolution, ulong new_resolution)
+               {
+                       ChangeResolutionNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("change_resolution"));
+                               unmanaged = (ChangeResolutionNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ChangeResolutionNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       ulong __result = unmanaged (this.Handle, old_resolution, new_resolution);
+                       return __result;
+               }
+
+               static GetResolutionNativeDelegate GetResolution_cb_delegate;
+               static GetResolutionNativeDelegate GetResolutionVMCallback {
+                       get {
+                               if (GetResolution_cb_delegate == null)
+                                       GetResolution_cb_delegate = new GetResolutionNativeDelegate (GetResolution_cb);
+                               return GetResolution_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetResolution (GLib.GType gtype)
+               {
+                       OverrideGetResolution (gtype, GetResolutionVMCallback);
+               }
+
+               static void OverrideGetResolution (GLib.GType gtype, GetResolutionNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_resolution"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate ulong GetResolutionNativeDelegate (IntPtr inst);
+
+               static ulong GetResolution_cb (IntPtr inst)
+               {
+                       try {
+                               Clock __obj = GLib.Object.GetObject (inst, false) as Clock;
+                               ulong __result;
+                               __result = __obj.OnGetResolution ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideGetResolution")]
+               protected virtual ulong OnGetResolution ()
+               {
+                       return InternalGetResolution ();
+               }
+
+               private ulong InternalGetResolution ()
+               {
+                       GetResolutionNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_resolution"));
+                               unmanaged = (GetResolutionNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetResolutionNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       ulong __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static GetInternalTimeNativeDelegate GetInternalTime_cb_delegate;
+               static GetInternalTimeNativeDelegate GetInternalTimeVMCallback {
+                       get {
+                               if (GetInternalTime_cb_delegate == null)
+                                       GetInternalTime_cb_delegate = new GetInternalTimeNativeDelegate (GetInternalTime_cb);
+                               return GetInternalTime_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetInternalTime (GLib.GType gtype)
+               {
+                       OverrideGetInternalTime (gtype, GetInternalTimeVMCallback);
+               }
+
+               static void OverrideGetInternalTime (GLib.GType gtype, GetInternalTimeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_internal_time"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate ulong GetInternalTimeNativeDelegate (IntPtr inst);
+
+               static ulong GetInternalTime_cb (IntPtr inst)
+               {
+                       try {
+                               Clock __obj = GLib.Object.GetObject (inst, false) as Clock;
+                               ulong __result;
+                               __result = __obj.OnGetInternalTime ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideGetInternalTime")]
+               protected virtual ulong OnGetInternalTime ()
+               {
+                       return InternalGetInternalTime ();
+               }
+
+               private ulong InternalGetInternalTime ()
+               {
+                       GetInternalTimeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_internal_time"));
+                               unmanaged = (GetInternalTimeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetInternalTimeNativeDelegate));
+                       }
+                       if (unmanaged == null) return 0;
+
+                       ulong __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static WaitNativeDelegate Wait_cb_delegate;
+               static WaitNativeDelegate WaitVMCallback {
+                       get {
+                               if (Wait_cb_delegate == null)
+                                       Wait_cb_delegate = new WaitNativeDelegate (Wait_cb);
+                               return Wait_cb_delegate;
+                       }
+               }
+
+               static void OverrideWait (GLib.GType gtype)
+               {
+                       OverrideWait (gtype, WaitVMCallback);
+               }
+
+               static void OverrideWait (GLib.GType gtype, WaitNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("wait"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int WaitNativeDelegate (IntPtr inst, IntPtr entry, long jitter);
+
+               static int Wait_cb (IntPtr inst, IntPtr entry, long jitter)
+               {
+                       try {
+                               Clock __obj = GLib.Object.GetObject (inst, false) as Clock;
+                               Gst.ClockReturn __result;
+                               __result = __obj.OnWait (entry == IntPtr.Zero ? null : (Gst.ClockEntry) GLib.Opaque.GetOpaque (entry, typeof (Gst.ClockEntry), false), jitter);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideWait")]
+               protected virtual Gst.ClockReturn OnWait (Gst.ClockEntry entry, long jitter)
+               {
+                       return InternalWait (entry, jitter);
+               }
+
+               private Gst.ClockReturn InternalWait (Gst.ClockEntry entry, long jitter)
+               {
+                       WaitNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("wait"));
+                               unmanaged = (WaitNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(WaitNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.ClockReturn) 0;
+
+                       int __result = unmanaged (this.Handle, entry == null ? IntPtr.Zero : entry.Handle, jitter);
+                       return (Gst.ClockReturn) __result;
+               }
+
+               static WaitAsyncNativeDelegate WaitAsync_cb_delegate;
+               static WaitAsyncNativeDelegate WaitAsyncVMCallback {
+                       get {
+                               if (WaitAsync_cb_delegate == null)
+                                       WaitAsync_cb_delegate = new WaitAsyncNativeDelegate (WaitAsync_cb);
+                               return WaitAsync_cb_delegate;
+                       }
+               }
+
+               static void OverrideWaitAsync (GLib.GType gtype)
+               {
+                       OverrideWaitAsync (gtype, WaitAsyncVMCallback);
+               }
+
+               static void OverrideWaitAsync (GLib.GType gtype, WaitAsyncNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("wait_async"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int WaitAsyncNativeDelegate (IntPtr inst, IntPtr entry);
+
+               static int WaitAsync_cb (IntPtr inst, IntPtr entry)
+               {
+                       try {
+                               Clock __obj = GLib.Object.GetObject (inst, false) as Clock;
+                               Gst.ClockReturn __result;
+                               __result = __obj.OnWaitAsync (entry == IntPtr.Zero ? null : (Gst.ClockEntry) GLib.Opaque.GetOpaque (entry, typeof (Gst.ClockEntry), false));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideWaitAsync")]
+               protected virtual Gst.ClockReturn OnWaitAsync (Gst.ClockEntry entry)
+               {
+                       return InternalWaitAsync (entry);
+               }
+
+               private Gst.ClockReturn InternalWaitAsync (Gst.ClockEntry entry)
+               {
+                       WaitAsyncNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("wait_async"));
+                               unmanaged = (WaitAsyncNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(WaitAsyncNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.ClockReturn) 0;
+
+                       int __result = unmanaged (this.Handle, entry == null ? IntPtr.Zero : entry.Handle);
+                       return (Gst.ClockReturn) __result;
+               }
+
+               static UnscheduleNativeDelegate Unschedule_cb_delegate;
+               static UnscheduleNativeDelegate UnscheduleVMCallback {
+                       get {
+                               if (Unschedule_cb_delegate == null)
+                                       Unschedule_cb_delegate = new UnscheduleNativeDelegate (Unschedule_cb);
+                               return Unschedule_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnschedule (GLib.GType gtype)
+               {
+                       OverrideUnschedule (gtype, UnscheduleVMCallback);
+               }
+
+               static void OverrideUnschedule (GLib.GType gtype, UnscheduleNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unschedule"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void UnscheduleNativeDelegate (IntPtr inst, IntPtr entry);
+
+               static void Unschedule_cb (IntPtr inst, IntPtr entry)
+               {
+                       try {
+                               Clock __obj = GLib.Object.GetObject (inst, false) as Clock;
+                               __obj.OnUnschedule (entry == IntPtr.Zero ? null : (Gst.ClockEntry) GLib.Opaque.GetOpaque (entry, typeof (Gst.ClockEntry), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideUnschedule")]
+               protected virtual void OnUnschedule (Gst.ClockEntry entry)
+               {
+                       InternalUnschedule (entry);
+               }
+
+               private void InternalUnschedule (Gst.ClockEntry entry)
+               {
+                       UnscheduleNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unschedule"));
+                               unmanaged = (UnscheduleNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnscheduleNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, entry == null ? IntPtr.Zero : entry.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("change_resolution"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // change_resolution
+                                                       , null
+                                                       , "get_resolution"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_resolution"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_resolution
+                                                       , "change_resolution"
+                                                       , "get_internal_time"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_internal_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_internal_time
+                                                       , "get_resolution"
+                                                       , "wait"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("wait"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // wait
+                                                       , "get_internal_time"
+                                                       , "wait_async"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("wait_async"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // wait_async
+                                                       , "wait"
+                                                       , "unschedule"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unschedule"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unschedule
+                                                       , "wait_async"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "unschedule"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_clock_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_clock_id_compare_func(IntPtr id1, IntPtr id2);
+
+               public static int IdCompareFunc(IntPtr id1, IntPtr id2) {
+                       int raw_ret = gst_clock_id_compare_func(id1, id2);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               public static int IdCompareFunc() {
+                       return IdCompareFunc (IntPtr.Zero, IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_id_get_time(IntPtr id);
+
+               public static ulong IdGetTime(IntPtr id) {
+                       ulong raw_ret = gst_clock_id_get_time(id);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_id_ref(IntPtr id);
+
+               public static IntPtr IdRef(IntPtr id) {
+                       IntPtr raw_ret = gst_clock_id_ref(id);
+                       IntPtr ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_clock_id_unref(IntPtr id);
+
+               public static void IdUnref(IntPtr id) {
+                       gst_clock_id_unref(id);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_clock_id_unschedule(IntPtr id);
+
+               public static void IdUnschedule(IntPtr id) {
+                       gst_clock_id_unschedule(id);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_clock_id_wait(IntPtr id, out long jitter);
+
+               public static Gst.ClockReturn IdWait(IntPtr id, out long jitter) {
+                       int raw_ret = gst_clock_id_wait(id, out jitter);
+                       Gst.ClockReturn ret = (Gst.ClockReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_clock_id_wait_async(IntPtr id, GstSharp.ClockCallbackNative func, IntPtr user_data, GLib.DestroyNotify destroy_data);
+
+               public static Gst.ClockReturn IdWaitAsync(IntPtr id, Gst.ClockCallback func) {
+                       GstSharp.ClockCallbackWrapper func_wrapper = new GstSharp.ClockCallbackWrapper (func);
+                       IntPtr user_data;
+                       GLib.DestroyNotify destroy_data;
+                       if (func == null) {
+                               user_data = IntPtr.Zero;
+                               destroy_data = null;
+                       } else {
+                               user_data = (IntPtr) GCHandle.Alloc (func_wrapper);
+                               destroy_data = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       int raw_ret = gst_clock_id_wait_async(id, func_wrapper.NativeDelegate, user_data, destroy_data);
+                       Gst.ClockReturn ret = (Gst.ClockReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_clock_add_observation(IntPtr raw, ulong slave, ulong master, out double r_squared);
+
+               public bool AddObservation(ulong slave, ulong master, out double r_squared) {
+                       bool raw_ret = gst_clock_add_observation(Handle, slave, master, out r_squared);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_clock_add_observation_unapplied(IntPtr raw, ulong slave, ulong master, out double r_squared, out ulong _internal, out ulong external, out ulong rate_num, out ulong rate_denom);
+
+               public bool AddObservationUnapplied(ulong slave, ulong master, out double r_squared, out ulong _internal, out ulong external, out ulong rate_num, out ulong rate_denom) {
+                       bool raw_ret = gst_clock_add_observation_unapplied(Handle, slave, master, out r_squared, out _internal, out external, out rate_num, out rate_denom);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_adjust_unlocked(IntPtr raw, ulong _internal);
+
+               public ulong AdjustUnlocked(ulong _internal) {
+                       ulong raw_ret = gst_clock_adjust_unlocked(Handle, _internal);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_adjust_with_calibration(IntPtr raw, ulong internal_target, ulong cinternal, ulong cexternal, ulong cnum, ulong cdenom);
+
+               public ulong AdjustWithCalibration(ulong internal_target, ulong cinternal, ulong cexternal, ulong cnum, ulong cdenom) {
+                       ulong raw_ret = gst_clock_adjust_with_calibration(Handle, internal_target, cinternal, cexternal, cnum, cdenom);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_clock_get_calibration(IntPtr raw, out ulong _internal, out ulong external, out ulong rate_num, out ulong rate_denom);
+
+               public void GetCalibration(out ulong _internal, out ulong external, out ulong rate_num, out ulong rate_denom) {
+                       gst_clock_get_calibration(Handle, out _internal, out external, out rate_num, out rate_denom);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_get_internal_time(IntPtr raw);
+
+               public ulong InternalTime { 
+                       get {
+                               ulong raw_ret = gst_clock_get_internal_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_get_master(IntPtr raw);
+
+               public Gst.Clock Master { 
+                       get {
+                               IntPtr raw_ret = gst_clock_get_master(Handle);
+                               Gst.Clock ret = GLib.Object.GetObject(raw_ret, true) as Gst.Clock;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_get_resolution(IntPtr raw);
+
+               public ulong Resolution { 
+                       get {
+                               ulong raw_ret = gst_clock_get_resolution(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_get_time(IntPtr raw);
+
+               public ulong Time { 
+                       get {
+                               ulong raw_ret = gst_clock_get_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_clock_is_synced(IntPtr raw);
+
+               public bool IsSynced { 
+                       get {
+                               bool raw_ret = gst_clock_is_synced(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_new_periodic_id(IntPtr raw, ulong start_time, ulong interval);
+
+               public IntPtr NewPeriodicId(ulong start_time, ulong interval) {
+                       IntPtr raw_ret = gst_clock_new_periodic_id(Handle, start_time, interval);
+                       IntPtr ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_new_single_shot_id(IntPtr raw, ulong time);
+
+               public IntPtr NewSingleShotId(ulong time) {
+                       IntPtr raw_ret = gst_clock_new_single_shot_id(Handle, time);
+                       IntPtr ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_clock_periodic_id_reinit(IntPtr raw, IntPtr id, ulong start_time, ulong interval);
+
+               public bool PeriodicIdReinit(IntPtr id, ulong start_time, ulong interval) {
+                       bool raw_ret = gst_clock_periodic_id_reinit(Handle, id, start_time, interval);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_clock_set_calibration(IntPtr raw, ulong _internal, ulong external, ulong rate_num, ulong rate_denom);
+
+               public void SetCalibration(ulong _internal, ulong external, ulong rate_num, ulong rate_denom) {
+                       gst_clock_set_calibration(Handle, _internal, external, rate_num, rate_denom);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_clock_set_master(IntPtr raw, IntPtr master);
+
+               public bool SetMaster(Gst.Clock master) {
+                       bool raw_ret = gst_clock_set_master(Handle, master == null ? IntPtr.Zero : master.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool SetMaster() {
+                       return SetMaster (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_set_resolution(IntPtr raw, ulong resolution);
+
+               public ulong SetResolution(ulong resolution) {
+                       ulong raw_ret = gst_clock_set_resolution(Handle, resolution);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_clock_set_synced(IntPtr raw, bool synced);
+
+               public void is_synced(bool synced) {
+                       gst_clock_set_synced(Handle, synced);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_clock_single_shot_id_reinit(IntPtr raw, IntPtr id, ulong time);
+
+               public bool SingleShotIdReinit(IntPtr id, ulong time) {
+                       bool raw_ret = gst_clock_single_shot_id_reinit(Handle, id, time);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_unadjust_unlocked(IntPtr raw, ulong external);
+
+               public ulong UnadjustUnlocked(ulong external) {
+                       ulong raw_ret = gst_clock_unadjust_unlocked(Handle, external);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_clock_unadjust_with_calibration(IntPtr raw, ulong external_target, ulong cinternal, ulong cexternal, ulong cnum, ulong cdenom);
+
+               public ulong UnadjustWithCalibration(ulong external_target, ulong cinternal, ulong cexternal, ulong cnum, ulong cdenom) {
+                       ulong raw_ret = gst_clock_unadjust_with_calibration(Handle, external_target, cinternal, cexternal, cnum, cdenom);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_clock_wait_for_sync(IntPtr raw, ulong timeout);
+
+               public bool WaitForSync(ulong timeout) {
+                       bool raw_ret = gst_clock_wait_for_sync(Handle, timeout);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ClockCallback.cs b/sources/generated/Gst_ClockCallback.cs
new file mode 100644 (file)
index 0000000..813366b
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool ClockCallback(Gst.Clock clock, ulong time, IntPtr id);
+
+}
diff --git a/sources/generated/Gst_ClockEntry.cs b/sources/generated/Gst_ClockEntry.cs
new file mode 100644 (file)
index 0000000..9d079f7
--- /dev/null
@@ -0,0 +1,321 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ClockEntry : GLib.Opaque {
+
+               public int Refcount {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("refcount"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("refcount"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public Gst.Clock Clock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("clock"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Clock;
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("clock"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               public Gst.ClockEntryType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (Gst.ClockEntryType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public ulong Time {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("time"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("time"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ulong Interval {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("interval"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("interval"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public Gst.ClockReturn Status {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("status"));
+                                       return (Gst.ClockReturn) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("status"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public IntPtr UserData {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("user_data"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("user_data"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public bool Unscheduled {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("unscheduled"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("unscheduled"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public bool WokenUp {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("woken_up"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("woken_up"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public ClockEntry(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("refcount"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // refcount
+                                                       , null
+                                                       , "clock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstClockEntry_refcountAlign), "refcount")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // clock
+                                                       , "refcount"
+                                                       , "type"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("type"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.ClockEntryType))) // type
+                                                       , "clock"
+                                                       , "time"
+                                                       , (long) Marshal.OffsetOf(typeof(GstClockEntry_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // time
+                                                       , "type"
+                                                       , "interval"
+                                                       , (long) Marshal.OffsetOf(typeof(GstClockEntry_timeAlign), "time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("interval"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // interval
+                                                       , "time"
+                                                       , "status"
+                                                       , (long) Marshal.OffsetOf(typeof(GstClockEntry_intervalAlign), "interval")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("status"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.ClockReturn))) // status
+                                                       , "interval"
+                                                       , "func"
+                                                       , (long) Marshal.OffsetOf(typeof(GstClockEntry_statusAlign), "status")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("func"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // func
+                                                       , "status"
+                                                       , "user_data"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("user_data"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // user_data
+                                                       , "func"
+                                                       , "destroy_data"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("destroy_data"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // destroy_data
+                                                       , "user_data"
+                                                       , "unscheduled"
+                                                       , (long) Marshal.OffsetOf(typeof(GstClockEntry_destroy_dataAlign), "destroy_data")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unscheduled"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // unscheduled
+                                                       , "destroy_data"
+                                                       , "woken_up"
+                                                       , (long) Marshal.OffsetOf(typeof(GstClockEntry_unscheduledAlign), "unscheduled")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("woken_up"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // woken_up
+                                                       , "unscheduled"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstClockEntry_woken_upAlign), "woken_up")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "woken_up"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstClockEntry_refcountAlign
+               {
+                       sbyte f1;
+                       private int refcount;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstClockEntry_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.ClockEntryType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstClockEntry_timeAlign
+               {
+                       sbyte f1;
+                       private ulong time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstClockEntry_intervalAlign
+               {
+                       sbyte f1;
+                       private ulong interval;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstClockEntry_statusAlign
+               {
+                       sbyte f1;
+                       private Gst.ClockReturn status;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstClockEntry_destroy_dataAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify destroy_data;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstClockEntry_unscheduledAlign
+               {
+                       sbyte f1;
+                       private bool unscheduled;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstClockEntry_woken_upAlign
+               {
+                       sbyte f1;
+                       private bool woken_up;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ClockEntryType.cs b/sources/generated/Gst_ClockEntryType.cs
new file mode 100644 (file)
index 0000000..8d885a7
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.ClockEntryTypeGType))]
+       public enum ClockEntryType {
+
+               Single = 0,
+               Periodic = 1,
+       }
+
+       internal class ClockEntryTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_entry_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_clock_entry_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ClockFlags.cs b/sources/generated/Gst_ClockFlags.cs
new file mode 100644 (file)
index 0000000..8a2e59f
--- /dev/null
@@ -0,0 +1,35 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.ClockFlagsGType))]
+       public enum ClockFlags {
+
+               CanDoSingleSync = 16,
+               CanDoSingleAsync = 32,
+               CanDoPeriodicSync = 64,
+               CanDoPeriodicAsync = 128,
+               CanSetResolution = 256,
+               CanSetMaster = 512,
+               NeedsStartupSync = 1024,
+               Last = 4096,
+       }
+
+       internal class ClockFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_clock_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ClockReturn.cs b/sources/generated/Gst_ClockReturn.cs
new file mode 100644 (file)
index 0000000..0ff2cbf
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.ClockReturnGType))]
+       public enum ClockReturn {
+
+               Ok = 0,
+               Early = 1,
+               Unscheduled = 2,
+               Busy = 3,
+               Badtime = 4,
+               Error = 5,
+               Unsupported = 6,
+               Done = 7,
+       }
+
+       internal class ClockReturnGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_return_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_clock_return_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ClockType.cs b/sources/generated/Gst_ClockType.cs
new file mode 100644 (file)
index 0000000..358694c
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.ClockTypeGType))]
+       public enum ClockType {
+
+               Realtime = 0,
+               Monotonic = 1,
+               Other = 2,
+       }
+
+       internal class ClockTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_clock_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_clock_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Constants.cs b/sources/generated/Gst_Constants.cs
new file mode 100644 (file)
index 0000000..4d27bfb
--- /dev/null
@@ -0,0 +1,171 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const string ALLOCATOR_SYSMEM = @"SystemMemory";
+               public const int BUFFER_COPY_ALL = 15;
+               public const int BUFFER_COPY_METADATA = 7;
+               public const ulong BUFFER_OFFSET_NONE = 18446744073709551615;
+               public const int CAN_INLINE = 1;
+               public const string CAPS_FEATURE_MEMORY_SYSTEM_MEMORY = @"memory:SystemMemory";
+               public const ulong CLOCK_TIME_NONE = 18446744073709551615;
+               public const int DEBUG_BG_MASK = 240;
+               public const int DEBUG_FG_MASK = 15;
+               public const int DEBUG_FORMAT_MASK = 65280;
+               public const string ELEMENT_FACTORY_KLASS_DECODER = @"Decoder";
+               public const string ELEMENT_FACTORY_KLASS_DECRYPTOR = @"Decryptor";
+               public const string ELEMENT_FACTORY_KLASS_DEMUXER = @"Demuxer";
+               public const string ELEMENT_FACTORY_KLASS_DEPAYLOADER = @"Depayloader";
+               public const string ELEMENT_FACTORY_KLASS_ENCODER = @"Encoder";
+               public const string ELEMENT_FACTORY_KLASS_ENCRYPTOR = @"Encryptor";
+               public const string ELEMENT_FACTORY_KLASS_FORMATTER = @"Formatter";
+               public const string ELEMENT_FACTORY_KLASS_MEDIA_AUDIO = @"Audio";
+               public const string ELEMENT_FACTORY_KLASS_MEDIA_IMAGE = @"Image";
+               public const string ELEMENT_FACTORY_KLASS_MEDIA_METADATA = @"Metadata";
+               public const string ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE = @"Subtitle";
+               public const string ELEMENT_FACTORY_KLASS_MEDIA_VIDEO = @"Video";
+               public const string ELEMENT_FACTORY_KLASS_MUXER = @"Muxer";
+               public const string ELEMENT_FACTORY_KLASS_PARSER = @"Parser";
+               public const string ELEMENT_FACTORY_KLASS_PAYLOADER = @"Payloader";
+               public const string ELEMENT_FACTORY_KLASS_SINK = @"Sink";
+               public const string ELEMENT_FACTORY_KLASS_SRC = @"Source";
+               public const string ELEMENT_METADATA_AUTHOR = @"author";
+               public const string ELEMENT_METADATA_DESCRIPTION = @"description";
+               public const string ELEMENT_METADATA_DOC_URI = @"doc-uri";
+               public const string ELEMENT_METADATA_ICON_NAME = @"icon-name";
+               public const string ELEMENT_METADATA_KLASS = @"klass";
+               public const string ELEMENT_METADATA_LONGNAME = @"long-name";
+               public const string ERROR_SYSTEM = @"system error: %s";
+               public const int EVENT_NUM_SHIFT = 8;
+               public const int EVENT_TYPE_BOTH = 3;
+               public const uint FLAG_SET_MASK_EXACT = 4294967295;
+               public const long FORMAT_PERCENT_MAX = 1000000;
+               public const long FORMAT_PERCENT_SCALE = 10000;
+               public const string FOURCC_FORMAT = @"c%c%c%c";
+               public const int GROUP_ID_INVALID = 0;
+               public const string LICENSE_UNKNOWN = @"unknown";
+               public const int LOCK_FLAG_READWRITE = 3;
+               public const int MAP_READWRITE = 3;
+               public const string META_TAG_MEMORY_STR = @"memory";
+               public const long MSECOND = 1000000;
+               public const int PARAM_CONTROLLABLE = 2;
+               public const int PARAM_MUTABLE_PAUSED = 8;
+               public const int PARAM_MUTABLE_PLAYING = 16;
+               public const int PARAM_MUTABLE_READY = 4;
+               public const int PARAM_USER_SHIFT = 256;
+               public const string PROTECTION_SYSTEM_ID_CAPS_FIELD = @"protection-system";
+               public const string PTR_FORMAT = @"paA";
+               public const int QUERY_NUM_SHIFT = 8;
+               public const int QUERY_TYPE_BOTH = 3;
+               public const long SECOND = 1000000000;
+               public const string SEGMENT_FORMAT = @"paB";
+               public const int SEQNUM_INVALID = 0;
+               public const string STIME_FORMAT = @"c%";
+               public const string TAG_ALBUM = @"album";
+               public const string TAG_ALBUM_ARTIST = @"album-artist";
+               public const string TAG_ALBUM_ARTIST_SORTNAME = @"album-artist-sortname";
+               public const string TAG_ALBUM_GAIN = @"replaygain-album-gain";
+               public const string TAG_ALBUM_PEAK = @"replaygain-album-peak";
+               public const string TAG_ALBUM_SORTNAME = @"album-sortname";
+               public const string TAG_ALBUM_VOLUME_COUNT = @"album-disc-count";
+               public const string TAG_ALBUM_VOLUME_NUMBER = @"album-disc-number";
+               public const string TAG_APPLICATION_DATA = @"application-data";
+               public const string TAG_APPLICATION_NAME = @"application-name";
+               public const string TAG_ARTIST = @"artist";
+               public const string TAG_ARTIST_SORTNAME = @"artist-sortname";
+               public const string TAG_ATTACHMENT = @"attachment";
+               public const string TAG_AUDIO_CODEC = @"audio-codec";
+               public const string TAG_BEATS_PER_MINUTE = @"beats-per-minute";
+               public const string TAG_BITRATE = @"bitrate";
+               public const string TAG_CODEC = @"codec";
+               public const string TAG_COMMENT = @"comment";
+               public const string TAG_COMPOSER = @"composer";
+               public const string TAG_COMPOSER_SORTNAME = @"composer-sortname";
+               public const string TAG_CONDUCTOR = @"conductor";
+               public const string TAG_CONTACT = @"contact";
+               public const string TAG_CONTAINER_FORMAT = @"container-format";
+               public const string TAG_COPYRIGHT = @"copyright";
+               public const string TAG_COPYRIGHT_URI = @"copyright-uri";
+               public const string TAG_DATE = @"date";
+               public const string TAG_DATE_TIME = @"datetime";
+               public const string TAG_DESCRIPTION = @"description";
+               public const string TAG_DEVICE_MANUFACTURER = @"device-manufacturer";
+               public const string TAG_DEVICE_MODEL = @"device-model";
+               public const string TAG_DURATION = @"duration";
+               public const string TAG_ENCODED_BY = @"encoded-by";
+               public const string TAG_ENCODER = @"encoder";
+               public const string TAG_ENCODER_VERSION = @"encoder-version";
+               public const string TAG_EXTENDED_COMMENT = @"extended-comment";
+               public const string TAG_GENRE = @"genre";
+               public const string TAG_GEO_LOCATION_CAPTURE_DIRECTION = @"geo-location-capture-direction";
+               public const string TAG_GEO_LOCATION_CITY = @"geo-location-city";
+               public const string TAG_GEO_LOCATION_COUNTRY = @"geo-location-country";
+               public const string TAG_GEO_LOCATION_ELEVATION = @"geo-location-elevation";
+               public const string TAG_GEO_LOCATION_HORIZONTAL_ERROR = @"geo-location-horizontal-error";
+               public const string TAG_GEO_LOCATION_LATITUDE = @"geo-location-latitude";
+               public const string TAG_GEO_LOCATION_LONGITUDE = @"geo-location-longitude";
+               public const string TAG_GEO_LOCATION_MOVEMENT_DIRECTION = @"geo-location-movement-direction";
+               public const string TAG_GEO_LOCATION_MOVEMENT_SPEED = @"geo-location-movement-speed";
+               public const string TAG_GEO_LOCATION_NAME = @"geo-location-name";
+               public const string TAG_GEO_LOCATION_SUBLOCATION = @"geo-location-sublocation";
+               public const string TAG_GROUPING = @"grouping";
+               public const string TAG_HOMEPAGE = @"homepage";
+               public const string TAG_IMAGE = @"image";
+               public const string TAG_IMAGE_ORIENTATION = @"image-orientation";
+               public const string TAG_INTERPRETED_BY = @"interpreted-by";
+               public const string TAG_ISRC = @"isrc";
+               public const string TAG_KEYWORDS = @"keywords";
+               public const string TAG_LANGUAGE_CODE = @"language-code";
+               public const string TAG_LANGUAGE_NAME = @"language-name";
+               public const string TAG_LICENSE = @"license";
+               public const string TAG_LICENSE_URI = @"license-uri";
+               public const string TAG_LOCATION = @"location";
+               public const string TAG_LYRICS = @"lyrics";
+               public const string TAG_MAXIMUM_BITRATE = @"maximum-bitrate";
+               public const string TAG_MIDI_BASE_NOTE = @"midi-base-note";
+               public const string TAG_MINIMUM_BITRATE = @"minimum-bitrate";
+               public const string TAG_NOMINAL_BITRATE = @"nominal-bitrate";
+               public const string TAG_ORGANIZATION = @"organization";
+               public const string TAG_PERFORMER = @"performer";
+               public const string TAG_PREVIEW_IMAGE = @"preview-image";
+               public const string TAG_PRIVATE_DATA = @"private-data";
+               public const string TAG_PUBLISHER = @"publisher";
+               public const string TAG_REFERENCE_LEVEL = @"replaygain-reference-level";
+               public const string TAG_SERIAL = @"serial";
+               public const string TAG_SHOW_EPISODE_NUMBER = @"show-episode-number";
+               public const string TAG_SHOW_NAME = @"show-name";
+               public const string TAG_SHOW_SEASON_NUMBER = @"show-season-number";
+               public const string TAG_SHOW_SORTNAME = @"show-sortname";
+               public const string TAG_SUBTITLE_CODEC = @"subtitle-codec";
+               public const string TAG_TITLE = @"title";
+               public const string TAG_TITLE_SORTNAME = @"title-sortname";
+               public const string TAG_TRACK_COUNT = @"track-count";
+               public const string TAG_TRACK_GAIN = @"replaygain-track-gain";
+               public const string TAG_TRACK_NUMBER = @"track-number";
+               public const string TAG_TRACK_PEAK = @"replaygain-track-peak";
+               public const string TAG_USER_RATING = @"user-rating";
+               public const string TAG_VERSION = @"version";
+               public const string TAG_VIDEO_CODEC = @"video-codec";
+               public const string TIME_FORMAT = @"u:%02u:%02u.%09u";
+               public const int TOC_REPEAT_COUNT_INFINITE = -1;
+               public const int URI_NO_PORT = 0;
+               public const int VALUE_EQUAL = 0;
+               public const int VALUE_GREATER_THAN = 1;
+               public const int VALUE_LESS_THAN = -1;
+               public const int VALUE_UNORDERED = 2;
+               public const int VERSION_MAJOR = 1;
+               public const int VERSION_MICRO = 0;
+               public const int VERSION_MINOR = 13;
+               public const int VERSION_NANO = 1;
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Context.cs b/sources/generated/Gst_Context.cs
new file mode 100644 (file)
index 0000000..d45f9e0
--- /dev/null
@@ -0,0 +1,153 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct Context : IEquatable<Context> {
+
+
+               public static Gst.Context Zero = new Gst.Context ();
+
+               public static Gst.Context New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Context.Zero;
+                       return (Gst.Context) Marshal.PtrToStructure (raw, typeof (Gst.Context));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_context_new(IntPtr context_type, bool persistent);
+
+               public static Context New(string context_type, bool persistent)
+               {
+                       IntPtr native_context_type = GLib.Marshaller.StringToPtrGStrdup (context_type);
+                       Context result = Context.New (gst_context_new(native_context_type, persistent));
+                       GLib.Marshaller.Free (native_context_type);
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_context_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_context_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_context_get_context_type(IntPtr raw);
+
+               public string ContextType { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_context_get_context_type(this_as_native);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_context_get_structure(IntPtr raw);
+
+               public Gst.Structure Structure { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_context_get_structure(this_as_native);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_context_has_context_type(IntPtr raw, IntPtr context_type);
+
+               public bool HasContextType(string context_type) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_context_type = GLib.Marshaller.StringToPtrGStrdup (context_type);
+                       bool raw_ret = gst_context_has_context_type(this_as_native, native_context_type);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_context_type);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_context_is_persistent(IntPtr raw);
+
+               public bool IsPersistent { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_context_is_persistent(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_context_writable_structure(IntPtr raw);
+
+               public Gst.Structure WritableStructure() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_context_writable_structure(this_as_native);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Context target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (Context other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is Context && Equals ((Context) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Context boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Context.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Context (GLib.Value val)
+               {
+                       return (Gst.Context) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ControlBinding.cs b/sources/generated/Gst_ControlBinding.cs
new file mode 100644 (file)
index 0000000..f1a1e2c
--- /dev/null
@@ -0,0 +1,386 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ControlBinding : Gst.Object {
+
+               protected ControlBinding (IntPtr raw) : base(raw) {}
+
+               protected ControlBinding() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("name")]
+               public new string Name {
+                       get {
+                               GLib.Value val = GetProperty ("name");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("object")]
+               public Gst.Object Object {
+                       get {
+                               GLib.Value val = GetProperty ("object");
+                               Gst.Object ret = (Gst.Object) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               public string NameField {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("name"));
+                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public IntPtr Pspec {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("pspec"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_control_binding_set_disabled(IntPtr raw, bool disabled);
+
+               public bool Disabled {
+                       set  {
+                               gst_control_binding_set_disabled(Handle, value);
+                       }
+               }
+
+               static SyncValuesNativeDelegate SyncValues_cb_delegate;
+               static SyncValuesNativeDelegate SyncValuesVMCallback {
+                       get {
+                               if (SyncValues_cb_delegate == null)
+                                       SyncValues_cb_delegate = new SyncValuesNativeDelegate (SyncValues_cb);
+                               return SyncValues_cb_delegate;
+                       }
+               }
+
+               static void OverrideSyncValues (GLib.GType gtype)
+               {
+                       OverrideSyncValues (gtype, SyncValuesVMCallback);
+               }
+
+               static void OverrideSyncValues (GLib.GType gtype, SyncValuesNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sync_values"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SyncValuesNativeDelegate (IntPtr inst, IntPtr _object, ulong timestamp, ulong last_sync);
+
+               static bool SyncValues_cb (IntPtr inst, IntPtr _object, ulong timestamp, ulong last_sync)
+               {
+                       try {
+                               ControlBinding __obj = GLib.Object.GetObject (inst, false) as ControlBinding;
+                               bool __result;
+                               __result = __obj.OnSyncValues (GLib.Object.GetObject(_object) as Gst.Object, timestamp, last_sync);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.ControlBinding), ConnectionMethod="OverrideSyncValues")]
+               protected virtual bool OnSyncValues (Gst.Object _object, ulong timestamp, ulong last_sync)
+               {
+                       return InternalSyncValues (_object, timestamp, last_sync);
+               }
+
+               private bool InternalSyncValues (Gst.Object _object, ulong timestamp, ulong last_sync)
+               {
+                       SyncValuesNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sync_values"));
+                               unmanaged = (SyncValuesNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SyncValuesNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.Handle, timestamp, last_sync);
+                       return __result;
+               }
+
+               static GetValueNativeDelegate GetValue_cb_delegate;
+               static GetValueNativeDelegate GetValueVMCallback {
+                       get {
+                               if (GetValue_cb_delegate == null)
+                                       GetValue_cb_delegate = new GetValueNativeDelegate (GetValue_cb);
+                               return GetValue_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetValue (GLib.GType gtype)
+               {
+                       OverrideGetValue (gtype, GetValueVMCallback);
+               }
+
+               static void OverrideGetValue (GLib.GType gtype, GetValueNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_value"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetValueNativeDelegate (IntPtr inst, ulong timestamp);
+
+               static IntPtr GetValue_cb (IntPtr inst, ulong timestamp)
+               {
+                       try {
+                               ControlBinding __obj = GLib.Object.GetObject (inst, false) as ControlBinding;
+                               GLib.Value __result;
+                               __result = __obj.OnGetValue (timestamp);
+                               return GLib.Marshaller.StructureToPtrAlloc (__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.ControlBinding), ConnectionMethod="OverrideGetValue")]
+               protected virtual GLib.Value OnGetValue (ulong timestamp)
+               {
+                       return InternalGetValue (timestamp);
+               }
+
+               private GLib.Value InternalGetValue (ulong timestamp)
+               {
+                       GetValueNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_value"));
+                               unmanaged = (GetValueNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetValueNativeDelegate));
+                       }
+                       if (unmanaged == null) return GLib.Value.Empty;
+
+                       IntPtr __result = unmanaged (this.Handle, timestamp);
+                       return (GLib.Value) Marshal.PtrToStructure (__result, typeof (GLib.Value));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("sync_values"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sync_values
+                                                       , null
+                                                       , "get_value"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_value"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_value
+                                                       , "sync_values"
+                                                       , "get_value_array"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_value_array"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_value_array
+                                                       , "get_value"
+                                                       , "get_g_value_array"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_g_value_array"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_g_value_array
+                                                       , "get_value_array"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "get_g_value_array"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_control_binding_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_control_binding_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_control_binding_get_g_value_array(IntPtr raw, ulong timestamp, ulong interval, uint n_values, IntPtr[] values);
+
+               public bool GetGValueArray(ulong timestamp, ulong interval, GLib.Value[] values) {
+                       int cnt_values = values == null ? 0 : values.Length;
+                       IntPtr[] native_values = new IntPtr [cnt_values];
+                       for (int i = 0; i < cnt_values; i++)
+                               native_values [i] = GLib.Marshaller.StructureToPtrAlloc (values[i]);
+                       bool raw_ret = gst_control_binding_get_g_value_array(Handle, timestamp, interval, (uint) (values == null ? 0 : values.Length), native_values);
+                       bool ret = raw_ret;
+                       for (int i = 0; i < native_values.Length; i++) {
+                               values [i] = (GLib.Value) Marshal.PtrToStructure (native_values[i], typeof (GLib.Value));
+                               Marshal.FreeHGlobal (native_values[i]);
+                       }
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_control_binding_get_value(IntPtr raw, ulong timestamp);
+
+               public GLib.Value GetValue(ulong timestamp) {
+                       IntPtr raw_ret = gst_control_binding_get_value(Handle, timestamp);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_control_binding_is_disabled(IntPtr raw);
+
+               public bool IsDisabled { 
+                       get {
+                               bool raw_ret = gst_control_binding_is_disabled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_control_binding_sync_values(IntPtr raw, IntPtr _object, ulong timestamp, ulong last_sync);
+
+               public bool SyncValues(Gst.Object _object, ulong timestamp, ulong last_sync) {
+                       bool raw_ret = gst_control_binding_sync_values(Handle, _object == null ? IntPtr.Zero : _object.Handle, timestamp, last_sync);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("name"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // name
+                                                       , null
+                                                       , "pspec"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pspec"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pspec
+                                                       , "name"
+                                                       , "object"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("object"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // object
+                                                       , "pspec"
+                                                       , "disabled"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("disabled"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // disabled
+                                                       , "object"
+                                                       , "ABI"
+                                                       , (long) Marshal.OffsetOf(typeof(GstControlBinding_disabledAlign), "disabled")
+                                                       , 0
+                                                       ),
+                                               // union struct ABI.abi
+                                                       new GLib.AbiField("ABI.abi.priv"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr)) // ABI.abi.priv
+                                                               , "disabled"
+                                                               , null
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                               , 0
+                                                               ),
+                                               // End ABI.abi
+
+                                               // union struct ABI
+                                                       new GLib.AbiField("ABI._gst_reserved"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // ABI._gst_reserved
+                                                               , "disabled"
+                                                               , null
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                               , 0
+                                                               ),
+                                               // End ABI
+
+                                               new GLib.AbiField("ABI"
+                                                       , -1
+                                                       , new List<List<string>>() {  // union ABI
+                                               new List<string>() {"ABI.abi.priv"},
+                                               new List<string>() {"ABI._gst_reserved"}
+                                         }
+                                                       , "disabled"
+                                                       , null
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstControlBinding_disabledAlign
+               {
+                       sbyte f1;
+                       private bool disabled;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ControlBindingConvert.cs b/sources/generated/Gst_ControlBindingConvert.cs
new file mode 100644 (file)
index 0000000..a357c33
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void ControlBindingConvert(Gst.ControlBinding binding, double src_value, GLib.Value dest_value);
+
+}
diff --git a/sources/generated/Gst_ControlSource.cs b/sources/generated/Gst_ControlSource.cs
new file mode 100644 (file)
index 0000000..f99f156
--- /dev/null
@@ -0,0 +1,136 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ControlSource : Gst.Object {
+
+               protected ControlSource (IntPtr raw) : base(raw) {}
+
+               protected ControlSource() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public Gst.ControlSourceGetValue GetValue {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("get_value"));
+                                        GstSharp.ControlSourceGetValueNative del = (GstSharp.ControlSourceGetValueNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.ControlSourceGetValueNative));
+                                       return GstSharp.ControlSourceGetValueWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public Gst.ControlSourceGetValueArray GetValueArray {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("get_value_array"));
+                                        GstSharp.ControlSourceGetValueArrayNative del = (GstSharp.ControlSourceGetValueArrayNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.ControlSourceGetValueArrayNative));
+                                       return GstSharp.ControlSourceGetValueArrayWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_control_source_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_control_source_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_control_source_get_value(IntPtr raw, ulong timestamp, out double value);
+
+               public bool GetValueAt(ulong timestamp, out double value) {
+                       bool raw_ret = gst_control_source_get_value(Handle, timestamp, out value);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_control_source_get_value_array(IntPtr raw, ulong timestamp, ulong interval, uint n_values, double[] values);
+
+               public bool GetValues(ulong timestamp, ulong interval, double[] values) {
+                       bool raw_ret = gst_control_source_get_value_array(Handle, timestamp, interval, (uint) (values == null ? 0 : values.Length), values);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("get_value"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_value
+                                                       , null
+                                                       , "get_value_array"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_value_array"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_value_array
+                                                       , "get_value"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "get_value_array"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ControlSourceGetValue.cs b/sources/generated/Gst_ControlSourceGetValue.cs
new file mode 100644 (file)
index 0000000..fc424a0
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool ControlSourceGetValue(Gst.ControlSource self, ulong timestamp, double value);
+
+}
diff --git a/sources/generated/Gst_ControlSourceGetValueArray.cs b/sources/generated/Gst_ControlSourceGetValueArray.cs
new file mode 100644 (file)
index 0000000..9956a6c
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool ControlSourceGetValueArray(Gst.ControlSource self, ulong timestamp, ulong interval, uint n_values, double values);
+
+}
diff --git a/sources/generated/Gst_CoreError.cs b/sources/generated/Gst_CoreError.cs
new file mode 100644 (file)
index 0000000..e121ce2
--- /dev/null
@@ -0,0 +1,41 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.CoreErrorGType))]
+       public enum CoreError {
+
+               Failed = 1,
+               TooLazy = 2,
+               NotImplemented = 3,
+               StateChange = 4,
+               Pad = 5,
+               Thread = 6,
+               Negotiation = 7,
+               Event = 8,
+               Seek = 9,
+               Caps = 10,
+               Tag = 11,
+               MissingPlugin = 12,
+               Clock = 13,
+               Disabled = 14,
+               NumErrors = 15,
+       }
+
+       internal class CoreErrorGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_core_error_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_core_error_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_DateTime.cs b/sources/generated/Gst_DateTime.cs
new file mode 100644 (file)
index 0000000..ded1b9d
--- /dev/null
@@ -0,0 +1,343 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DateTime : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_date_time_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_date_time_get_day(IntPtr raw);
+
+               public int Day { 
+                       get {
+                               int raw_ret = gst_date_time_get_day(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_date_time_get_hour(IntPtr raw);
+
+               public int Hour { 
+                       get {
+                               int raw_ret = gst_date_time_get_hour(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_date_time_get_microsecond(IntPtr raw);
+
+               public int Microsecond { 
+                       get {
+                               int raw_ret = gst_date_time_get_microsecond(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_date_time_get_minute(IntPtr raw);
+
+               public int Minute { 
+                       get {
+                               int raw_ret = gst_date_time_get_minute(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_date_time_get_month(IntPtr raw);
+
+               public int Month { 
+                       get {
+                               int raw_ret = gst_date_time_get_month(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_date_time_get_second(IntPtr raw);
+
+               public int Second { 
+                       get {
+                               int raw_ret = gst_date_time_get_second(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern float gst_date_time_get_time_zone_offset(IntPtr raw);
+
+               public float TimeZoneOffset { 
+                       get {
+                               float raw_ret = gst_date_time_get_time_zone_offset(Handle);
+                               float ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_date_time_get_year(IntPtr raw);
+
+               public int Year { 
+                       get {
+                               int raw_ret = gst_date_time_get_year(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_date_time_has_day(IntPtr raw);
+
+               public bool HasDay { 
+                       get {
+                               bool raw_ret = gst_date_time_has_day(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_date_time_has_month(IntPtr raw);
+
+               public bool HasMonth { 
+                       get {
+                               bool raw_ret = gst_date_time_has_month(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_date_time_has_second(IntPtr raw);
+
+               public bool HasSecond { 
+                       get {
+                               bool raw_ret = gst_date_time_has_second(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_date_time_has_time(IntPtr raw);
+
+               public bool HasTime { 
+                       get {
+                               bool raw_ret = gst_date_time_has_time(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_date_time_has_year(IntPtr raw);
+
+               public bool HasYear { 
+                       get {
+                               bool raw_ret = gst_date_time_has_year(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_to_g_date_time(IntPtr raw);
+
+               public GLib.DateTime ToGDateTime() {
+                       IntPtr raw_ret = gst_date_time_to_g_date_time(Handle);
+                       GLib.DateTime ret = new GLib.DateTime(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_to_iso8601_string(IntPtr raw);
+
+               public string ToIso8601String() {
+                       IntPtr raw_ret = gst_date_time_to_iso8601_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               public DateTime(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new(float tzoffset, int year, int month, int day, int hour, int minute, double seconds);
+
+               public DateTime (float tzoffset, int year, int month, int day, int hour, int minute, double seconds) 
+               {
+                       Raw = gst_date_time_new(tzoffset, year, month, day, hour, minute, seconds);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_from_g_date_time(IntPtr dt);
+
+               public DateTime (GLib.DateTime dt) 
+               {
+                       Raw = gst_date_time_new_from_g_date_time(dt == null ? IntPtr.Zero : dt.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_from_iso8601_string(IntPtr str1ng);
+
+               public DateTime (string str1ng) 
+               {
+                       IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+                       Raw = gst_date_time_new_from_iso8601_string(native_str1ng);
+                       GLib.Marshaller.Free (native_str1ng);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_from_unix_epoch_local_time(long secs);
+
+               public DateTime (long secs) 
+               {
+                       Raw = gst_date_time_new_from_unix_epoch_local_time(secs);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_from_unix_epoch_utc(long secs);
+
+               public static DateTime NewFromUnixEpochUtc(long secs)
+               {
+                       DateTime result = new DateTime (gst_date_time_new_from_unix_epoch_utc(secs));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_local_time(int year, int month, int day, int hour, int minute, double seconds);
+
+               public DateTime (int year, int month, int day, int hour, int minute, double seconds) 
+               {
+                       Raw = gst_date_time_new_local_time(year, month, day, hour, minute, seconds);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_now_local_time();
+
+               public DateTime () 
+               {
+                       Raw = gst_date_time_new_now_local_time();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_now_utc();
+
+               public static DateTime NewNowUtc()
+               {
+                       DateTime result = new DateTime (gst_date_time_new_now_utc());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_y(int year);
+
+               public DateTime (int year) 
+               {
+                       Raw = gst_date_time_new_y(year);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_ym(int year, int month);
+
+               public DateTime (int year, int month) 
+               {
+                       Raw = gst_date_time_new_ym(year, month);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_new_ymd(int year, int month, int day);
+
+               public DateTime (int year, int month, int day) 
+               {
+                       Raw = gst_date_time_new_ymd(year, month, day);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_date_time_ref(IntPtr raw);
+
+               protected override void Ref (IntPtr raw)
+               {
+                       if (!Owned) {
+                               gst_date_time_ref (raw);
+                               Owned = true;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_date_time_unref(IntPtr raw);
+
+               protected override void Unref (IntPtr raw)
+               {
+                       if (Owned) {
+                               gst_date_time_unref (raw);
+                               Owned = false;
+                       }
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_date_time_unref (handle);
+                               return false;
+                       }
+               }
+
+               ~DateTime ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Debug.cs b/sources/generated/Gst_Debug.cs
new file mode 100644 (file)
index 0000000..32218c0
--- /dev/null
@@ -0,0 +1,273 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Debug {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_add_log_function(GstSharp.LogFunctionNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public static void AddLogFunction(Gst.LogFunction func) {
+                       GstSharp.LogFunctionWrapper func_wrapper = new GstSharp.LogFunctionWrapper (func);
+                       IntPtr user_data;
+                       GLib.DestroyNotify notify;
+                       if (func == null) {
+                               user_data = IntPtr.Zero;
+                               notify = null;
+                       } else {
+                               user_data = (IntPtr) GCHandle.Alloc (func_wrapper);
+                               notify = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       gst_debug_add_log_function(func_wrapper.NativeDelegate, user_data, notify);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_add_ring_buffer_logger(uint max_size_per_thread, uint thread_timeout);
+
+               public static void AddRingBufferLogger(uint max_size_per_thread, uint thread_timeout) {
+                       gst_debug_add_ring_buffer_logger(max_size_per_thread, thread_timeout);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_bin_to_dot_data(IntPtr bin, int details);
+
+               public static string BinToDotData(Gst.Bin bin, Gst.DebugGraphDetails details) {
+                       IntPtr raw_ret = gst_debug_bin_to_dot_data(bin == null ? IntPtr.Zero : bin.Handle, (int) details);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_bin_to_dot_file(IntPtr bin, int details, IntPtr file_name);
+
+               public static void BinToDotFile(Gst.Bin bin, Gst.DebugGraphDetails details, string file_name) {
+                       IntPtr native_file_name = GLib.Marshaller.StringToPtrGStrdup (file_name);
+                       gst_debug_bin_to_dot_file(bin == null ? IntPtr.Zero : bin.Handle, (int) details, native_file_name);
+                       GLib.Marshaller.Free (native_file_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_bin_to_dot_file_with_ts(IntPtr bin, int details, IntPtr file_name);
+
+               public static void BinToDotFileWithTs(Gst.Bin bin, Gst.DebugGraphDetails details, string file_name) {
+                       IntPtr native_file_name = GLib.Marshaller.StringToPtrGStrdup (file_name);
+                       gst_debug_bin_to_dot_file_with_ts(bin == null ? IntPtr.Zero : bin.Handle, (int) details, native_file_name);
+                       GLib.Marshaller.Free (native_file_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_construct_term_color(uint colorinfo);
+
+               public static string ConstructTermColor(uint colorinfo) {
+                       IntPtr raw_ret = gst_debug_construct_term_color(colorinfo);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_debug_construct_win_color(uint colorinfo);
+
+               public static int ConstructWinColor(uint colorinfo) {
+                       int raw_ret = gst_debug_construct_win_color(colorinfo);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_get_all_categories();
+
+               public static GLib.SList[] GetAllCategories() {
+                       IntPtr raw_ret = gst_debug_get_all_categories();
+                       GLib.SList[] ret = (GLib.SList[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.SList), false, true, typeof(GLib.SList));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_debug_get_color_mode();
+
+               public static Gst.DebugColorMode GetColorMode() {
+                       int raw_ret = gst_debug_get_color_mode();
+                       Gst.DebugColorMode ret = (Gst.DebugColorMode) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_debug_get_default_threshold();
+
+               public static Gst.DebugLevel GetDefaultThreshold() {
+                       int raw_ret = gst_debug_get_default_threshold();
+                       Gst.DebugLevel ret = (Gst.DebugLevel) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_get_stack_trace(int flags);
+
+               public static string GetStackTrace(Gst.StackTraceFlags flags) {
+                       IntPtr raw_ret = gst_debug_get_stack_trace((int) flags);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_debug_is_active();
+
+               public static bool IsActive() {
+                       bool raw_ret = gst_debug_is_active();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_debug_is_colored();
+
+               public static bool IsColored() {
+                       bool raw_ret = gst_debug_is_colored();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_level_get_name(int level);
+
+               public static string LevelGetName(Gst.DebugLevel level) {
+                       IntPtr raw_ret = gst_debug_level_get_name((int) level);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_log_default(IntPtr category, int level, IntPtr file, IntPtr function, int line, IntPtr _object, IntPtr message, IntPtr user_data);
+
+               public static void LogDefault(Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object _object, Gst.DebugMessage message, IntPtr user_data) {
+                       IntPtr native_category = GLib.Marshaller.StructureToPtrAlloc (category);
+                       IntPtr native_file = GLib.Marshaller.StringToPtrGStrdup (file);
+                       IntPtr native_function = GLib.Marshaller.StringToPtrGStrdup (function);
+                       gst_debug_log_default(native_category, (int) level, native_file, native_function, line, _object == null ? IntPtr.Zero : _object.Handle, message == null ? IntPtr.Zero : message.Handle, user_data);
+                       Marshal.FreeHGlobal (native_category);
+                       GLib.Marshaller.Free (native_file);
+                       GLib.Marshaller.Free (native_function);
+               }
+
+               public static void LogDefault(Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, Gst.DebugMessage message) {
+                       LogDefault (category, level, file, function, line, null, message, IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_print_stack_trace();
+
+               public static void PrintStackTrace() {
+                       gst_debug_print_stack_trace();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_debug_remove_log_function(GstSharp.LogFunctionNative func);
+
+               public static uint RemoveLogFunction(Gst.LogFunction func) {
+                       GstSharp.LogFunctionWrapper func_wrapper = new GstSharp.LogFunctionWrapper (func);
+                       uint raw_ret = gst_debug_remove_log_function(func_wrapper.NativeDelegate);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               public static uint RemoveLogFunction() {
+                       return RemoveLogFunction (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_debug_remove_log_function_by_data(IntPtr data);
+
+               public static uint RemoveLogFunctionByData(IntPtr data) {
+                       uint raw_ret = gst_debug_remove_log_function_by_data(data);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_remove_ring_buffer_logger();
+
+               public static void RemoveRingBufferLogger() {
+                       gst_debug_remove_ring_buffer_logger();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_ring_buffer_logger_get_logs();
+
+               public static string[] RingBufferLoggerGetLogs() {
+                       IntPtr raw_ret = gst_debug_ring_buffer_logger_get_logs();
+                       string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_set_active(bool active);
+
+               public static void SetActive(bool active) {
+                       gst_debug_set_active(active);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_set_color_mode(int mode);
+
+               public static void SetColorMode(Gst.DebugColorMode mode) {
+                       gst_debug_set_color_mode((int) mode);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_set_color_mode_from_string(IntPtr mode);
+
+               public static void SetColorModeFromString(string mode) {
+                       IntPtr native_mode = GLib.Marshaller.StringToPtrGStrdup (mode);
+                       gst_debug_set_color_mode_from_string(native_mode);
+                       GLib.Marshaller.Free (native_mode);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_set_colored(bool colored);
+
+               public static void SetColored(bool colored) {
+                       gst_debug_set_colored(colored);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_set_default_threshold(int level);
+
+               public static void SetDefaultThreshold(Gst.DebugLevel level) {
+                       gst_debug_set_default_threshold((int) level);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_set_threshold_for_name(IntPtr name, int level);
+
+               public static void SetThresholdForName(string name, Gst.DebugLevel level) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_debug_set_threshold_for_name(native_name, (int) level);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_set_threshold_from_string(IntPtr list, bool reset);
+
+               public static void SetThresholdFromString(string list, bool reset) {
+                       IntPtr native_list = GLib.Marshaller.StringToPtrGStrdup (list);
+                       gst_debug_set_threshold_from_string(native_list, reset);
+                       GLib.Marshaller.Free (native_list);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_unset_threshold_for_name(IntPtr name);
+
+               public static void UnsetThresholdForName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_debug_unset_threshold_for_name(native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_DebugCategory.cs b/sources/generated/Gst_DebugCategory.cs
new file mode 100644 (file)
index 0000000..d355e32
--- /dev/null
@@ -0,0 +1,75 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct DebugCategory : IEquatable<DebugCategory> {
+
+               private Gst.DebugLevel threshold;
+               private uint color;
+               private string name;
+               private string description;
+
+               public static Gst.DebugCategory Zero = new Gst.DebugCategory ();
+
+               public static Gst.DebugCategory New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.DebugCategory.Zero;
+                       return (Gst.DebugCategory) Marshal.PtrToStructure (raw, typeof (Gst.DebugCategory));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_category_free(IntPtr raw);
+
+               public void Free() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_debug_category_free(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_debug_category_reset_threshold(IntPtr raw);
+
+               public void ResetThreshold() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_debug_category_reset_threshold(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.DebugCategory target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (DebugCategory other)
+               {
+                       return true && threshold.Equals (other.threshold) && color.Equals (other.color) && name.Equals (other.name) && description.Equals (other.description);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is DebugCategory && Equals ((DebugCategory) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ threshold.GetHashCode () ^ color.GetHashCode () ^ name.GetHashCode () ^ description.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_DebugColorFlags.cs b/sources/generated/Gst_DebugColorFlags.cs
new file mode 100644 (file)
index 0000000..c24115c
--- /dev/null
@@ -0,0 +1,45 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.DebugColorFlagsGType))]
+       public enum DebugColorFlags {
+
+               FgBlack = 0,
+               BgBlack = 0,
+               FgRed = 1,
+               FgGreen = 2,
+               FgYellow = 3,
+               FgBlue = 4,
+               FgMagenta = 5,
+               FgCyan = 6,
+               FgWhite = 7,
+               BgRed = 16,
+               BgGreen = 32,
+               BgYellow = 48,
+               BgBlue = 64,
+               BgMagenta = 80,
+               BgCyan = 96,
+               BgWhite = 112,
+               Bold = 256,
+               Underline = 512,
+       }
+
+       internal class DebugColorFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_color_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_debug_color_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_DebugColorMode.cs b/sources/generated/Gst_DebugColorMode.cs
new file mode 100644 (file)
index 0000000..48d7458
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.DebugColorModeGType))]
+       public enum DebugColorMode {
+
+               Off = 0,
+               On = 1,
+               Unix = 2,
+       }
+
+       internal class DebugColorModeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_color_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_debug_color_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_DebugFuncPtr.cs b/sources/generated/Gst_DebugFuncPtr.cs
new file mode 100644 (file)
index 0000000..eb182fc
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void DebugFuncPtr();
+
+}
diff --git a/sources/generated/Gst_DebugGraphDetails.cs b/sources/generated/Gst_DebugGraphDetails.cs
new file mode 100644 (file)
index 0000000..ed5db0d
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.DebugGraphDetailsGType))]
+       public enum DebugGraphDetails {
+
+               Verbose = -1,
+               MediaType = 1,
+               CapsDetails = 2,
+               NonDefaultParams = 4,
+               States = 8,
+               All = 15,
+               FullParams = 16,
+       }
+
+       internal class DebugGraphDetailsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_graph_details_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_debug_graph_details_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_DebugLevel.cs b/sources/generated/Gst_DebugLevel.cs
new file mode 100644 (file)
index 0000000..6bbf413
--- /dev/null
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.DebugLevelGType))]
+       public enum DebugLevel {
+
+               None = 0,
+               Error = 1,
+               Warning = 2,
+               Fixme = 3,
+               Info = 4,
+               Debug = 5,
+               Log = 6,
+               Trace = 7,
+               Memdump = 9,
+               Count = 10,
+       }
+
+       internal class DebugLevelGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_level_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_debug_level_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_DebugMessage.cs b/sources/generated/Gst_DebugMessage.cs
new file mode 100644 (file)
index 0000000..7d398f0
--- /dev/null
@@ -0,0 +1,43 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DebugMessage : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_debug_message_get(IntPtr raw);
+
+               public string Get() {
+                       IntPtr raw_ret = gst_debug_message_get(Handle);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               public DebugMessage(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_DeepElementAddedHandler.cs b/sources/generated/Gst_DeepElementAddedHandler.cs
new file mode 100644 (file)
index 0000000..2dfa4e8
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void DeepElementAddedHandler(object o, DeepElementAddedArgs args);
+
+       public class DeepElementAddedArgs : GLib.SignalArgs {
+               public Gst.Bin SubBin{
+                       get {
+                               return (Gst.Bin) Args [0];
+                       }
+               }
+
+               public Gst.Element Element{
+                       get {
+                               return (Gst.Element) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_DeepElementRemovedHandler.cs b/sources/generated/Gst_DeepElementRemovedHandler.cs
new file mode 100644 (file)
index 0000000..9ab541b
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void DeepElementRemovedHandler(object o, DeepElementRemovedArgs args);
+
+       public class DeepElementRemovedArgs : GLib.SignalArgs {
+               public Gst.Bin SubBin{
+                       get {
+                               return (Gst.Bin) Args [0];
+                       }
+               }
+
+               public Gst.Element Element{
+                       get {
+                               return (Gst.Element) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_DeepNotifyHandler.cs b/sources/generated/Gst_DeepNotifyHandler.cs
new file mode 100644 (file)
index 0000000..a4201bb
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void DeepNotifyHandler(object o, DeepNotifyArgs args);
+
+       public class DeepNotifyArgs : GLib.SignalArgs {
+               public Gst.Object PropObject{
+                       get {
+                               return (Gst.Object) Args [0];
+                       }
+               }
+
+               public IntPtr Prop{
+                       get {
+                               return (IntPtr) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_Device.cs b/sources/generated/Gst_Device.cs
new file mode 100644 (file)
index 0000000..3767808
--- /dev/null
@@ -0,0 +1,384 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Device : Gst.Object {
+
+               protected Device (IntPtr raw) : base(raw) {}
+
+               protected Device() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_get_caps(IntPtr raw);
+
+               [GLib.Property ("caps")]
+               public Gst.Caps Caps {
+                       get  {
+                               IntPtr raw_ret = gst_device_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_get_device_class(IntPtr raw);
+
+               [GLib.Property ("device-class")]
+               public string DeviceClass {
+                       get  {
+                               IntPtr raw_ret = gst_device_get_device_class(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_get_display_name(IntPtr raw);
+
+               [GLib.Property ("display-name")]
+               public string DisplayName {
+                       get  {
+                               IntPtr raw_ret = gst_device_get_display_name(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_get_properties(IntPtr raw);
+
+               [GLib.Property ("properties")]
+               public Gst.Structure Properties {
+                       get  {
+                               IntPtr raw_ret = gst_device_get_properties(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+                               return ret;
+                       }
+               }
+
+               [GLib.Signal("removed")]
+               public event System.EventHandler Removed {
+                       add {
+                               this.AddSignalHandler ("removed", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("removed", value);
+                       }
+               }
+
+               static RemovedNativeDelegate Removed_cb_delegate;
+               static RemovedNativeDelegate RemovedVMCallback {
+                       get {
+                               if (Removed_cb_delegate == null)
+                                       Removed_cb_delegate = new RemovedNativeDelegate (Removed_cb);
+                               return Removed_cb_delegate;
+                       }
+               }
+
+               static void OverrideRemoved (GLib.GType gtype)
+               {
+                       OverrideRemoved (gtype, RemovedVMCallback);
+               }
+
+               static void OverrideRemoved (GLib.GType gtype, RemovedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "removed", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void RemovedNativeDelegate (IntPtr inst);
+
+               static void Removed_cb (IntPtr inst)
+               {
+                       try {
+                               Device __obj = GLib.Object.GetObject (inst, false) as Device;
+                               __obj.OnRemoved ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Device), ConnectionMethod="OverrideRemoved")]
+               protected virtual void OnRemoved ()
+               {
+                       InternalRemoved ();
+               }
+
+               private void InternalRemoved ()
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
+                       GLib.Value[] vals = new GLib.Value [1];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static CreateElementNativeDelegate CreateElement_cb_delegate;
+               static CreateElementNativeDelegate CreateElementVMCallback {
+                       get {
+                               if (CreateElement_cb_delegate == null)
+                                       CreateElement_cb_delegate = new CreateElementNativeDelegate (CreateElement_cb);
+                               return CreateElement_cb_delegate;
+                       }
+               }
+
+               static void OverrideCreateElement (GLib.GType gtype)
+               {
+                       OverrideCreateElement (gtype, CreateElementVMCallback);
+               }
+
+               static void OverrideCreateElement (GLib.GType gtype, CreateElementNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_element"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr CreateElementNativeDelegate (IntPtr inst, IntPtr name);
+
+               static IntPtr CreateElement_cb (IntPtr inst, IntPtr name)
+               {
+                       try {
+                               Device __obj = GLib.Object.GetObject (inst, false) as Device;
+                               Gst.Element __result;
+                               __result = __obj.OnCreateElement (GLib.Marshaller.Utf8PtrToString (name));
+                               return __result == null ? IntPtr.Zero : __result.OwnedHandle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Device), ConnectionMethod="OverrideCreateElement")]
+               protected virtual Gst.Element OnCreateElement (string name)
+               {
+                       return InternalCreateElement (name);
+               }
+
+               private Gst.Element InternalCreateElement (string name)
+               {
+                       CreateElementNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_element"));
+                               unmanaged = (CreateElementNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateElementNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr __result = unmanaged (this.Handle, native_name);
+                       GLib.Marshaller.Free (native_name);
+                       return GLib.Object.GetObject(__result, true) as Gst.Element;
+               }
+
+               static ReconfigureElementNativeDelegate ReconfigureElement_cb_delegate;
+               static ReconfigureElementNativeDelegate ReconfigureElementVMCallback {
+                       get {
+                               if (ReconfigureElement_cb_delegate == null)
+                                       ReconfigureElement_cb_delegate = new ReconfigureElementNativeDelegate (ReconfigureElement_cb);
+                               return ReconfigureElement_cb_delegate;
+                       }
+               }
+
+               static void OverrideReconfigureElement (GLib.GType gtype)
+               {
+                       OverrideReconfigureElement (gtype, ReconfigureElementVMCallback);
+               }
+
+               static void OverrideReconfigureElement (GLib.GType gtype, ReconfigureElementNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("reconfigure_element"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ReconfigureElementNativeDelegate (IntPtr inst, IntPtr element);
+
+               static bool ReconfigureElement_cb (IntPtr inst, IntPtr element)
+               {
+                       try {
+                               Device __obj = GLib.Object.GetObject (inst, false) as Device;
+                               bool __result;
+                               __result = __obj.OnReconfigureElement (GLib.Object.GetObject(element) as Gst.Element);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Device), ConnectionMethod="OverrideReconfigureElement")]
+               protected virtual bool OnReconfigureElement (Gst.Element element)
+               {
+                       return InternalReconfigureElement (element);
+               }
+
+               private bool InternalReconfigureElement (Gst.Element element)
+               {
+                       ReconfigureElementNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("reconfigure_element"));
+                               unmanaged = (ReconfigureElementNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ReconfigureElementNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, element == null ? IntPtr.Zero : element.Handle);
+                       return __result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("create_element"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_element
+                                                       , null
+                                                       , "reconfigure_element"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("reconfigure_element"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // reconfigure_element
+                                                       , "create_element"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "reconfigure_element"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_device_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_create_element(IntPtr raw, IntPtr name);
+
+               public Gst.Element CreateElement(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_device_create_element(Handle, native_name);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public Gst.Element CreateElement() {
+                       return CreateElement (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_has_classes(IntPtr raw, IntPtr classes);
+
+               public bool HasClasses(string classes) {
+                       IntPtr native_classes = GLib.Marshaller.StringToPtrGStrdup (classes);
+                       bool raw_ret = gst_device_has_classes(Handle, native_classes);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_classes);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_has_classesv(IntPtr raw, IntPtr[] classes);
+
+               public bool HasClassesv(string[] classes) {
+                       int cnt_classes = classes == null ? 0 : classes.Length;
+                       IntPtr[] native_classes = new IntPtr [cnt_classes + 1];
+                       for (int i = 0; i < cnt_classes; i++)
+                               native_classes [i] = GLib.Marshaller.StringToPtrGStrdup (classes[i]);
+                       native_classes [cnt_classes] = IntPtr.Zero;
+                       bool raw_ret = gst_device_has_classesv(Handle, native_classes);
+                       bool ret = raw_ret;
+                       for (int i = 0; i < native_classes.Length - 1; i++) {
+                               classes [i] = GLib.Marshaller.Utf8PtrToString (native_classes[i]);
+                               GLib.Marshaller.Free (native_classes[i]);
+                       }
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_reconfigure_element(IntPtr raw, IntPtr element);
+
+               public bool ReconfigureElement(Gst.Element element) {
+                       bool raw_ret = gst_device_reconfigure_element(Handle, element == null ? IntPtr.Zero : element.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_DeviceMonitor.cs b/sources/generated/Gst_DeviceMonitor.cs
new file mode 100644 (file)
index 0000000..479a4f8
--- /dev/null
@@ -0,0 +1,202 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DeviceMonitor : Gst.Object {
+
+               public DeviceMonitor (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_monitor_new();
+
+               public DeviceMonitor () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (DeviceMonitor)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_device_monitor_new();
+               }
+
+               [GLib.Property ("show-all")]
+               public bool ShowAll {
+                       get {
+                               GLib.Value val = GetProperty ("show-all");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("show-all", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_monitor_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_device_monitor_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_device_monitor_add_filter(IntPtr raw, IntPtr classes, IntPtr caps);
+
+               public uint AddFilter(string classes, Gst.Caps caps) {
+                       IntPtr native_classes = GLib.Marshaller.StringToPtrGStrdup (classes);
+                       uint raw_ret = gst_device_monitor_add_filter(Handle, native_classes, caps == null ? IntPtr.Zero : caps.Handle);
+                       uint ret = raw_ret;
+                       GLib.Marshaller.Free (native_classes);
+                       return ret;
+               }
+
+               public uint AddFilter() {
+                       return AddFilter (null, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_monitor_get_bus(IntPtr raw);
+
+               public Gst.Bus Bus { 
+                       get {
+                               IntPtr raw_ret = gst_device_monitor_get_bus(Handle);
+                               Gst.Bus ret = GLib.Object.GetObject(raw_ret, true) as Gst.Bus;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_monitor_get_devices(IntPtr raw);
+
+               public Gst.Device[] Devices { 
+                       get {
+                               IntPtr raw_ret = gst_device_monitor_get_devices(Handle);
+                               Gst.Device[] ret = (Gst.Device[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.Device));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_monitor_get_providers(IntPtr raw);
+
+               public string[] Providers { 
+                       get {
+                               IntPtr raw_ret = gst_device_monitor_get_providers(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_monitor_get_show_all_devices(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_device_monitor_set_show_all_devices(IntPtr raw, bool show_all);
+
+               public bool ShowAllDevices { 
+                       get {
+                               bool raw_ret = gst_device_monitor_get_show_all_devices(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_device_monitor_set_show_all_devices(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_monitor_remove_filter(IntPtr raw, uint filter_id);
+
+               public bool RemoveFilter(uint filter_id) {
+                       bool raw_ret = gst_device_monitor_remove_filter(Handle, filter_id);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_monitor_start(IntPtr raw);
+
+               public bool Start() {
+                       bool raw_ret = gst_device_monitor_start(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_device_monitor_stop(IntPtr raw);
+
+               public void Stop() {
+                       gst_device_monitor_stop(Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_DeviceProvider.cs b/sources/generated/Gst_DeviceProvider.cs
new file mode 100644 (file)
index 0000000..5ab768c
--- /dev/null
@@ -0,0 +1,498 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DeviceProvider : Gst.Object {
+
+               protected DeviceProvider (IntPtr raw) : base(raw) {}
+
+               protected DeviceProvider() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_get_devices(IntPtr raw);
+
+               public Gst.Device[] Devices {
+                       get  {
+                               IntPtr raw_ret = gst_device_provider_get_devices(Handle);
+                               Gst.Device[] ret = (Gst.Device[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.Device));
+                               return ret;
+                       }
+               }
+
+               [GLib.Signal("provider-hidden")]
+               public event Gst.ProviderHiddenHandler ProviderHidden {
+                       add {
+                               this.AddSignalHandler ("provider-hidden", value, typeof (Gst.ProviderHiddenArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("provider-hidden", value);
+                       }
+               }
+
+               [GLib.Signal("provider-unhidden")]
+               public event Gst.ProviderUnhiddenHandler ProviderUnhidden {
+                       add {
+                               this.AddSignalHandler ("provider-unhidden", value, typeof (Gst.ProviderUnhiddenArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("provider-unhidden", value);
+                       }
+               }
+
+               static ProviderHiddenNativeDelegate ProviderHidden_cb_delegate;
+               static ProviderHiddenNativeDelegate ProviderHiddenVMCallback {
+                       get {
+                               if (ProviderHidden_cb_delegate == null)
+                                       ProviderHidden_cb_delegate = new ProviderHiddenNativeDelegate (ProviderHidden_cb);
+                               return ProviderHidden_cb_delegate;
+                       }
+               }
+
+               static void OverrideProviderHidden (GLib.GType gtype)
+               {
+                       OverrideProviderHidden (gtype, ProviderHiddenVMCallback);
+               }
+
+               static void OverrideProviderHidden (GLib.GType gtype, ProviderHiddenNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "provider-hidden", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ProviderHiddenNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void ProviderHidden_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               DeviceProvider __obj = GLib.Object.GetObject (inst, false) as DeviceProvider;
+                               __obj.OnProviderHidden (GLib.Marshaller.Utf8PtrToString (_object));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.DeviceProvider), ConnectionMethod="OverrideProviderHidden")]
+               protected virtual void OnProviderHidden (string _object)
+               {
+                       InternalProviderHidden (_object);
+               }
+
+               private void InternalProviderHidden (string _object)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static ProviderUnhiddenNativeDelegate ProviderUnhidden_cb_delegate;
+               static ProviderUnhiddenNativeDelegate ProviderUnhiddenVMCallback {
+                       get {
+                               if (ProviderUnhidden_cb_delegate == null)
+                                       ProviderUnhidden_cb_delegate = new ProviderUnhiddenNativeDelegate (ProviderUnhidden_cb);
+                               return ProviderUnhidden_cb_delegate;
+                       }
+               }
+
+               static void OverrideProviderUnhidden (GLib.GType gtype)
+               {
+                       OverrideProviderUnhidden (gtype, ProviderUnhiddenVMCallback);
+               }
+
+               static void OverrideProviderUnhidden (GLib.GType gtype, ProviderUnhiddenNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "provider-unhidden", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ProviderUnhiddenNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void ProviderUnhidden_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               DeviceProvider __obj = GLib.Object.GetObject (inst, false) as DeviceProvider;
+                               __obj.OnProviderUnhidden (GLib.Marshaller.Utf8PtrToString (_object));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.DeviceProvider), ConnectionMethod="OverrideProviderUnhidden")]
+               protected virtual void OnProviderUnhidden (string _object)
+               {
+                       InternalProviderUnhidden (_object);
+               }
+
+               private void InternalProviderUnhidden (string _object)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static StartNativeDelegate Start_cb_delegate;
+               static StartNativeDelegate StartVMCallback {
+                       get {
+                               if (Start_cb_delegate == null)
+                                       Start_cb_delegate = new StartNativeDelegate (Start_cb);
+                               return Start_cb_delegate;
+                       }
+               }
+
+               static void OverrideStart (GLib.GType gtype)
+               {
+                       OverrideStart (gtype, StartVMCallback);
+               }
+
+               static void OverrideStart (GLib.GType gtype, StartNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool StartNativeDelegate (IntPtr inst);
+
+               static bool Start_cb (IntPtr inst)
+               {
+                       try {
+                               DeviceProvider __obj = GLib.Object.GetObject (inst, false) as DeviceProvider;
+                               bool __result;
+                               __result = __obj.OnStart ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.DeviceProvider), ConnectionMethod="OverrideStart")]
+               protected virtual bool OnStart ()
+               {
+                       return InternalStart ();
+               }
+
+               private bool InternalStart ()
+               {
+                       StartNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("start"));
+                               unmanaged = (StartNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StartNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static StopNativeDelegate Stop_cb_delegate;
+               static StopNativeDelegate StopVMCallback {
+                       get {
+                               if (Stop_cb_delegate == null)
+                                       Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
+                               return Stop_cb_delegate;
+                       }
+               }
+
+               static void OverrideStop (GLib.GType gtype)
+               {
+                       OverrideStop (gtype, StopVMCallback);
+               }
+
+               static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void StopNativeDelegate (IntPtr inst);
+
+               static void Stop_cb (IntPtr inst)
+               {
+                       try {
+                               DeviceProvider __obj = GLib.Object.GetObject (inst, false) as DeviceProvider;
+                               __obj.OnStop ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.DeviceProvider), ConnectionMethod="OverrideStop")]
+               protected virtual void OnStop ()
+               {
+                       InternalStop ();
+               }
+
+               private void InternalStop ()
+               {
+                       StopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
+                               unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("factory"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // factory
+                                                       , null
+                                                       , "probe"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("probe"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // probe
+                                                       , "factory"
+                                                       , "start"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // start
+                                                       , "probe"
+                                                       , "stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
+                                                       , "start"
+                                                       , "metadata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("metadata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // metadata
+                                                       , "stop"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "metadata"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_device_provider_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_provider_register(IntPtr plugin, IntPtr name, uint rank, IntPtr type);
+
+               public static bool Register(Gst.Plugin plugin, string name, uint rank, GLib.GType type) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_device_provider_register(plugin == null ? IntPtr.Zero : plugin.Handle, native_name, rank, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public static bool Register(string name, uint rank, GLib.GType type) {
+                       return Register (null, name, rank, type);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_provider_can_monitor(IntPtr raw);
+
+               public bool CanMonitor() {
+                       bool raw_ret = gst_device_provider_can_monitor(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_device_provider_device_add(IntPtr raw, IntPtr device);
+
+               public void DeviceAdd(Gst.Device device) {
+                       gst_device_provider_device_add(Handle, device == null ? IntPtr.Zero : device.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_device_provider_device_remove(IntPtr raw, IntPtr device);
+
+               public void DeviceRemove(Gst.Device device) {
+                       gst_device_provider_device_remove(Handle, device == null ? IntPtr.Zero : device.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_get_bus(IntPtr raw);
+
+               public Gst.Bus Bus { 
+                       get {
+                               IntPtr raw_ret = gst_device_provider_get_bus(Handle);
+                               Gst.Bus ret = GLib.Object.GetObject(raw_ret, true) as Gst.Bus;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_get_factory(IntPtr raw);
+
+               public Gst.DeviceProviderFactory Factory { 
+                       get {
+                               IntPtr raw_ret = gst_device_provider_get_factory(Handle);
+                               Gst.DeviceProviderFactory ret = GLib.Object.GetObject(raw_ret) as Gst.DeviceProviderFactory;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_get_hidden_providers(IntPtr raw);
+
+               public string[] HiddenProviders { 
+                       get {
+                               IntPtr raw_ret = gst_device_provider_get_hidden_providers(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_get_metadata(IntPtr raw, IntPtr key);
+
+               public string GetMetadata(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = gst_device_provider_get_metadata(Handle, native_key);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_device_provider_hide_provider(IntPtr raw, IntPtr name);
+
+               public void HideProvider(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_device_provider_hide_provider(Handle, native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_provider_start(IntPtr raw);
+
+               public bool Start() {
+                       bool raw_ret = gst_device_provider_start(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_device_provider_stop(IntPtr raw);
+
+               public void Stop() {
+                       gst_device_provider_stop(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_device_provider_unhide_provider(IntPtr raw, IntPtr name);
+
+               public void UnhideProvider(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       gst_device_provider_unhide_provider(Handle, native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("devices"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // devices
+                                                       , null
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "devices"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_DeviceProviderFactory.cs b/sources/generated/Gst_DeviceProviderFactory.cs
new file mode 100644 (file)
index 0000000..d6bb2b7
--- /dev/null
@@ -0,0 +1,174 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DeviceProviderFactory : Gst.PluginFeature {
+
+               public DeviceProviderFactory (IntPtr raw) : base(raw) {}
+
+               protected DeviceProviderFactory() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.PluginFeature.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_factory_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_device_provider_factory_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_factory_find(IntPtr name);
+
+               public static Gst.DeviceProviderFactory Find(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_device_provider_factory_find(native_name);
+                       Gst.DeviceProviderFactory ret = GLib.Object.GetObject(raw_ret, true) as Gst.DeviceProviderFactory;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_factory_get_by_name(IntPtr factoryname);
+
+               public static Gst.DeviceProvider GetByName(string factoryname) {
+                       IntPtr native_factoryname = GLib.Marshaller.StringToPtrGStrdup (factoryname);
+                       IntPtr raw_ret = gst_device_provider_factory_get_by_name(native_factoryname);
+                       Gst.DeviceProvider ret = GLib.Object.GetObject(raw_ret, true) as Gst.DeviceProvider;
+                       GLib.Marshaller.Free (native_factoryname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_factory_list_get_device_providers(int minrank);
+
+               public static Gst.DeviceProviderFactory[] ListGetDeviceProviders(Gst.Rank minrank) {
+                       IntPtr raw_ret = gst_device_provider_factory_list_get_device_providers((int) minrank);
+                       Gst.DeviceProviderFactory[] ret = (Gst.DeviceProviderFactory[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.DeviceProviderFactory));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_factory_get(IntPtr raw);
+
+               public Gst.DeviceProvider Get() {
+                       IntPtr raw_ret = gst_device_provider_factory_get(Handle);
+                       Gst.DeviceProvider ret = GLib.Object.GetObject(raw_ret, true) as Gst.DeviceProvider;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_factory_get_device_provider_type(IntPtr raw);
+
+               public GLib.GType DeviceProviderType { 
+                       get {
+                               IntPtr raw_ret = gst_device_provider_factory_get_device_provider_type(Handle);
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_factory_get_metadata(IntPtr raw, IntPtr key);
+
+               public string GetMetadata(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = gst_device_provider_factory_get_metadata(Handle, native_key);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_device_provider_factory_get_metadata_keys(IntPtr raw);
+
+               public string[] MetadataKeys { 
+                       get {
+                               IntPtr raw_ret = gst_device_provider_factory_get_metadata_keys(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_provider_factory_has_classes(IntPtr raw, IntPtr classes);
+
+               public bool HasClasses(string classes) {
+                       IntPtr native_classes = GLib.Marshaller.StringToPtrGStrdup (classes);
+                       bool raw_ret = gst_device_provider_factory_has_classes(Handle, native_classes);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_classes);
+                       return ret;
+               }
+
+               public bool HasClasses() {
+                       return HasClasses (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_device_provider_factory_has_classesv(IntPtr raw, IntPtr[] classes);
+
+               public bool HasClassesv(string[] classes) {
+                       int cnt_classes = classes == null ? 0 : classes.Length;
+                       IntPtr[] native_classes = new IntPtr [cnt_classes + 1];
+                       for (int i = 0; i < cnt_classes; i++)
+                               native_classes [i] = GLib.Marshaller.StringToPtrGStrdup (classes[i]);
+                       native_classes [cnt_classes] = IntPtr.Zero;
+                       bool raw_ret = gst_device_provider_factory_has_classesv(Handle, native_classes);
+                       bool ret = raw_ret;
+                       for (int i = 0; i < native_classes.Length - 1; i++) {
+                               classes [i] = GLib.Marshaller.Utf8PtrToString (native_classes[i]);
+                               GLib.Marshaller.Free (native_classes[i]);
+                       }
+                       return ret;
+               }
+
+               public bool HasClassesv() {
+                       return HasClassesv (null);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.PluginFeature.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_DoLatencyHandler.cs b/sources/generated/Gst_DoLatencyHandler.cs
new file mode 100644 (file)
index 0000000..0141317
--- /dev/null
@@ -0,0 +1,12 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void DoLatencyHandler(object o, DoLatencyArgs args);
+
+       public class DoLatencyArgs : GLib.SignalArgs {
+       }
+}
diff --git a/sources/generated/Gst_DynamicTypeFactory.cs b/sources/generated/Gst_DynamicTypeFactory.cs
new file mode 100644 (file)
index 0000000..e35181c
--- /dev/null
@@ -0,0 +1,75 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class DynamicTypeFactory : Gst.PluginFeature {
+
+               public DynamicTypeFactory (IntPtr raw) : base(raw) {}
+
+               protected DynamicTypeFactory() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.PluginFeature.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_dynamic_type_factory_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_dynamic_type_factory_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_dynamic_type_factory_load(IntPtr factoryname);
+
+               public static GLib.GType Load(string factoryname) {
+                       IntPtr native_factoryname = GLib.Marshaller.StringToPtrGStrdup (factoryname);
+                       IntPtr raw_ret = gst_dynamic_type_factory_load(native_factoryname);
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       GLib.Marshaller.Free (native_factoryname);
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.PluginFeature.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Element.cs b/sources/generated/Gst_Element.cs
new file mode 100644 (file)
index 0000000..1ef9423
--- /dev/null
@@ -0,0 +1,2295 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Element : Gst.Object {
+
+               protected Element (IntPtr raw) : base(raw) {}
+
+               protected Element() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               public GLib.RecMutex StateLock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("state_lock"));
+                                       return new GLib.RecMutex((*raw_ptr));
+                               }
+                       }
+               }
+
+               public GLib.Cond StateCond {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("state_cond"));
+                                       return new GLib.Cond((*raw_ptr));
+                               }
+                       }
+               }
+
+               public uint StateCookie {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("state_cookie"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.State TargetState {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("target_state"));
+                                       return (Gst.State) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.State CurrentState {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("current_state"));
+                                       return (Gst.State) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.State NextState {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("next_state"));
+                                       return (Gst.State) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.State PendingState {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("pending_state"));
+                                       return (Gst.State) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.StateChangeReturn LastReturn {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("last_return"));
+                                       return (Gst.StateChangeReturn) (*raw_ptr);
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_bus(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_set_bus(IntPtr raw, IntPtr bus);
+
+               public Gst.Bus Bus {
+                       get  {
+                               IntPtr raw_ret = gst_element_get_bus(Handle);
+                               Gst.Bus ret = GLib.Object.GetObject(raw_ret, true) as Gst.Bus;
+                               return ret;
+                       }
+                       set  {
+                               gst_element_set_bus(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_clock(IntPtr raw);
+
+               public Gst.Clock Clock {
+                       get  {
+                               IntPtr raw_ret = gst_element_get_clock(Handle);
+                               Gst.Clock ret = GLib.Object.GetObject(raw_ret, true) as Gst.Clock;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_element_get_base_time(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_set_base_time(IntPtr raw, ulong time);
+
+               public ulong BaseTime {
+                       get  {
+                               ulong raw_ret = gst_element_get_base_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_element_set_base_time(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_element_get_start_time(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_set_start_time(IntPtr raw, ulong time);
+
+               public ulong StartTime {
+                       get  {
+                               ulong raw_ret = gst_element_get_start_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_element_set_start_time(Handle, value);
+                       }
+               }
+
+               public ushort Numpads {
+                       get {
+                               unsafe {
+                                       ushort* raw_ptr = (ushort*)(((byte*)Handle) + abi_info.GetFieldOffset("numpads"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public GLib.List Pads {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("pads"));
+                                       return new GLib.List((*raw_ptr));
+                               }
+                       }
+               }
+
+               public ushort Numsrcpads {
+                       get {
+                               unsafe {
+                                       ushort* raw_ptr = (ushort*)(((byte*)Handle) + abi_info.GetFieldOffset("numsrcpads"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public GLib.List Srcpads {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("srcpads"));
+                                       return new GLib.List((*raw_ptr));
+                               }
+                       }
+               }
+
+               public ushort Numsinkpads {
+                       get {
+                               unsafe {
+                                       ushort* raw_ptr = (ushort*)(((byte*)Handle) + abi_info.GetFieldOffset("numsinkpads"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public GLib.List Sinkpads {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sinkpads"));
+                                       return new GLib.List((*raw_ptr));
+                               }
+                       }
+               }
+
+               public uint PadsCookie {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("pads_cookie"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_contexts(IntPtr raw);
+
+               public GLib.List[] Contexts {
+                       get  {
+                               IntPtr raw_ret = gst_element_get_contexts(Handle);
+                               GLib.List[] ret = (GLib.List[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GLib.List));
+                               return ret;
+                       }
+               }
+
+               [GLib.Signal("no-more-pads")]
+               public event System.EventHandler NoMorePadsEvent {
+                       add {
+                               this.AddSignalHandler ("no-more-pads", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("no-more-pads", value);
+                       }
+               }
+
+               [GLib.Signal("pad-added")]
+               public event Gst.PadAddedHandler PadAdded {
+                       add {
+                               this.AddSignalHandler ("pad-added", value, typeof (Gst.PadAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pad-added", value);
+                       }
+               }
+
+               [GLib.Signal("pad-removed")]
+               public event Gst.PadRemovedHandler PadRemoved {
+                       add {
+                               this.AddSignalHandler ("pad-removed", value, typeof (Gst.PadRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pad-removed", value);
+                       }
+               }
+
+               static PadAddedNativeDelegate PadAdded_cb_delegate;
+               static PadAddedNativeDelegate PadAddedVMCallback {
+                       get {
+                               if (PadAdded_cb_delegate == null)
+                                       PadAdded_cb_delegate = new PadAddedNativeDelegate (PadAdded_cb);
+                               return PadAdded_cb_delegate;
+                       }
+               }
+
+               static void OverridePadAdded (GLib.GType gtype)
+               {
+                       OverridePadAdded (gtype, PadAddedVMCallback);
+               }
+
+               static void OverridePadAdded (GLib.GType gtype, PadAddedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pad_added"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void PadAddedNativeDelegate (IntPtr inst, IntPtr new_pad);
+
+               static void PadAdded_cb (IntPtr inst, IntPtr new_pad)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               __obj.OnPadAdded (GLib.Object.GetObject(new_pad) as Gst.Pad);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverridePadAdded")]
+               protected virtual void OnPadAdded (Gst.Pad new_pad)
+               {
+                       InternalPadAdded (new_pad);
+               }
+
+               private void InternalPadAdded (Gst.Pad new_pad)
+               {
+                       PadAddedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pad_added"));
+                               unmanaged = (PadAddedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PadAddedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, new_pad == null ? IntPtr.Zero : new_pad.Handle);
+               }
+
+               static PadRemovedNativeDelegate PadRemoved_cb_delegate;
+               static PadRemovedNativeDelegate PadRemovedVMCallback {
+                       get {
+                               if (PadRemoved_cb_delegate == null)
+                                       PadRemoved_cb_delegate = new PadRemovedNativeDelegate (PadRemoved_cb);
+                               return PadRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverridePadRemoved (GLib.GType gtype)
+               {
+                       OverridePadRemoved (gtype, PadRemovedVMCallback);
+               }
+
+               static void OverridePadRemoved (GLib.GType gtype, PadRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pad_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void PadRemovedNativeDelegate (IntPtr inst, IntPtr old_pad);
+
+               static void PadRemoved_cb (IntPtr inst, IntPtr old_pad)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               __obj.OnPadRemoved (GLib.Object.GetObject(old_pad) as Gst.Pad);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverridePadRemoved")]
+               protected virtual void OnPadRemoved (Gst.Pad old_pad)
+               {
+                       InternalPadRemoved (old_pad);
+               }
+
+               private void InternalPadRemoved (Gst.Pad old_pad)
+               {
+                       PadRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pad_removed"));
+                               unmanaged = (PadRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PadRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, old_pad == null ? IntPtr.Zero : old_pad.Handle);
+               }
+
+               static NoMorePadsEventNativeDelegate NoMorePadsEvent_cb_delegate;
+               static NoMorePadsEventNativeDelegate NoMorePadsEventVMCallback {
+                       get {
+                               if (NoMorePadsEvent_cb_delegate == null)
+                                       NoMorePadsEvent_cb_delegate = new NoMorePadsEventNativeDelegate (NoMorePadsEvent_cb);
+                               return NoMorePadsEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideNoMorePadsEvent (GLib.GType gtype)
+               {
+                       OverrideNoMorePadsEvent (gtype, NoMorePadsEventVMCallback);
+               }
+
+               static void OverrideNoMorePadsEvent (GLib.GType gtype, NoMorePadsEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("no_more_pads"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NoMorePadsEventNativeDelegate (IntPtr inst);
+
+               static void NoMorePadsEvent_cb (IntPtr inst)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               __obj.OnNoMorePadsEvent ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideNoMorePadsEvent")]
+               protected virtual void OnNoMorePadsEvent ()
+               {
+                       InternalNoMorePadsEvent ();
+               }
+
+               private void InternalNoMorePadsEvent ()
+               {
+                       NoMorePadsEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("no_more_pads"));
+                               unmanaged = (NoMorePadsEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NoMorePadsEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static RequestNewPadNativeDelegate RequestNewPad_cb_delegate;
+               static RequestNewPadNativeDelegate RequestNewPadVMCallback {
+                       get {
+                               if (RequestNewPad_cb_delegate == null)
+                                       RequestNewPad_cb_delegate = new RequestNewPadNativeDelegate (RequestNewPad_cb);
+                               return RequestNewPad_cb_delegate;
+                       }
+               }
+
+               static void OverrideRequestNewPad (GLib.GType gtype)
+               {
+                       OverrideRequestNewPad (gtype, RequestNewPadVMCallback);
+               }
+
+               static void OverrideRequestNewPad (GLib.GType gtype, RequestNewPadNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("request_new_pad"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr RequestNewPadNativeDelegate (IntPtr inst, IntPtr templ, IntPtr name, IntPtr caps);
+
+               static IntPtr RequestNewPad_cb (IntPtr inst, IntPtr templ, IntPtr name, IntPtr caps)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               Gst.Pad __result;
+                               __result = __obj.OnRequestNewPad (GLib.Object.GetObject(templ) as Gst.PadTemplate, GLib.Marshaller.Utf8PtrToString (name), caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
+                               return __result == null ? IntPtr.Zero : __result.OwnedHandle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideRequestNewPad")]
+               protected virtual Gst.Pad OnRequestNewPad (Gst.PadTemplate templ, string name, Gst.Caps caps)
+               {
+                       return InternalRequestNewPad (templ, name, caps);
+               }
+
+               private Gst.Pad InternalRequestNewPad (Gst.PadTemplate templ, string name, Gst.Caps caps)
+               {
+                       RequestNewPadNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("request_new_pad"));
+                               unmanaged = (RequestNewPadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RequestNewPadNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr __result = unmanaged (this.Handle, templ == null ? IntPtr.Zero : templ.Handle, native_name, caps == null ? IntPtr.Zero : caps.Handle);
+                       GLib.Marshaller.Free (native_name);
+                       return GLib.Object.GetObject(__result, true) as Gst.Pad;
+               }
+
+               static ReleasePadNativeDelegate ReleasePad_cb_delegate;
+               static ReleasePadNativeDelegate ReleasePadVMCallback {
+                       get {
+                               if (ReleasePad_cb_delegate == null)
+                                       ReleasePad_cb_delegate = new ReleasePadNativeDelegate (ReleasePad_cb);
+                               return ReleasePad_cb_delegate;
+                       }
+               }
+
+               static void OverrideReleasePad (GLib.GType gtype)
+               {
+                       OverrideReleasePad (gtype, ReleasePadVMCallback);
+               }
+
+               static void OverrideReleasePad (GLib.GType gtype, ReleasePadNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("release_pad"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ReleasePadNativeDelegate (IntPtr inst, IntPtr pad);
+
+               static void ReleasePad_cb (IntPtr inst, IntPtr pad)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               __obj.OnReleasePad (GLib.Object.GetObject(pad) as Gst.Pad);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideReleasePad")]
+               protected virtual void OnReleasePad (Gst.Pad pad)
+               {
+                       InternalReleasePad (pad);
+               }
+
+               private void InternalReleasePad (Gst.Pad pad)
+               {
+                       ReleasePadNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("release_pad"));
+                               unmanaged = (ReleasePadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ReleasePadNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, pad == null ? IntPtr.Zero : pad.Handle);
+               }
+
+               static GetStateNativeDelegate GetState_cb_delegate;
+               static GetStateNativeDelegate GetStateVMCallback {
+                       get {
+                               if (GetState_cb_delegate == null)
+                                       GetState_cb_delegate = new GetStateNativeDelegate (GetState_cb);
+                               return GetState_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetState (GLib.GType gtype)
+               {
+                       OverrideGetState (gtype, GetStateVMCallback);
+               }
+
+               static void OverrideGetState (GLib.GType gtype, GetStateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_state"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int GetStateNativeDelegate (IntPtr inst, out int state, out int pending, ulong timeout);
+
+               static int GetState_cb (IntPtr inst, out int state, out int pending, ulong timeout)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               Gst.StateChangeReturn __result;
+                               Gst.State mystate;
+                               Gst.State mypending;
+                               __result = __obj.OnGetState (out mystate, out mypending, timeout);
+                               state = (int) mystate;
+                               pending = (int) mypending;
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideGetState")]
+               protected virtual Gst.StateChangeReturn OnGetState (out Gst.State state, out Gst.State pending, ulong timeout)
+               {
+                       return InternalGetState (out state, out pending, timeout);
+               }
+
+               private Gst.StateChangeReturn InternalGetState (out Gst.State state, out Gst.State pending, ulong timeout)
+               {
+                       GetStateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_state"));
+                               unmanaged = (GetStateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetStateNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       int native_state;
+                       int native_pending;
+                       int __result = unmanaged (this.Handle, out native_state, out native_pending, timeout);
+                       state = (Gst.State) native_state;
+                       pending = (Gst.State) native_pending;
+                       return (Gst.StateChangeReturn) __result;
+               }
+
+               static SetStateNativeDelegate SetState_cb_delegate;
+               static SetStateNativeDelegate SetStateVMCallback {
+                       get {
+                               if (SetState_cb_delegate == null)
+                                       SetState_cb_delegate = new SetStateNativeDelegate (SetState_cb);
+                               return SetState_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetState (GLib.GType gtype)
+               {
+                       OverrideSetState (gtype, SetStateVMCallback);
+               }
+
+               static void OverrideSetState (GLib.GType gtype, SetStateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_state"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int SetStateNativeDelegate (IntPtr inst, int state);
+
+               static int SetState_cb (IntPtr inst, int state)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               Gst.StateChangeReturn __result;
+                               __result = __obj.OnSetState ((Gst.State) state);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideSetState")]
+               protected virtual Gst.StateChangeReturn OnSetState (Gst.State state)
+               {
+                       return InternalSetState (state);
+               }
+
+               private Gst.StateChangeReturn InternalSetState (Gst.State state)
+               {
+                       SetStateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_state"));
+                               unmanaged = (SetStateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetStateNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.StateChangeReturn) 0;
+
+                       int __result = unmanaged (this.Handle, (int) state);
+                       return (Gst.StateChangeReturn) __result;
+               }
+
+               static ChangeStateNativeDelegate ChangeState_cb_delegate;
+               static ChangeStateNativeDelegate ChangeStateVMCallback {
+                       get {
+                               if (ChangeState_cb_delegate == null)
+                                       ChangeState_cb_delegate = new ChangeStateNativeDelegate (ChangeState_cb);
+                               return ChangeState_cb_delegate;
+                       }
+               }
+
+               static void OverrideChangeState (GLib.GType gtype)
+               {
+                       OverrideChangeState (gtype, ChangeStateVMCallback);
+               }
+
+               static void OverrideChangeState (GLib.GType gtype, ChangeStateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("change_state"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ChangeStateNativeDelegate (IntPtr inst, int transition);
+
+               static int ChangeState_cb (IntPtr inst, int transition)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               Gst.StateChangeReturn __result;
+                               __result = __obj.OnChangeState ((Gst.StateChange) transition);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideChangeState")]
+               protected virtual Gst.StateChangeReturn OnChangeState (Gst.StateChange transition)
+               {
+                       return InternalChangeState (transition);
+               }
+
+               private Gst.StateChangeReturn InternalChangeState (Gst.StateChange transition)
+               {
+                       ChangeStateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("change_state"));
+                               unmanaged = (ChangeStateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ChangeStateNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.StateChangeReturn) 0;
+
+                       int __result = unmanaged (this.Handle, (int) transition);
+                       return (Gst.StateChangeReturn) __result;
+               }
+
+               static StateChangedNativeDelegate StateChanged_cb_delegate;
+               static StateChangedNativeDelegate StateChangedVMCallback {
+                       get {
+                               if (StateChanged_cb_delegate == null)
+                                       StateChanged_cb_delegate = new StateChangedNativeDelegate (StateChanged_cb);
+                               return StateChanged_cb_delegate;
+                       }
+               }
+
+               static void OverrideStateChanged (GLib.GType gtype)
+               {
+                       OverrideStateChanged (gtype, StateChangedVMCallback);
+               }
+
+               static void OverrideStateChanged (GLib.GType gtype, StateChangedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("state_changed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void StateChangedNativeDelegate (IntPtr inst, int oldstate, int newstate, int pending);
+
+               static void StateChanged_cb (IntPtr inst, int oldstate, int newstate, int pending)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               __obj.OnStateChanged ((Gst.State) oldstate, (Gst.State) newstate, (Gst.State) pending);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideStateChanged")]
+               protected virtual void OnStateChanged (Gst.State oldstate, Gst.State newstate, Gst.State pending)
+               {
+                       InternalStateChanged (oldstate, newstate, pending);
+               }
+
+               private void InternalStateChanged (Gst.State oldstate, Gst.State newstate, Gst.State pending)
+               {
+                       StateChangedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("state_changed"));
+                               unmanaged = (StateChangedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StateChangedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, (int) oldstate, (int) newstate, (int) pending);
+               }
+
+               static SetBusNativeDelegate SetBus_cb_delegate;
+               static SetBusNativeDelegate SetBusVMCallback {
+                       get {
+                               if (SetBus_cb_delegate == null)
+                                       SetBus_cb_delegate = new SetBusNativeDelegate (SetBus_cb);
+                               return SetBus_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetBus (GLib.GType gtype)
+               {
+                       OverrideSetBus (gtype, SetBusVMCallback);
+               }
+
+               static void OverrideSetBus (GLib.GType gtype, SetBusNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_bus"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SetBusNativeDelegate (IntPtr inst, IntPtr bus);
+
+               static void SetBus_cb (IntPtr inst, IntPtr bus)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               __obj.OnSetBus (GLib.Object.GetObject(bus) as Gst.Bus);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideSetBus")]
+               protected virtual void OnSetBus (Gst.Bus bus)
+               {
+                       InternalSetBus (bus);
+               }
+
+               private void InternalSetBus (Gst.Bus bus)
+               {
+                       SetBusNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_bus"));
+                               unmanaged = (SetBusNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetBusNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, bus == null ? IntPtr.Zero : bus.Handle);
+               }
+
+               static ProvideClockNativeDelegate ProvideClock_cb_delegate;
+               static ProvideClockNativeDelegate ProvideClockVMCallback {
+                       get {
+                               if (ProvideClock_cb_delegate == null)
+                                       ProvideClock_cb_delegate = new ProvideClockNativeDelegate (ProvideClock_cb);
+                               return ProvideClock_cb_delegate;
+                       }
+               }
+
+               static void OverrideProvideClock (GLib.GType gtype)
+               {
+                       OverrideProvideClock (gtype, ProvideClockVMCallback);
+               }
+
+               static void OverrideProvideClock (GLib.GType gtype, ProvideClockNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("provide_clock"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr ProvideClockNativeDelegate (IntPtr inst);
+
+               static IntPtr ProvideClock_cb (IntPtr inst)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               Gst.Clock __result;
+                               __result = __obj.OnProvideClock ();
+                               return __result == null ? IntPtr.Zero : __result.OwnedHandle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideProvideClock")]
+               protected virtual Gst.Clock OnProvideClock ()
+               {
+                       return InternalProvideClock ();
+               }
+
+               private Gst.Clock InternalProvideClock ()
+               {
+                       ProvideClockNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("provide_clock"));
+                               unmanaged = (ProvideClockNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ProvideClockNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle);
+                       return GLib.Object.GetObject(__result, true) as Gst.Clock;
+               }
+
+               static SetClockNativeDelegate SetClock_cb_delegate;
+               static SetClockNativeDelegate SetClockVMCallback {
+                       get {
+                               if (SetClock_cb_delegate == null)
+                                       SetClock_cb_delegate = new SetClockNativeDelegate (SetClock_cb);
+                               return SetClock_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetClock (GLib.GType gtype)
+               {
+                       OverrideSetClock (gtype, SetClockVMCallback);
+               }
+
+               static void OverrideSetClock (GLib.GType gtype, SetClockNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_clock"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetClockNativeDelegate (IntPtr inst, IntPtr clock);
+
+               static bool SetClock_cb (IntPtr inst, IntPtr clock)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               bool __result;
+                               __result = __obj.OnSetClock (GLib.Object.GetObject(clock) as Gst.Clock);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideSetClock")]
+               protected virtual bool OnSetClock (Gst.Clock clock)
+               {
+                       return InternalSetClock (clock);
+               }
+
+               private bool InternalSetClock (Gst.Clock clock)
+               {
+                       SetClockNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_clock"));
+                               unmanaged = (SetClockNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetClockNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, clock == null ? IntPtr.Zero : clock.Handle);
+                       return __result;
+               }
+
+               static SendEventNativeDelegate SendEvent_cb_delegate;
+               static SendEventNativeDelegate SendEventVMCallback {
+                       get {
+                               if (SendEvent_cb_delegate == null)
+                                       SendEvent_cb_delegate = new SendEventNativeDelegate (SendEvent_cb);
+                               return SendEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSendEvent (GLib.GType gtype)
+               {
+                       OverrideSendEvent (gtype, SendEventVMCallback);
+               }
+
+               static void OverrideSendEvent (GLib.GType gtype, SendEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("send_event"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SendEventNativeDelegate (IntPtr inst, IntPtr evnt);
+
+               static bool SendEvent_cb (IntPtr inst, IntPtr evnt)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               bool __result;
+                               __result = __obj.OnSendEvent (evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), true));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideSendEvent")]
+               protected virtual bool OnSendEvent (Gst.Event evnt)
+               {
+                       return InternalSendEvent (evnt);
+               }
+
+               private bool InternalSendEvent (Gst.Event evnt)
+               {
+                       SendEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("send_event"));
+                               unmanaged = (SendEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SendEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       evnt.Owned = false;
+                       bool __result = unmanaged (this.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+
+               static QueryNativeDelegate Query_cb_delegate;
+               static QueryNativeDelegate QueryVMCallback {
+                       get {
+                               if (Query_cb_delegate == null)
+                                       Query_cb_delegate = new QueryNativeDelegate (Query_cb);
+                               return Query_cb_delegate;
+                       }
+               }
+
+               static void OverrideQuery (GLib.GType gtype)
+               {
+                       OverrideQuery (gtype, QueryVMCallback);
+               }
+
+               static void OverrideQuery (GLib.GType gtype, QueryNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool QueryNativeDelegate (IntPtr inst, IntPtr query);
+
+               static bool Query_cb (IntPtr inst, IntPtr query)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               bool __result;
+                               __result = __obj.OnQuery (query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideQuery")]
+               protected virtual bool OnQuery (Gst.Query query)
+               {
+                       return InternalQuery (query);
+               }
+
+               private bool InternalQuery (Gst.Query query)
+               {
+                       QueryNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("query"));
+                               unmanaged = (QueryNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(QueryNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+
+               static PostMessageNativeDelegate PostMessage_cb_delegate;
+               static PostMessageNativeDelegate PostMessageVMCallback {
+                       get {
+                               if (PostMessage_cb_delegate == null)
+                                       PostMessage_cb_delegate = new PostMessageNativeDelegate (PostMessage_cb);
+                               return PostMessage_cb_delegate;
+                       }
+               }
+
+               static void OverridePostMessage (GLib.GType gtype)
+               {
+                       OverridePostMessage (gtype, PostMessageVMCallback);
+               }
+
+               static void OverridePostMessage (GLib.GType gtype, PostMessageNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("post_message"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool PostMessageNativeDelegate (IntPtr inst, IntPtr message);
+
+               static bool PostMessage_cb (IntPtr inst, IntPtr message)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               bool __result;
+                               __result = __obj.OnPostMessage (message == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (message, typeof (Gst.Message), true));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverridePostMessage")]
+               protected virtual bool OnPostMessage (Gst.Message message)
+               {
+                       return InternalPostMessage (message);
+               }
+
+               private bool InternalPostMessage (Gst.Message message)
+               {
+                       PostMessageNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("post_message"));
+                               unmanaged = (PostMessageNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PostMessageNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       message.Owned = false;
+                       bool __result = unmanaged (this.Handle, message == null ? IntPtr.Zero : message.Handle);
+                       return __result;
+               }
+
+               static SetContextNativeDelegate SetContext_cb_delegate;
+               static SetContextNativeDelegate SetContextVMCallback {
+                       get {
+                               if (SetContext_cb_delegate == null)
+                                       SetContext_cb_delegate = new SetContextNativeDelegate (SetContext_cb);
+                               return SetContext_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetContext (GLib.GType gtype)
+               {
+                       OverrideSetContext (gtype, SetContextVMCallback);
+               }
+
+               static void OverrideSetContext (GLib.GType gtype, SetContextNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_context"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SetContextNativeDelegate (IntPtr inst, IntPtr context);
+
+               static void SetContext_cb (IntPtr inst, IntPtr context)
+               {
+                       try {
+                               Element __obj = GLib.Object.GetObject (inst, false) as Element;
+                               __obj.OnSetContext (Gst.Context.New (context));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Element), ConnectionMethod="OverrideSetContext")]
+               protected virtual void OnSetContext (Gst.Context context)
+               {
+                       InternalSetContext (context);
+               }
+
+               private void InternalSetContext (Gst.Context context)
+               {
+                       SetContextNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_context"));
+                               unmanaged = (SetContextNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetContextNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_context = GLib.Marshaller.StructureToPtrAlloc (context);
+                       unmanaged (this.Handle, native_context);
+                       Marshal.FreeHGlobal (native_context);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("metadata"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // metadata
+                                                       , null
+                                                       , "elementfactory"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("elementfactory"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // elementfactory
+                                                       , "metadata"
+                                                       , "padtemplates"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("padtemplates"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // padtemplates
+                                                       , "elementfactory"
+                                                       , "numpadtemplates"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("numpadtemplates"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // numpadtemplates
+                                                       , "padtemplates"
+                                                       , "pad_templ_cookie"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_numpadtemplatesAlign), "numpadtemplates")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pad_templ_cookie"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // pad_templ_cookie
+                                                       , "numpadtemplates"
+                                                       , "pad_added"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_pad_templ_cookieAlign), "pad_templ_cookie")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pad_added"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pad_added
+                                                       , "pad_templ_cookie"
+                                                       , "pad_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pad_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pad_removed
+                                                       , "pad_added"
+                                                       , "no_more_pads"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("no_more_pads"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // no_more_pads
+                                                       , "pad_removed"
+                                                       , "request_new_pad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("request_new_pad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // request_new_pad
+                                                       , "no_more_pads"
+                                                       , "release_pad"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("release_pad"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // release_pad
+                                                       , "request_new_pad"
+                                                       , "get_state"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_state
+                                                       , "release_pad"
+                                                       , "set_state"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_state
+                                                       , "get_state"
+                                                       , "change_state"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("change_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // change_state
+                                                       , "set_state"
+                                                       , "state_changed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("state_changed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // state_changed
+                                                       , "change_state"
+                                                       , "set_bus"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_bus"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_bus
+                                                       , "state_changed"
+                                                       , "provide_clock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("provide_clock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // provide_clock
+                                                       , "set_bus"
+                                                       , "set_clock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_clock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_clock
+                                                       , "provide_clock"
+                                                       , "send_event"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("send_event"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_event
+                                                       , "set_clock"
+                                                       , "query"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("query"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // query
+                                                       , "send_event"
+                                                       , "post_message"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("post_message"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // post_message
+                                                       , "query"
+                                                       , "set_context"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_context"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_context
+                                                       , "post_message"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 18 // _gst_reserved
+                                                       , "set_context"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_numpadtemplatesAlign
+               {
+                       sbyte f1;
+                       private int numpadtemplates;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_pad_templ_cookieAlign
+               {
+                       sbyte f1;
+                       private uint pad_templ_cookie;
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_element_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_element_make_from_uri(int type, IntPtr uri, IntPtr elementname, out IntPtr error);
+
+               public static unsafe Gst.Element MakeFromUri(Gst.URIType type, string uri, string elementname) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr native_elementname = GLib.Marshaller.StringToPtrGStrdup (elementname);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_element_make_from_uri((int) type, native_uri, native_elementname, out error);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       GLib.Marshaller.Free (native_uri);
+                       GLib.Marshaller.Free (native_elementname);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public static Gst.Element MakeFromUri(Gst.URIType type, string uri) {
+                       return MakeFromUri (type, uri, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_register(IntPtr plugin, IntPtr name, uint rank, IntPtr type);
+
+               public static bool Register(Gst.Plugin plugin, string name, uint rank, GLib.GType type) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_element_register(plugin == null ? IntPtr.Zero : plugin.Handle, native_name, rank, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public static bool Register(string name, uint rank, GLib.GType type) {
+                       return Register (null, name, rank, type);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_state_change_return_get_name(int state_ret);
+
+               public static string StateChangeReturnGetName(Gst.StateChangeReturn state_ret) {
+                       IntPtr raw_ret = gst_element_state_change_return_get_name((int) state_ret);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_state_get_name(int state);
+
+               public static string StateGetName(Gst.State state) {
+                       IntPtr raw_ret = gst_element_state_get_name((int) state);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_abort_state(IntPtr raw);
+
+               public void AbortState() {
+                       gst_element_abort_state(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_add_pad(IntPtr raw, IntPtr pad);
+
+               public bool AddPad(Gst.Pad pad) {
+                       bool raw_ret = gst_element_add_pad(Handle, pad == null ? IntPtr.Zero : pad.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_element_add_property_deep_notify_watch(IntPtr raw, IntPtr property_name, bool include_value);
+
+               public ulong AddPropertyDeepNotifyWatch(string property_name, bool include_value) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       UIntPtr raw_ret = gst_element_add_property_deep_notify_watch(Handle, native_property_name, include_value);
+                       ulong ret = (ulong) raw_ret;
+                       GLib.Marshaller.Free (native_property_name);
+                       return ret;
+               }
+
+               public ulong AddPropertyDeepNotifyWatch(bool include_value) {
+                       return AddPropertyDeepNotifyWatch (null, include_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_element_add_property_notify_watch(IntPtr raw, IntPtr property_name, bool include_value);
+
+               public ulong AddPropertyNotifyWatch(string property_name, bool include_value) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       UIntPtr raw_ret = gst_element_add_property_notify_watch(Handle, native_property_name, include_value);
+                       ulong ret = (ulong) raw_ret;
+                       GLib.Marshaller.Free (native_property_name);
+                       return ret;
+               }
+
+               public ulong AddPropertyNotifyWatch(bool include_value) {
+                       return AddPropertyNotifyWatch (null, include_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_call_async(IntPtr raw, GstSharp.ElementCallAsyncFuncNative func, IntPtr user_data, GLib.DestroyNotify destroy_notify);
+
+               public void CallAsync(Gst.ElementCallAsyncFunc func) {
+                       GstSharp.ElementCallAsyncFuncWrapper func_wrapper = new GstSharp.ElementCallAsyncFuncWrapper (func);
+                       IntPtr user_data;
+                       GLib.DestroyNotify destroy_notify;
+                       if (func == null) {
+                               user_data = IntPtr.Zero;
+                               destroy_notify = null;
+                       } else {
+                               user_data = (IntPtr) GCHandle.Alloc (func_wrapper);
+                               destroy_notify = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       gst_element_call_async(Handle, func_wrapper.NativeDelegate, user_data, destroy_notify);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_element_change_state(IntPtr raw, int transition);
+
+               public Gst.StateChangeReturn ChangeState(Gst.StateChange transition) {
+                       int raw_ret = gst_element_change_state(Handle, (int) transition);
+                       Gst.StateChangeReturn ret = (Gst.StateChangeReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_element_continue_state(IntPtr raw, int _ret);
+
+               public Gst.StateChangeReturn ContinueState(Gst.StateChangeReturn _ret) {
+                       int raw_ret = gst_element_continue_state(Handle, (int) _ret);
+                       Gst.StateChangeReturn ret = (Gst.StateChangeReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_create_all_pads(IntPtr raw);
+
+               public void CreateAllPads() {
+                       gst_element_create_all_pads(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_foreach_pad(IntPtr raw, GstSharp.ElementForeachPadFuncNative func, IntPtr user_data);
+
+               public bool ForeachPad(Gst.ElementForeachPadFunc func) {
+                       GstSharp.ElementForeachPadFuncWrapper func_wrapper = new GstSharp.ElementForeachPadFuncWrapper (func);
+                       bool raw_ret = gst_element_foreach_pad(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_foreach_sink_pad(IntPtr raw, GstSharp.ElementForeachPadFuncNative func, IntPtr user_data);
+
+               public bool ForeachSinkPad(Gst.ElementForeachPadFunc func) {
+                       GstSharp.ElementForeachPadFuncWrapper func_wrapper = new GstSharp.ElementForeachPadFuncWrapper (func);
+                       bool raw_ret = gst_element_foreach_sink_pad(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_foreach_src_pad(IntPtr raw, GstSharp.ElementForeachPadFuncNative func, IntPtr user_data);
+
+               public bool ForeachSrcPad(Gst.ElementForeachPadFunc func) {
+                       GstSharp.ElementForeachPadFuncWrapper func_wrapper = new GstSharp.ElementForeachPadFuncWrapper (func);
+                       bool raw_ret = gst_element_foreach_src_pad(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_compatible_pad(IntPtr raw, IntPtr pad, IntPtr caps);
+
+               public Gst.Pad GetCompatiblePad(Gst.Pad pad, Gst.Caps caps) {
+                       IntPtr raw_ret = gst_element_get_compatible_pad(Handle, pad == null ? IntPtr.Zero : pad.Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                       return ret;
+               }
+
+               public Gst.Pad GetCompatiblePad(Gst.Pad pad) {
+                       return GetCompatiblePad (pad, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_compatible_pad_template(IntPtr raw, IntPtr compattempl);
+
+               public Gst.PadTemplate GetCompatiblePadTemplate(Gst.PadTemplate compattempl) {
+                       IntPtr raw_ret = gst_element_get_compatible_pad_template(Handle, compattempl == null ? IntPtr.Zero : compattempl.Handle);
+                       Gst.PadTemplate ret = GLib.Object.GetObject(raw_ret) as Gst.PadTemplate;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_context(IntPtr raw, IntPtr context_type);
+
+               public Gst.Context GetContext(string context_type) {
+                       IntPtr native_context_type = GLib.Marshaller.StringToPtrGStrdup (context_type);
+                       IntPtr raw_ret = gst_element_get_context(Handle, native_context_type);
+                       Gst.Context ret = Gst.Context.New (raw_ret);
+                       GLib.Marshaller.Free (native_context_type);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_context_unlocked(IntPtr raw, IntPtr context_type);
+
+               public Gst.Context GetContextUnlocked(string context_type) {
+                       IntPtr native_context_type = GLib.Marshaller.StringToPtrGStrdup (context_type);
+                       IntPtr raw_ret = gst_element_get_context_unlocked(Handle, native_context_type);
+                       Gst.Context ret = Gst.Context.New (raw_ret);
+                       GLib.Marshaller.Free (native_context_type);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_factory(IntPtr raw);
+
+               public Gst.ElementFactory Factory { 
+                       get {
+                               IntPtr raw_ret = gst_element_get_factory(Handle);
+                               Gst.ElementFactory ret = GLib.Object.GetObject(raw_ret) as Gst.ElementFactory;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_metadata(IntPtr raw, IntPtr key);
+
+               public string GetMetadata(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = gst_element_get_metadata(Handle, native_key);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_pad_template(IntPtr raw, IntPtr name);
+
+               public Gst.PadTemplate GetPadTemplate(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_element_get_pad_template(Handle, native_name);
+                       Gst.PadTemplate ret = GLib.Object.GetObject(raw_ret) as Gst.PadTemplate;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_pad_template_list(IntPtr raw);
+
+               public Gst.PadTemplate[] PadTemplateList { 
+                       get {
+                               IntPtr raw_ret = gst_element_get_pad_template_list(Handle);
+                               Gst.PadTemplate[] ret = (Gst.PadTemplate[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(Gst.PadTemplate));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_request_pad(IntPtr raw, IntPtr name);
+
+               public Gst.Pad GetRequestPad(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_element_get_request_pad(Handle, native_name);
+                       Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_element_get_state(IntPtr raw, out int state, out int pending, ulong timeout);
+
+               public Gst.StateChangeReturn GetState(out Gst.State state, out Gst.State pending, ulong timeout) {
+                       int native_state;
+                       int native_pending;
+                       int raw_ret = gst_element_get_state(Handle, out native_state, out native_pending, timeout);
+                       Gst.StateChangeReturn ret = (Gst.StateChangeReturn) raw_ret;
+                       state = (Gst.State) native_state;
+                       pending = (Gst.State) native_pending;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_get_static_pad(IntPtr raw, IntPtr name);
+
+               public Gst.Pad GetStaticPad(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_element_get_static_pad(Handle, native_name);
+                       Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_is_locked_state(IntPtr raw);
+
+               public bool IsLockedState { 
+                       get {
+                               bool raw_ret = gst_element_is_locked_state(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_iterate_pads(IntPtr raw);
+
+               public Gst.Iterator IteratePads() {
+                       IntPtr raw_ret = gst_element_iterate_pads(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_iterate_sink_pads(IntPtr raw);
+
+               public Gst.Iterator IterateSinkPads() {
+                       IntPtr raw_ret = gst_element_iterate_sink_pads(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_iterate_src_pads(IntPtr raw);
+
+               public Gst.Iterator IterateSrcPads() {
+                       IntPtr raw_ret = gst_element_iterate_src_pads(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_link(IntPtr raw, IntPtr dest);
+
+               public bool Link(Gst.Element dest) {
+                       bool raw_ret = gst_element_link(Handle, dest == null ? IntPtr.Zero : dest.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_link_filtered(IntPtr raw, IntPtr dest, IntPtr filter);
+
+               public bool LinkFiltered(Gst.Element dest, Gst.Caps filter) {
+                       bool raw_ret = gst_element_link_filtered(Handle, dest == null ? IntPtr.Zero : dest.Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool LinkFiltered(Gst.Element dest) {
+                       return LinkFiltered (dest, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_link_pads(IntPtr raw, IntPtr srcpadname, IntPtr dest, IntPtr destpadname);
+
+               public bool LinkPads(string srcpadname, Gst.Element dest, string destpadname) {
+                       IntPtr native_srcpadname = GLib.Marshaller.StringToPtrGStrdup (srcpadname);
+                       IntPtr native_destpadname = GLib.Marshaller.StringToPtrGStrdup (destpadname);
+                       bool raw_ret = gst_element_link_pads(Handle, native_srcpadname, dest == null ? IntPtr.Zero : dest.Handle, native_destpadname);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_srcpadname);
+                       GLib.Marshaller.Free (native_destpadname);
+                       return ret;
+               }
+
+               public bool LinkPads(Gst.Element dest) {
+                       return LinkPads (null, dest, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_link_pads_filtered(IntPtr raw, IntPtr srcpadname, IntPtr dest, IntPtr destpadname, IntPtr filter);
+
+               public bool LinkPadsFiltered(string srcpadname, Gst.Element dest, string destpadname, Gst.Caps filter) {
+                       IntPtr native_srcpadname = GLib.Marshaller.StringToPtrGStrdup (srcpadname);
+                       IntPtr native_destpadname = GLib.Marshaller.StringToPtrGStrdup (destpadname);
+                       bool raw_ret = gst_element_link_pads_filtered(Handle, native_srcpadname, dest == null ? IntPtr.Zero : dest.Handle, native_destpadname, filter == null ? IntPtr.Zero : filter.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_srcpadname);
+                       GLib.Marshaller.Free (native_destpadname);
+                       return ret;
+               }
+
+               public bool LinkPadsFiltered(Gst.Element dest) {
+                       return LinkPadsFiltered (null, dest, null, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_link_pads_full(IntPtr raw, IntPtr srcpadname, IntPtr dest, IntPtr destpadname, int flags);
+
+               public bool LinkPadsFull(string srcpadname, Gst.Element dest, string destpadname, Gst.PadLinkCheck flags) {
+                       IntPtr native_srcpadname = GLib.Marshaller.StringToPtrGStrdup (srcpadname);
+                       IntPtr native_destpadname = GLib.Marshaller.StringToPtrGStrdup (destpadname);
+                       bool raw_ret = gst_element_link_pads_full(Handle, native_srcpadname, dest == null ? IntPtr.Zero : dest.Handle, native_destpadname, (int) flags);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_srcpadname);
+                       GLib.Marshaller.Free (native_destpadname);
+                       return ret;
+               }
+
+               public bool LinkPadsFull(Gst.Element dest, Gst.PadLinkCheck flags) {
+                       return LinkPadsFull (null, dest, null, flags);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_lost_state(IntPtr raw);
+
+               public void LostState() {
+                       gst_element_lost_state(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_message_full(IntPtr raw, int type, uint domain, int code, IntPtr text, IntPtr debug, IntPtr file, IntPtr function, int line);
+
+               public void MessageFull(Gst.MessageType type, uint domain, int code, string text, string debug, string file, string function, int line) {
+                       IntPtr native_file = GLib.Marshaller.StringToPtrGStrdup (file);
+                       IntPtr native_function = GLib.Marshaller.StringToPtrGStrdup (function);
+                       gst_element_message_full(Handle, (int) type, domain, code, GLib.Marshaller.StringToPtrGStrdup(text), GLib.Marshaller.StringToPtrGStrdup(debug), native_file, native_function, line);
+                       GLib.Marshaller.Free (native_file);
+                       GLib.Marshaller.Free (native_function);
+               }
+
+               public void MessageFull(Gst.MessageType type, uint domain, int code, string file, string function, int line) {
+                       MessageFull (type, domain, code, null, null, file, function, line);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_message_full_with_details(IntPtr raw, int type, uint domain, int code, IntPtr text, IntPtr debug, IntPtr file, IntPtr function, int line, IntPtr structure);
+
+               public void MessageFullWithDetails(Gst.MessageType type, uint domain, int code, string text, string debug, string file, string function, int line, Gst.Structure structure) {
+                       IntPtr native_file = GLib.Marshaller.StringToPtrGStrdup (file);
+                       IntPtr native_function = GLib.Marshaller.StringToPtrGStrdup (function);
+                       structure.Owned = false;
+                       gst_element_message_full_with_details(Handle, (int) type, domain, code, GLib.Marshaller.StringToPtrGStrdup(text), GLib.Marshaller.StringToPtrGStrdup(debug), native_file, native_function, line, structure == null ? IntPtr.Zero : structure.Handle);
+                       GLib.Marshaller.Free (native_file);
+                       GLib.Marshaller.Free (native_function);
+               }
+
+               public void MessageFullWithDetails(Gst.MessageType type, uint domain, int code, string file, string function, int line, Gst.Structure structure) {
+                       MessageFullWithDetails (type, domain, code, null, null, file, function, line, structure);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_no_more_pads(IntPtr raw);
+
+               public void NoMorePads() {
+                       gst_element_no_more_pads(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_post_message(IntPtr raw, IntPtr message);
+
+               public bool PostMessage(Gst.Message message) {
+                       message.Owned = false;
+                       bool raw_ret = gst_element_post_message(Handle, message == null ? IntPtr.Zero : message.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_provide_clock(IntPtr raw);
+
+               public Gst.Clock ProvideClock() {
+                       IntPtr raw_ret = gst_element_provide_clock(Handle);
+                       Gst.Clock ret = GLib.Object.GetObject(raw_ret, true) as Gst.Clock;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_query(IntPtr raw, IntPtr query);
+
+               public bool Query(Gst.Query query) {
+                       bool raw_ret = gst_element_query(Handle, query == null ? IntPtr.Zero : query.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_query_convert(IntPtr raw, int src_format, long src_val, int dest_format, out long dest_val);
+
+               public bool QueryConvert(Gst.Format src_format, long src_val, Gst.Format dest_format, out long dest_val) {
+                       bool raw_ret = gst_element_query_convert(Handle, (int) src_format, src_val, (int) dest_format, out dest_val);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_query_duration(IntPtr raw, int format, out long duration);
+
+               public bool QueryDuration(Gst.Format format, out long duration) {
+                       bool raw_ret = gst_element_query_duration(Handle, (int) format, out duration);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_query_position(IntPtr raw, int format, out long cur);
+
+               public bool QueryPosition(Gst.Format format, out long cur) {
+                       bool raw_ret = gst_element_query_position(Handle, (int) format, out cur);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_release_request_pad(IntPtr raw, IntPtr pad);
+
+               public void ReleaseRequestPad(Gst.Pad pad) {
+                       gst_element_release_request_pad(Handle, pad == null ? IntPtr.Zero : pad.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_remove_pad(IntPtr raw, IntPtr pad);
+
+               public bool RemovePad(Gst.Pad pad) {
+                       bool raw_ret = gst_element_remove_pad(Handle, pad == null ? IntPtr.Zero : pad.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_remove_property_notify_watch(IntPtr raw, UIntPtr watch_id);
+
+               public void RemovePropertyNotifyWatch(ulong watch_id) {
+                       gst_element_remove_property_notify_watch(Handle, new UIntPtr (watch_id));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_request_pad(IntPtr raw, IntPtr templ, IntPtr name, IntPtr caps);
+
+               public Gst.Pad RequestPad(Gst.PadTemplate templ, string name, Gst.Caps caps) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_element_request_pad(Handle, templ == null ? IntPtr.Zero : templ.Handle, native_name, caps == null ? IntPtr.Zero : caps.Handle);
+                       Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public Gst.Pad RequestPad(Gst.PadTemplate templ) {
+                       return RequestPad (templ, null, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_seek(IntPtr raw, double rate, int format, int flags, int start_type, long start, int stop_type, long stop);
+
+               public bool Seek(double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, long start, Gst.SeekType stop_type, long stop) {
+                       bool raw_ret = gst_element_seek(Handle, rate, (int) format, (int) flags, (int) start_type, start, (int) stop_type, stop);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_seek_simple(IntPtr raw, int format, int seek_flags, long seek_pos);
+
+               public bool SeekSimple(Gst.Format format, Gst.SeekFlags seek_flags, long seek_pos) {
+                       bool raw_ret = gst_element_seek_simple(Handle, (int) format, (int) seek_flags, seek_pos);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_send_event(IntPtr raw, IntPtr evnt);
+
+               public bool SendEvent(Gst.Event evnt) {
+                       evnt.Owned = false;
+                       bool raw_ret = gst_element_send_event(Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_set_clock(IntPtr raw, IntPtr clock);
+
+               public bool SetClock(Gst.Clock clock) {
+                       bool raw_ret = gst_element_set_clock(Handle, clock == null ? IntPtr.Zero : clock.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool SetClock() {
+                       return SetClock (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_set_locked_state(IntPtr raw, bool locked_state);
+
+               public bool SetLockedState(bool locked_state) {
+                       bool raw_ret = gst_element_set_locked_state(Handle, locked_state);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_element_set_state(IntPtr raw, int state);
+
+               public Gst.StateChangeReturn SetState(Gst.State state) {
+                       int raw_ret = gst_element_set_state(Handle, (int) state);
+                       Gst.StateChangeReturn ret = (Gst.StateChangeReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_sync_state_with_parent(IntPtr raw);
+
+               public bool SyncStateWithParent() {
+                       bool raw_ret = gst_element_sync_state_with_parent(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_unlink(IntPtr raw, IntPtr dest);
+
+               public void Unlink(Gst.Element dest) {
+                       gst_element_unlink(Handle, dest == null ? IntPtr.Zero : dest.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_element_unlink_pads(IntPtr raw, IntPtr srcpadname, IntPtr dest, IntPtr destpadname);
+
+               public void UnlinkPads(string srcpadname, Gst.Element dest, string destpadname) {
+                       IntPtr native_srcpadname = GLib.Marshaller.StringToPtrGStrdup (srcpadname);
+                       IntPtr native_destpadname = GLib.Marshaller.StringToPtrGStrdup (destpadname);
+                       gst_element_unlink_pads(Handle, native_srcpadname, dest == null ? IntPtr.Zero : dest.Handle, native_destpadname);
+                       GLib.Marshaller.Free (native_srcpadname);
+                       GLib.Marshaller.Free (native_destpadname);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("state_lock"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.RecMutex.ABI)) // state_lock
+                                                       , null
+                                                       , "state_cond"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_state_lockAlign), "state_lock")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("state_cond"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Cond.ABI)) // state_cond
+                                                       , "state_lock"
+                                                       , "state_cookie"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_state_condAlign), "state_cond")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("state_cookie"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // state_cookie
+                                                       , "state_cond"
+                                                       , "target_state"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_state_cookieAlign), "state_cookie")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("target_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.State))) // target_state
+                                                       , "state_cookie"
+                                                       , "current_state"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_target_stateAlign), "target_state")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("current_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.State))) // current_state
+                                                       , "target_state"
+                                                       , "next_state"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_current_stateAlign), "current_state")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("next_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.State))) // next_state
+                                                       , "current_state"
+                                                       , "pending_state"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_next_stateAlign), "next_state")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pending_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.State))) // pending_state
+                                                       , "next_state"
+                                                       , "last_return"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_pending_stateAlign), "pending_state")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("last_return"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.StateChangeReturn))) // last_return
+                                                       , "pending_state"
+                                                       , "bus"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_last_returnAlign), "last_return")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("bus"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // bus
+                                                       , "last_return"
+                                                       , "clock"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("clock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // clock
+                                                       , "bus"
+                                                       , "base_time"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("base_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(long)) // base_time
+                                                       , "clock"
+                                                       , "start_time"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_base_timeAlign), "base_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("start_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // start_time
+                                                       , "base_time"
+                                                       , "numpads"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_start_timeAlign), "start_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("numpads"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ushort)) // numpads
+                                                       , "start_time"
+                                                       , "pads"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_numpadsAlign), "numpads")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pads"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pads
+                                                       , "numpads"
+                                                       , "numsrcpads"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("numsrcpads"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ushort)) // numsrcpads
+                                                       , "pads"
+                                                       , "srcpads"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_numsrcpadsAlign), "numsrcpads")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("srcpads"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // srcpads
+                                                       , "numsrcpads"
+                                                       , "numsinkpads"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("numsinkpads"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ushort)) // numsinkpads
+                                                       , "srcpads"
+                                                       , "sinkpads"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_numsinkpadsAlign), "numsinkpads")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("sinkpads"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sinkpads
+                                                       , "numsinkpads"
+                                                       , "pads_cookie"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pads_cookie"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // pads_cookie
+                                                       , "sinkpads"
+                                                       , "contexts"
+                                                       , (long) Marshal.OffsetOf(typeof(GstElement_pads_cookieAlign), "pads_cookie")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("contexts"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // contexts
+                                                       , "pads_cookie"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _gst_reserved
+                                                       , "contexts"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_state_lockAlign
+               {
+                       sbyte f1;
+                       private GLib.RecMutex.ABI state_lock;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_state_condAlign
+               {
+                       sbyte f1;
+                       private GLib.Cond.ABI state_cond;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_state_cookieAlign
+               {
+                       sbyte f1;
+                       private uint state_cookie;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_target_stateAlign
+               {
+                       sbyte f1;
+                       private Gst.State target_state;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_current_stateAlign
+               {
+                       sbyte f1;
+                       private Gst.State current_state;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_next_stateAlign
+               {
+                       sbyte f1;
+                       private Gst.State next_state;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_pending_stateAlign
+               {
+                       sbyte f1;
+                       private Gst.State pending_state;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_last_returnAlign
+               {
+                       sbyte f1;
+                       private Gst.StateChangeReturn last_return;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_base_timeAlign
+               {
+                       sbyte f1;
+                       private ulong base_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_start_timeAlign
+               {
+                       sbyte f1;
+                       private ulong start_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_numpadsAlign
+               {
+                       sbyte f1;
+                       private ushort numpads;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_numsrcpadsAlign
+               {
+                       sbyte f1;
+                       private ushort numsrcpads;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_numsinkpadsAlign
+               {
+                       sbyte f1;
+                       private ushort numsinkpads;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstElement_pads_cookieAlign
+               {
+                       sbyte f1;
+                       private uint pads_cookie;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ElementAddedHandler.cs b/sources/generated/Gst_ElementAddedHandler.cs
new file mode 100644 (file)
index 0000000..8f1892d
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void ElementAddedHandler(object o, ElementAddedArgs args);
+
+       public class ElementAddedArgs : GLib.SignalArgs {
+               public Gst.Element Element{
+                       get {
+                               return (Gst.Element) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_ElementCallAsyncFunc.cs b/sources/generated/Gst_ElementCallAsyncFunc.cs
new file mode 100644 (file)
index 0000000..feec5f0
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void ElementCallAsyncFunc(Gst.Element element);
+
+}
diff --git a/sources/generated/Gst_ElementFactory.cs b/sources/generated/Gst_ElementFactory.cs
new file mode 100644 (file)
index 0000000..804036e
--- /dev/null
@@ -0,0 +1,258 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ElementFactory : Gst.PluginFeature {
+
+               public ElementFactory (IntPtr raw) : base(raw) {}
+
+               protected ElementFactory() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.PluginFeature.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_element_factory_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_find(IntPtr name);
+
+               public static Gst.ElementFactory Find(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_element_factory_find(native_name);
+                       Gst.ElementFactory ret = GLib.Object.GetObject(raw_ret, true) as Gst.ElementFactory;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_list_filter(IntPtr list, IntPtr caps, int direction, bool subsetonly);
+
+               public static Gst.ElementFactory[] ListFilter(GLib.List list, Gst.Caps caps, Gst.PadDirection direction, bool subsetonly) {
+                       IntPtr raw_ret = gst_element_factory_list_filter(list == null ? IntPtr.Zero : list.Handle, caps == null ? IntPtr.Zero : caps.Handle, (int) direction, subsetonly);
+                       Gst.ElementFactory[] ret = (Gst.ElementFactory[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.ElementFactory));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_list_get_elements(ulong type, int minrank);
+
+               public static Gst.ElementFactory[] ListGetElements(ulong type, Gst.Rank minrank) {
+                       IntPtr raw_ret = gst_element_factory_list_get_elements(type, (int) minrank);
+                       Gst.ElementFactory[] ret = (Gst.ElementFactory[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.ElementFactory));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_make(IntPtr factoryname, IntPtr name);
+
+               public static Gst.Element Make(string factoryname, string name) {
+                       IntPtr native_factoryname = GLib.Marshaller.StringToPtrGStrdup (factoryname);
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_element_factory_make(native_factoryname, native_name);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       GLib.Marshaller.Free (native_factoryname);
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public static Gst.Element Make(string factoryname) {
+                       return Make (factoryname, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_factory_can_sink_all_caps(IntPtr raw, IntPtr caps);
+
+               public bool CanSinkAllCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_element_factory_can_sink_all_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_factory_can_sink_any_caps(IntPtr raw, IntPtr caps);
+
+               public bool CanSinkAnyCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_element_factory_can_sink_any_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_factory_can_src_all_caps(IntPtr raw, IntPtr caps);
+
+               public bool CanSrcAllCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_element_factory_can_src_all_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_factory_can_src_any_caps(IntPtr raw, IntPtr caps);
+
+               public bool CanSrcAnyCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_element_factory_can_src_any_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_create(IntPtr raw, IntPtr name);
+
+               public Gst.Element Create(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_element_factory_create(Handle, native_name);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public Gst.Element Create() {
+                       return Create (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_get_element_type(IntPtr raw);
+
+               public GLib.GType ElementType { 
+                       get {
+                               IntPtr raw_ret = gst_element_factory_get_element_type(Handle);
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_get_metadata(IntPtr raw, IntPtr key);
+
+               public string GetMetadata(string key) {
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr raw_ret = gst_element_factory_get_metadata(Handle, native_key);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_key);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_get_metadata_keys(IntPtr raw);
+
+               public string[] MetadataKeys { 
+                       get {
+                               IntPtr raw_ret = gst_element_factory_get_metadata_keys(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_element_factory_get_num_pad_templates(IntPtr raw);
+
+               public uint NumPadTemplates { 
+                       get {
+                               uint raw_ret = gst_element_factory_get_num_pad_templates(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_get_static_pad_templates(IntPtr raw);
+
+               public Gst.StaticPadTemplate[] StaticPadTemplates { 
+                       get {
+                               IntPtr raw_ret = gst_element_factory_get_static_pad_templates(Handle);
+                               Gst.StaticPadTemplate[] ret = (Gst.StaticPadTemplate[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(Gst.StaticPadTemplate));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_factory_get_uri_protocols(IntPtr raw);
+
+               public string[] UriProtocols { 
+                       get {
+                               IntPtr raw_ret = gst_element_factory_get_uri_protocols(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_element_factory_get_uri_type(IntPtr raw);
+
+               public Gst.URIType UriType { 
+                       get {
+                               int raw_ret = gst_element_factory_get_uri_type(Handle);
+                               Gst.URIType ret = (Gst.URIType) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_factory_has_interface(IntPtr raw, IntPtr interfacename);
+
+               public bool HasInterface(string interfacename) {
+                       IntPtr native_interfacename = GLib.Marshaller.StringToPtrGStrdup (interfacename);
+                       bool raw_ret = gst_element_factory_has_interface(Handle, native_interfacename);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_interfacename);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_element_factory_list_is_type(IntPtr raw, ulong type);
+
+               public bool ListIsType(ulong type) {
+                       bool raw_ret = gst_element_factory_list_is_type(Handle, type);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.PluginFeature.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ElementFlags.cs b/sources/generated/Gst_ElementFlags.cs
new file mode 100644 (file)
index 0000000..757f975
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.ElementFlagsGType))]
+       public enum ElementFlags {
+
+               LockedState = 16,
+               Sink = 32,
+               Source = 64,
+               ProvideClock = 128,
+               RequireClock = 256,
+               Indexable = 512,
+               Last = 16384,
+       }
+
+       internal class ElementFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_element_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_element_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ElementForeachPadFunc.cs b/sources/generated/Gst_ElementForeachPadFunc.cs
new file mode 100644 (file)
index 0000000..8913d31
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool ElementForeachPadFunc(Gst.Element element, Gst.Pad pad);
+
+}
diff --git a/sources/generated/Gst_ElementRemovedHandler.cs b/sources/generated/Gst_ElementRemovedHandler.cs
new file mode 100644 (file)
index 0000000..958569d
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void ElementRemovedHandler(object o, ElementRemovedArgs args);
+
+       public class ElementRemovedArgs : GLib.SignalArgs {
+               public Gst.Element Element{
+                       get {
+                               return (Gst.Element) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_Event.cs b/sources/generated/Gst_Event.cs
new file mode 100644 (file)
index 0000000..771d4e8
--- /dev/null
@@ -0,0 +1,665 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Event : Gst.MiniObject {
+
+               public Gst.EventType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (Gst.EventType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public ulong Timestamp {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("timestamp"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("timestamp"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_event_get_seqnum(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_set_seqnum(IntPtr raw, uint seqnum);
+
+               public uint Seqnum {
+                       get  {
+                               uint raw_ret = gst_event_get_seqnum(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_event_set_seqnum(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_event_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_copy_segment(IntPtr raw, IntPtr segment);
+
+               public void CopySegment(Gst.Segment segment) {
+                       IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+                       gst_event_copy_segment(Handle, native_segment);
+                       Marshal.FreeHGlobal (native_segment);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_event_get_running_time_offset(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_set_running_time_offset(IntPtr raw, long offset);
+
+               public long RunningTimeOffset { 
+                       get {
+                               long raw_ret = gst_event_get_running_time_offset(Handle);
+                               long ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_event_set_running_time_offset(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_get_structure(IntPtr raw);
+
+               public Gst.Structure Structure { 
+                       get {
+                               IntPtr raw_ret = gst_event_get_structure(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_event_has_name(IntPtr raw, IntPtr name);
+
+               public bool HasName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_event_has_name(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_buffer_size(IntPtr raw, out int format, out long minsize, out long maxsize, out bool async);
+
+               public void ParseBufferSize(out Gst.Format format, out long minsize, out long maxsize, out bool async) {
+                       int native_format;
+                       gst_event_parse_buffer_size(Handle, out native_format, out minsize, out maxsize, out async);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_caps(IntPtr raw, out IntPtr caps);
+
+               public Gst.Caps ParseCaps() {
+                       Gst.Caps caps;
+                       IntPtr native_caps;
+                       gst_event_parse_caps(Handle, out native_caps);
+                       caps = native_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_caps, typeof (Gst.Caps), false);
+                       return caps;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_flush_stop(IntPtr raw, out bool reset_time);
+
+               public bool ParseFlushStop() {
+                       bool reset_time;
+                       gst_event_parse_flush_stop(Handle, out reset_time);
+                       return reset_time;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_gap(IntPtr raw, out ulong timestamp, out ulong duration);
+
+               public void ParseGap(out ulong timestamp, out ulong duration) {
+                       gst_event_parse_gap(Handle, out timestamp, out duration);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_event_parse_group_id(IntPtr raw, out uint group_id);
+
+               public bool ParseGroupId(out uint group_id) {
+                       bool raw_ret = gst_event_parse_group_id(Handle, out group_id);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_latency(IntPtr raw, out ulong latency);
+
+               public ulong ParseLatency() {
+                       ulong latency;
+                       gst_event_parse_latency(Handle, out latency);
+                       return latency;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_protection(IntPtr raw, out IntPtr system_id, out IntPtr data, IntPtr origin);
+
+               public void ParseProtection(out string system_id, out Gst.Buffer data, string origin) {
+                       IntPtr native_system_id;
+                       IntPtr native_data;
+                       IntPtr native_origin = GLib.Marshaller.StringToPtrGStrdup (origin);
+                       gst_event_parse_protection(Handle, out native_system_id, out native_data, native_origin);
+                       system_id = GLib.Marshaller.Utf8PtrToString (native_system_id);
+                       data = native_data == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_data, typeof (Gst.Buffer), false);
+                       GLib.Marshaller.Free (native_origin);
+               }
+
+               public void ParseProtection(out string system_id, out Gst.Buffer data) {
+                       ParseProtection (out system_id, out data, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_qos(IntPtr raw, out int type, out double proportion, out long diff, out ulong timestamp);
+
+               public void ParseQos(out Gst.QOSType type, out double proportion, out long diff, out ulong timestamp) {
+                       int native_type;
+                       gst_event_parse_qos(Handle, out native_type, out proportion, out diff, out timestamp);
+                       type = (Gst.QOSType) native_type;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_seek(IntPtr raw, out double rate, out int format, out int flags, out int start_type, out long start, out int stop_type, out long stop);
+
+               public void ParseSeek(out double rate, out Gst.Format format, out Gst.SeekFlags flags, out Gst.SeekType start_type, out long start, out Gst.SeekType stop_type, out long stop) {
+                       int native_format;
+                       int native_flags;
+                       int native_start_type;
+                       int native_stop_type;
+                       gst_event_parse_seek(Handle, out rate, out native_format, out native_flags, out native_start_type, out start, out native_stop_type, out stop);
+                       format = (Gst.Format) native_format;
+                       flags = (Gst.SeekFlags) native_flags;
+                       start_type = (Gst.SeekType) native_start_type;
+                       stop_type = (Gst.SeekType) native_stop_type;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_segment(IntPtr raw, IntPtr segment);
+
+               public Gst.Segment ParseSegment() {
+                       Gst.Segment segment;
+                       IntPtr native_segment = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Segment)));
+                       gst_event_parse_segment(Handle, native_segment);
+                       segment = Gst.Segment.New (native_segment);
+                       Marshal.FreeHGlobal (native_segment);
+                       return segment;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_segment_done(IntPtr raw, out int format, out long position);
+
+               public void ParseSegmentDone(out Gst.Format format, out long position) {
+                       int native_format;
+                       gst_event_parse_segment_done(Handle, out native_format, out position);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_select_streams(IntPtr raw, out IntPtr streams);
+
+               public GLib.List ParseSelectStreams() {
+                       GLib.List streams;
+                       IntPtr native_streams;
+                       gst_event_parse_select_streams(Handle, out native_streams);
+                       streams = new GLib.List(native_streams);
+                       return streams;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_sink_message(IntPtr raw, out IntPtr msg);
+
+               public Gst.Message ParseSinkMessage() {
+                       Gst.Message msg;
+                       IntPtr native_msg;
+                       gst_event_parse_sink_message(Handle, out native_msg);
+                       msg = native_msg == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (native_msg, typeof (Gst.Message), true);
+                       return msg;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_step(IntPtr raw, out int format, out ulong amount, out double rate, out bool flush, out bool intermediate);
+
+               public void ParseStep(out Gst.Format format, out ulong amount, out double rate, out bool flush, out bool intermediate) {
+                       int native_format;
+                       gst_event_parse_step(Handle, out native_format, out amount, out rate, out flush, out intermediate);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_stream(IntPtr raw, out IntPtr stream);
+
+               public Gst.Stream ParseStream() {
+                       Gst.Stream stream;
+                       IntPtr native_stream;
+                       gst_event_parse_stream(Handle, out native_stream);
+                       stream = GLib.Object.GetObject(native_stream, true) as Gst.Stream;
+                       return stream;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_stream_collection(IntPtr raw, out IntPtr collection);
+
+               public Gst.StreamCollection ParseStreamCollection() {
+                       Gst.StreamCollection collection;
+                       IntPtr native_collection;
+                       gst_event_parse_stream_collection(Handle, out native_collection);
+                       collection = GLib.Object.GetObject(native_collection, true) as Gst.StreamCollection;
+                       return collection;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_stream_flags(IntPtr raw, out int flags);
+
+               public Gst.StreamFlags ParseStreamFlags() {
+                       Gst.StreamFlags flags;
+                       int native_flags;
+                       gst_event_parse_stream_flags(Handle, out native_flags);
+                       flags = (Gst.StreamFlags) native_flags;
+                       return flags;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_stream_group_done(IntPtr raw, out uint group_id);
+
+               public uint ParseStreamGroupDone() {
+                       uint group_id;
+                       gst_event_parse_stream_group_done(Handle, out group_id);
+                       return group_id;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_stream_start(IntPtr raw, out IntPtr stream_id);
+
+               public string ParseStreamStart() {
+                       string stream_id;
+                       IntPtr native_stream_id;
+                       gst_event_parse_stream_start(Handle, out native_stream_id);
+                       stream_id = GLib.Marshaller.Utf8PtrToString (native_stream_id);
+                       return stream_id;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_tag(IntPtr raw, out IntPtr taglist);
+
+               public Gst.TagList ParseTag() {
+                       Gst.TagList taglist;
+                       IntPtr native_taglist;
+                       gst_event_parse_tag(Handle, out native_taglist);
+                       taglist = native_taglist == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (native_taglist, typeof (Gst.TagList), false);
+                       return taglist;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_toc(IntPtr raw, IntPtr toc, out bool updated);
+
+               public void ParseToc(out Gst.Toc toc, out bool updated) {
+                       IntPtr native_toc = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Toc)));
+                       gst_event_parse_toc(Handle, native_toc, out updated);
+                       toc = Gst.Toc.New (native_toc);
+                       Marshal.FreeHGlobal (native_toc);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_parse_toc_select(IntPtr raw, out IntPtr uid);
+
+               public string ParseTocSelect() {
+                       string uid;
+                       IntPtr native_uid;
+                       gst_event_parse_toc_select(Handle, out native_uid);
+                       uid = GLib.Marshaller.PtrToStringGFree(native_uid);
+                       return uid;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_set_group_id(IntPtr raw, uint group_id);
+
+               public uint GroupId { 
+                       set {
+                               gst_event_set_group_id(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_set_stream(IntPtr raw, IntPtr stream);
+
+               public Gst.Stream Stream { 
+                       set {
+                               gst_event_set_stream(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_event_set_stream_flags(IntPtr raw, int flags);
+
+               public Gst.StreamFlags StreamFlags { 
+                       set {
+                               gst_event_set_stream_flags(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_writable_structure(IntPtr raw);
+
+               public Gst.Structure WritableStructure() {
+                       IntPtr raw_ret = gst_event_writable_structure(Handle);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       return ret;
+               }
+
+               public Event(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_buffer_size(int format, long minsize, long maxsize, bool async);
+
+               public Event (Gst.Format format, long minsize, long maxsize, bool async) 
+               {
+                       Raw = gst_event_new_buffer_size((int) format, minsize, maxsize, async);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_caps(IntPtr caps);
+
+               public Event (Gst.Caps caps) 
+               {
+                       Raw = gst_event_new_caps(caps == null ? IntPtr.Zero : caps.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_custom(int type, IntPtr structure);
+
+               public Event (Gst.EventType type, Gst.Structure structure) 
+               {
+                       structure.Owned = false;
+                       Raw = gst_event_new_custom((int) type, structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_eos();
+
+               public Event () 
+               {
+                       Raw = gst_event_new_eos();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_flush_start();
+
+               public static Event NewFlushStart()
+               {
+                       Event result = new Event (gst_event_new_flush_start());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_flush_stop(bool reset_time);
+
+               public Event (bool reset_time) 
+               {
+                       Raw = gst_event_new_flush_stop(reset_time);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_gap(ulong timestamp, ulong duration);
+
+               public Event (ulong timestamp, ulong duration) 
+               {
+                       Raw = gst_event_new_gap(timestamp, duration);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_latency(ulong latency);
+
+               public Event (ulong latency) 
+               {
+                       Raw = gst_event_new_latency(latency);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_navigation(IntPtr structure);
+
+               public Event (Gst.Structure structure) 
+               {
+                       structure.Owned = false;
+                       Raw = gst_event_new_navigation(structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_protection(IntPtr system_id, IntPtr data, IntPtr origin);
+
+               public Event (string system_id, Gst.Buffer data, string origin) 
+               {
+                       IntPtr native_system_id = GLib.Marshaller.StringToPtrGStrdup (system_id);
+                       IntPtr native_origin = GLib.Marshaller.StringToPtrGStrdup (origin);
+                       Raw = gst_event_new_protection(native_system_id, data == null ? IntPtr.Zero : data.Handle, native_origin);
+                       GLib.Marshaller.Free (native_system_id);
+                       GLib.Marshaller.Free (native_origin);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_qos(int type, double proportion, long diff, ulong timestamp);
+
+               public Event (Gst.QOSType type, double proportion, long diff, ulong timestamp) 
+               {
+                       Raw = gst_event_new_qos((int) type, proportion, diff, timestamp);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_reconfigure();
+
+               public static Event NewReconfigure()
+               {
+                       Event result = new Event (gst_event_new_reconfigure());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_seek(double rate, int format, int flags, int start_type, long start, int stop_type, long stop);
+
+               public Event (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, long start, Gst.SeekType stop_type, long stop) 
+               {
+                       Raw = gst_event_new_seek(rate, (int) format, (int) flags, (int) start_type, start, (int) stop_type, stop);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_segment(IntPtr segment);
+
+               public Event (Gst.Segment segment) 
+               {
+                       IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+                       Raw = gst_event_new_segment(native_segment);
+                       Marshal.FreeHGlobal (native_segment);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_segment_done(int format, long position);
+
+               public Event (Gst.Format format, long position) 
+               {
+                       Raw = gst_event_new_segment_done((int) format, position);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_select_streams(IntPtr streams);
+
+               public Event (GLib.List streams) 
+               {
+                       Raw = gst_event_new_select_streams(streams == null ? IntPtr.Zero : streams.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_sink_message(IntPtr name, IntPtr msg);
+
+               public Event (string name, Gst.Message msg) 
+               {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_event_new_sink_message(native_name, msg == null ? IntPtr.Zero : msg.Handle);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_step(int format, ulong amount, double rate, bool flush, bool intermediate);
+
+               public Event (Gst.Format format, ulong amount, double rate, bool flush, bool intermediate) 
+               {
+                       Raw = gst_event_new_step((int) format, amount, rate, flush, intermediate);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_stream_collection(IntPtr collection);
+
+               public Event (Gst.StreamCollection collection) 
+               {
+                       Raw = gst_event_new_stream_collection(collection == null ? IntPtr.Zero : collection.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_stream_group_done(uint group_id);
+
+               public Event (uint group_id) 
+               {
+                       Raw = gst_event_new_stream_group_done(group_id);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_stream_start(IntPtr stream_id);
+
+               public Event (string stream_id) 
+               {
+                       IntPtr native_stream_id = GLib.Marshaller.StringToPtrGStrdup (stream_id);
+                       Raw = gst_event_new_stream_start(native_stream_id);
+                       GLib.Marshaller.Free (native_stream_id);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_tag(IntPtr taglist);
+
+               public Event (Gst.TagList taglist) 
+               {
+                       taglist.Owned = false;
+                       Raw = gst_event_new_tag(taglist == null ? IntPtr.Zero : taglist.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_toc(IntPtr toc, bool updated);
+
+               public Event (Gst.Toc toc, bool updated) 
+               {
+                       IntPtr native_toc = GLib.Marshaller.StructureToPtrAlloc (toc);
+                       Raw = gst_event_new_toc(native_toc, updated);
+                       Marshal.FreeHGlobal (native_toc);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_new_toc_select(IntPtr uid);
+
+               public static Event NewTocSelect(string uid)
+               {
+                       IntPtr native_uid = GLib.Marshaller.StringToPtrGStrdup (uid);
+                       Event result = new Event (gst_event_new_toc_select(native_uid));
+                       GLib.Marshaller.Free (native_uid);
+                       return result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("type"
+                                                       , Gst.MiniObject.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.EventType))) // type
+                                                       , null
+                                                       , "timestamp"
+                                                       , (long) Marshal.OffsetOf(typeof(GstEvent_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("timestamp"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // timestamp
+                                                       , "type"
+                                                       , "seqnum"
+                                                       , (long) Marshal.OffsetOf(typeof(GstEvent_timestampAlign), "timestamp")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("seqnum"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // seqnum
+                                                       , "timestamp"
+                                                       , null
+                                                       , (long) Marshal.OffsetOf(typeof(GstEvent_seqnumAlign), "seqnum")
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstEvent_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.EventType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstEvent_timestampAlign
+               {
+                       sbyte f1;
+                       private ulong timestamp;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstEvent_seqnumAlign
+               {
+                       sbyte f1;
+                       private uint seqnum;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_EventType.cs b/sources/generated/Gst_EventType.cs
new file mode 100644 (file)
index 0000000..4decb9e
--- /dev/null
@@ -0,0 +1,56 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.EventTypeGType))]
+       public enum EventType {
+
+               Unknown = 0,
+               FlushStart = 2563,
+               FlushStop = 5127,
+               StreamStart = 10254,
+               Caps = 12814,
+               Segment = 17934,
+               StreamCollection = 19230,
+               Tag = 20510,
+               Buffersize = 23054,
+               SinkMessage = 25630,
+               StreamGroupDone = 26894,
+               Eos = 28174,
+               Toc = 30750,
+               Protection = 33310,
+               SegmentDone = 38406,
+               Gap = 40966,
+               Qos = 48641,
+               Seek = 51201,
+               Navigation = 53761,
+               Latency = 56321,
+               Step = 58881,
+               Reconfigure = 61441,
+               TocSelect = 64001,
+               SelectStreams = 66561,
+               CustomUpstream = 69121,
+               CustomDownstream = 71686,
+               CustomDownstreamOob = 74242,
+               CustomDownstreamSticky = 76830,
+               CustomBoth = 79367,
+               CustomBothOob = 81923,
+       }
+
+       internal class EventTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_event_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_EventTypeFlags.cs b/sources/generated/Gst_EventTypeFlags.cs
new file mode 100644 (file)
index 0000000..86b5489
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.EventTypeFlagsGType))]
+       public enum EventTypeFlags {
+
+               Upstream = 1,
+               Downstream = 2,
+               Serialized = 4,
+               Sticky = 8,
+               StickyMulti = 16,
+       }
+
+       internal class EventTypeFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_type_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_event_type_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_FeatureAddedHandler.cs b/sources/generated/Gst_FeatureAddedHandler.cs
new file mode 100644 (file)
index 0000000..eec9d8c
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void FeatureAddedHandler(object o, FeatureAddedArgs args);
+
+       public class FeatureAddedArgs : GLib.SignalArgs {
+               public Gst.PluginFeature Feature{
+                       get {
+                               return (Gst.PluginFeature) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_FlagSet.cs b/sources/generated/Gst_FlagSet.cs
new file mode 100644 (file)
index 0000000..1dc3f41
--- /dev/null
@@ -0,0 +1,54 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class FlagSet : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_flagset_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_flagset_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_flagset_register(IntPtr flags_type);
+
+               public static GLib.GType Register(GLib.GType flags_type) {
+                       IntPtr raw_ret = gst_flagset_register(flags_type.Val);
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               public FlagSet(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_FlowReturn.cs b/sources/generated/Gst_FlowReturn.cs
new file mode 100644 (file)
index 0000000..ba8485b
--- /dev/null
@@ -0,0 +1,39 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.FlowReturnGType))]
+       public enum FlowReturn {
+
+               CustomError2 = -102,
+               CustomError1 = -101,
+               CustomError = -100,
+               NotSupported = -6,
+               Error = -5,
+               NotNegotiated = -4,
+               Eos = -3,
+               Flushing = -2,
+               NotLinked = -1,
+               Ok = 0,
+               CustomSuccess = 100,
+               CustomSuccess1 = 101,
+               CustomSuccess2 = 102,
+       }
+
+       internal class FlowReturnGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_flow_return_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_flow_return_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Format.cs b/sources/generated/Gst_Format.cs
new file mode 100644 (file)
index 0000000..66d79f2
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.FormatGType))]
+       public enum Format {
+
+               Undefined = 0,
+               Default = 1,
+               Bytes = 2,
+               Time = 3,
+               Buffers = 4,
+               Percent = 5,
+       }
+
+       internal class FormatGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_format_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_format_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_FormatDefinition.cs b/sources/generated/Gst_FormatDefinition.cs
new file mode 100644 (file)
index 0000000..41c7762
--- /dev/null
@@ -0,0 +1,48 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct FormatDefinition : IEquatable<FormatDefinition> {
+
+               public Gst.Format Value;
+               public string Nick;
+               public string Description;
+               public uint Quark;
+
+               public static Gst.FormatDefinition Zero = new Gst.FormatDefinition ();
+
+               public static Gst.FormatDefinition New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.FormatDefinition.Zero;
+                       return (Gst.FormatDefinition) Marshal.PtrToStructure (raw, typeof (Gst.FormatDefinition));
+               }
+
+               public bool Equals (FormatDefinition other)
+               {
+                       return true && Value.Equals (other.Value) && Nick.Equals (other.Nick) && Description.Equals (other.Description) && Quark.Equals (other.Quark);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is FormatDefinition && Equals ((FormatDefinition) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Value.GetHashCode () ^ Nick.GetHashCode () ^ Description.GetHashCode () ^ Quark.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_GhostPad.cs b/sources/generated/Gst_GhostPad.cs
new file mode 100644 (file)
index 0000000..eca58a0
--- /dev/null
@@ -0,0 +1,208 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class GhostPad : Gst.ProxyPad {
+
+               public GhostPad (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_ghost_pad_new(IntPtr name, IntPtr target);
+
+               public GhostPad (string name, Gst.Pad target) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (GhostPad)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_ghost_pad_new(native_name, target == null ? IntPtr.Zero : target.Handle);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_ghost_pad_new_from_template(IntPtr name, IntPtr target, IntPtr templ);
+
+               public GhostPad (string name, Gst.Pad target, Gst.PadTemplate templ) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (GhostPad)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_ghost_pad_new_from_template(native_name, target == null ? IntPtr.Zero : target.Handle, templ == null ? IntPtr.Zero : templ.Handle);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_ghost_pad_new_no_target(IntPtr name, int dir);
+
+               public GhostPad (string name, Gst.PadDirection dir) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (GhostPad)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_ghost_pad_new_no_target(native_name, (int) dir);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_ghost_pad_new_no_target_from_template(IntPtr name, IntPtr templ);
+
+               public GhostPad (string name, Gst.PadTemplate templ) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (GhostPad)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_ghost_pad_new_no_target_from_template(native_name, templ == null ? IntPtr.Zero : templ.Handle);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.ProxyPad.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_ghost_pad_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_ghost_pad_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_ghost_pad_activate_mode_default(IntPtr pad, IntPtr parent, int mode, bool active);
+
+               public static bool ActivateModeDefault(Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active) {
+                       bool raw_ret = gst_ghost_pad_activate_mode_default(pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, (int) mode, active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public static bool ActivateModeDefault(Gst.Pad pad, Gst.PadMode mode, bool active) {
+                       return ActivateModeDefault (pad, null, mode, active);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_ghost_pad_internal_activate_mode_default(IntPtr pad, IntPtr parent, int mode, bool active);
+
+               public static bool InternalActivateModeDefault(Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active) {
+                       bool raw_ret = gst_ghost_pad_internal_activate_mode_default(pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, (int) mode, active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public static bool InternalActivateModeDefault(Gst.Pad pad, Gst.PadMode mode, bool active) {
+                       return InternalActivateModeDefault (pad, null, mode, active);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_ghost_pad_construct(IntPtr raw);
+
+               public bool Construct() {
+                       bool raw_ret = gst_ghost_pad_construct(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_ghost_pad_get_target(IntPtr raw);
+
+               public Gst.Pad Target { 
+                       get {
+                               IntPtr raw_ret = gst_ghost_pad_get_target(Handle);
+                               Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_ghost_pad_set_target(IntPtr raw, IntPtr newtarget);
+
+               public bool SetTarget(Gst.Pad newtarget) {
+                       bool raw_ret = gst_ghost_pad_set_target(Handle, newtarget == null ? IntPtr.Zero : newtarget.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool SetTarget() {
+                       return SetTarget (null);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.ProxyPad.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Global.cs b/sources/generated/Gst_Global.cs
new file mode 100644 (file)
index 0000000..06cbb29
--- /dev/null
@@ -0,0 +1,514 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_buffer_get_max_memory();
+
+               public static uint BufferGetMaxMemory() {
+                       uint raw_ret = gst_buffer_get_max_memory();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_features_from_string(IntPtr features);
+
+               public static Gst.CapsFeatures CapsFeaturesFromString(string features) {
+                       IntPtr native_features = GLib.Marshaller.StringToPtrGStrdup (features);
+                       IntPtr raw_ret = gst_caps_features_from_string(native_features);
+                       Gst.CapsFeatures ret = Gst.CapsFeatures.New (raw_ret);
+                       GLib.Marshaller.Free (native_features);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_caps_from_string(IntPtr str1ng);
+
+               public static Gst.Caps CapsFromString(string str1ng) {
+                       IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+                       IntPtr raw_ret = gst_caps_from_string(native_str1ng);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       GLib.Marshaller.Free (native_str1ng);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_core_error_quark();
+
+               public static uint CoreErrorQuark() {
+                       uint raw_ret = gst_core_error_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_deinit();
+
+               public static void Deinit() {
+                       gst_deinit();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_dynamic_type_register(IntPtr plugin, IntPtr type);
+
+               public static bool DynamicTypeRegister(Gst.Plugin plugin, GLib.GType type) {
+                       bool raw_ret = gst_dynamic_type_register(plugin == null ? IntPtr.Zero : plugin.Handle, type.Val);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_error_get_message(uint domain, int code);
+
+               public static string ErrorGetMessage(uint domain, int code) {
+                       IntPtr raw_ret = gst_error_get_message(domain, code);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_event_type_get_flags(int type);
+
+               public static Gst.EventTypeFlags EventTypeGetFlags(Gst.EventType type) {
+                       int raw_ret = gst_event_type_get_flags((int) type);
+                       Gst.EventTypeFlags ret = (Gst.EventTypeFlags) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_event_type_get_name(int type);
+
+               public static string EventTypeGetName(Gst.EventType type) {
+                       IntPtr raw_ret = gst_event_type_get_name((int) type);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_event_type_to_quark(int type);
+
+               public static uint EventTypeToQuark(Gst.EventType type) {
+                       uint raw_ret = gst_event_type_to_quark((int) type);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_flow_get_name(int _ret);
+
+               public static string FlowGetName(Gst.FlowReturn _ret) {
+                       IntPtr raw_ret = gst_flow_get_name((int) _ret);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_flow_to_quark(int _ret);
+
+               public static uint FlowToQuark(Gst.FlowReturn _ret) {
+                       uint raw_ret = gst_flow_to_quark((int) _ret);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_get_main_executable_path();
+
+               public static string MainExecutablePath { 
+                       get {
+                               IntPtr raw_ret = gst_get_main_executable_path();
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_is_caps_features(IntPtr obj);
+
+               public static bool IsCapsFeatures(IntPtr obj) {
+                       bool raw_ret = gst_is_caps_features(obj);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public static bool IsCapsFeatures() {
+                       return IsCapsFeatures (IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_is_initialized();
+
+               public static bool IsInitialized { 
+                       get {
+                               bool raw_ret = gst_is_initialized();
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_library_error_quark();
+
+               public static uint LibraryErrorQuark() {
+                       uint raw_ret = gst_library_error_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_type_get_name(int type);
+
+               public static string MessageTypeGetName(Gst.MessageType type) {
+                       IntPtr raw_ret = gst_message_type_get_name((int) type);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_message_type_to_quark(int type);
+
+               public static uint MessageTypeToQuark(Gst.MessageType type) {
+                       uint raw_ret = gst_message_type_to_quark((int) type);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_api_type_get_tags(IntPtr api);
+
+               public static string[] MetaApiTypeGetTags(GLib.GType api) {
+                       IntPtr raw_ret = gst_meta_api_type_get_tags(api.Val);
+                       string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_meta_api_type_has_tag(IntPtr api, uint tag);
+
+               public static bool MetaApiTypeHasTag(GLib.GType api, uint tag) {
+                       bool raw_ret = gst_meta_api_type_has_tag(api.Val, tag);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_api_type_register(IntPtr api, IntPtr tags);
+
+               public static GLib.GType MetaApiTypeRegister(string api, string tags) {
+                       IntPtr native_api = GLib.Marshaller.StringToPtrGStrdup (api);
+                       IntPtr native_tags = GLib.Marshaller.StringToPtrGStrdup (tags);
+                       IntPtr raw_ret = gst_meta_api_type_register(native_api, native_tags);
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       GLib.Marshaller.Free (native_api);
+                       GLib.Marshaller.Free (native_tags);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_get_info(IntPtr impl);
+
+               public static Gst.MetaInfo MetaGetInfo(string impl) {
+                       IntPtr native_impl = GLib.Marshaller.StringToPtrGStrdup (impl);
+                       IntPtr raw_ret = gst_meta_get_info(native_impl);
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       GLib.Marshaller.Free (native_impl);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_register(IntPtr api, IntPtr impl, UIntPtr size, GstSharp.MetaInitFunctionNative init_func, GstSharp.MetaFreeFunctionNative free_func, GstSharp.MetaTransformFunctionNative transform_func);
+
+               public static Gst.MetaInfo MetaRegister(GLib.GType api, string impl, ulong size, Gst.MetaInitFunction init_func, Gst.MetaFreeFunction free_func, Gst.MetaTransformFunction transform_func) {
+                       IntPtr native_impl = GLib.Marshaller.StringToPtrGStrdup (impl);
+                       GstSharp.MetaInitFunctionWrapper init_func_wrapper = new GstSharp.MetaInitFunctionWrapper (init_func);
+                       init_func_wrapper.PersistUntilCalled ();
+                       GstSharp.MetaFreeFunctionWrapper free_func_wrapper = new GstSharp.MetaFreeFunctionWrapper (free_func);
+                       free_func_wrapper.PersistUntilCalled ();
+                       GstSharp.MetaTransformFunctionWrapper transform_func_wrapper = new GstSharp.MetaTransformFunctionWrapper (transform_func);
+                       transform_func_wrapper.PersistUntilCalled ();
+                       IntPtr raw_ret = gst_meta_register(api.Val, native_impl, new UIntPtr (size), init_func_wrapper.NativeDelegate, free_func_wrapper.NativeDelegate, transform_func_wrapper.NativeDelegate);
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       GLib.Marshaller.Free (native_impl);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parent_buffer_meta_api_get_type();
+
+               public static GLib.GType ParentBufferMetaApiGetType() {
+                       IntPtr raw_ret = gst_parent_buffer_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parent_buffer_meta_get_info();
+
+               public static Gst.MetaInfo ParentBufferMetaGetInfo() {
+                       IntPtr raw_ret = gst_parent_buffer_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_plugin_error_quark();
+
+               public static uint PluginErrorQuark() {
+                       uint raw_ret = gst_plugin_error_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_app_dir();
+
+               public static string PresetGetAppDir() {
+                       IntPtr raw_ret = gst_preset_get_app_dir();
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_set_app_dir(IntPtr app_dir);
+
+               public static bool PresetSetAppDir(string app_dir) {
+                       IntPtr native_app_dir = GLib.Marshaller.StringToPtrGStrdup (app_dir);
+                       bool raw_ret = gst_preset_set_app_dir(native_app_dir);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_app_dir);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_protection_filter_systems_by_available_decryptors(IntPtr system_identifiers);
+
+               public static string[] ProtectionFilterSystemsByAvailableDecryptors(string system_identifiers) {
+                       IntPtr native_system_identifiers = GLib.Marshaller.StringToPtrGStrdup (system_identifiers);
+                       IntPtr raw_ret = gst_protection_filter_systems_by_available_decryptors(native_system_identifiers);
+                       string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                       GLib.Marshaller.Free (native_system_identifiers);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_protection_meta_api_get_type();
+
+               public static GLib.GType ProtectionMetaApiGetType() {
+                       IntPtr raw_ret = gst_protection_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_protection_meta_get_info();
+
+               public static Gst.MetaInfo ProtectionMetaGetInfo() {
+                       IntPtr raw_ret = gst_protection_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_protection_select_system(IntPtr[] system_identifiers);
+
+               public static string ProtectionSelectSystem(string[] system_identifiers) {
+                       int cnt_system_identifiers = system_identifiers == null ? 0 : system_identifiers.Length;
+                       IntPtr[] native_system_identifiers = new IntPtr [cnt_system_identifiers + 1];
+                       for (int i = 0; i < cnt_system_identifiers; i++)
+                               native_system_identifiers [i] = GLib.Marshaller.StringToPtrGStrdup (system_identifiers[i]);
+                       native_system_identifiers [cnt_system_identifiers] = IntPtr.Zero;
+                       IntPtr raw_ret = gst_protection_select_system(native_system_identifiers);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       for (int i = 0; i < native_system_identifiers.Length - 1; i++) {
+                               system_identifiers [i] = GLib.Marshaller.Utf8PtrToString (native_system_identifiers[i]);
+                               GLib.Marshaller.Free (native_system_identifiers[i]);
+                       }
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_query_type_get_flags(int type);
+
+               public static Gst.QueryTypeFlags QueryTypeGetFlags(Gst.QueryType type) {
+                       int raw_ret = gst_query_type_get_flags((int) type);
+                       Gst.QueryTypeFlags ret = (Gst.QueryTypeFlags) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_type_get_name(int type);
+
+               public static string QueryTypeGetName(Gst.QueryType type) {
+                       IntPtr raw_ret = gst_query_type_get_name((int) type);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_query_type_to_quark(int type);
+
+               public static uint QueryTypeToQuark(Gst.QueryType type) {
+                       uint raw_ret = gst_query_type_to_quark((int) type);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_reference_timestamp_meta_api_get_type();
+
+               public static GLib.GType ReferenceTimestampMetaApiGetType() {
+                       IntPtr raw_ret = gst_reference_timestamp_meta_api_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_reference_timestamp_meta_get_info();
+
+               public static Gst.MetaInfo ReferenceTimestampMetaGetInfo() {
+                       IntPtr raw_ret = gst_reference_timestamp_meta_get_info();
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_resource_error_quark();
+
+               public static uint ResourceErrorQuark() {
+                       uint raw_ret = gst_resource_error_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_segtrap_is_enabled();
+
+               public static bool SegtrapIsEnabled() {
+                       bool raw_ret = gst_segtrap_is_enabled();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_segtrap_set_enabled(bool enabled);
+
+               public static void SegtrapSetEnabled(bool enabled) {
+                       gst_segtrap_set_enabled(enabled);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_state_change_get_name(int transition);
+
+               public static string StateChangeGetName(Gst.StateChange transition) {
+                       IntPtr raw_ret = gst_state_change_get_name((int) transition);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_static_caps_get_type();
+
+               public static GLib.GType StaticCapsGetType() {
+                       IntPtr raw_ret = gst_static_caps_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_static_pad_template_get_type();
+
+               public static GLib.GType StaticPadTemplateGetType() {
+                       IntPtr raw_ret = gst_static_pad_template_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_stream_error_quark();
+
+               public static uint StreamErrorQuark() {
+                       uint raw_ret = gst_stream_error_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_type_get_name(int stype);
+
+               public static string StreamTypeGetName(Gst.StreamType stype) {
+                       IntPtr raw_ret = gst_stream_type_get_name((int) stype);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_from_string(IntPtr str1ng, out IntPtr end);
+
+               public static Gst.Structure StructureFromString(string str1ng, out string end) {
+                       IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+                       IntPtr native_end;
+                       IntPtr raw_ret = gst_structure_from_string(native_str1ng, out native_end);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+                       GLib.Marshaller.Free (native_str1ng);
+                       end = GLib.Marshaller.Utf8PtrToString (native_end);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_type_get_nick(int type);
+
+               public static string TocEntryTypeGetNick(Gst.TocEntryType type) {
+                       IntPtr raw_ret = gst_toc_entry_type_get_nick((int) type);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_get_type();
+
+               public static GLib.GType TypeFindGetType() {
+                       IntPtr raw_ret = gst_type_find_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_type_find_register(IntPtr plugin, IntPtr name, uint rank, GstSharp.TypeFindFunctionNative func, IntPtr extensions, IntPtr possible_caps, IntPtr data, GLib.DestroyNotify data_notify);
+
+               public static bool TypeFindRegister(Gst.Plugin plugin, string name, uint rank, Gst.TypeFindFunction func, string extensions, Gst.Caps possible_caps) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       GstSharp.TypeFindFunctionWrapper func_wrapper = new GstSharp.TypeFindFunctionWrapper (func);
+                       IntPtr data;
+                       GLib.DestroyNotify data_notify;
+                       if (func == null) {
+                               data = IntPtr.Zero;
+                               data_notify = null;
+                       } else {
+                               data = (IntPtr) GCHandle.Alloc (func_wrapper);
+                               data_notify = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       IntPtr native_extensions = GLib.Marshaller.StringToPtrGStrdup (extensions);
+                       bool raw_ret = gst_type_find_register(plugin == null ? IntPtr.Zero : plugin.Handle, native_name, rank, func_wrapper.NativeDelegate, native_extensions, possible_caps == null ? IntPtr.Zero : possible_caps.Handle, IntPtr.Zero, data_notify);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_extensions);
+                       return ret;
+               }
+
+               public static bool TypeFindRegister(string name, uint rank, Gst.TypeFindFunction func, Gst.Caps possible_caps) {
+                       return TypeFindRegister (null, name, rank, func, null, possible_caps);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_GstSharp.BufferForeachMetaFuncNative.cs b/sources/generated/Gst_GstSharp.BufferForeachMetaFuncNative.cs
new file mode 100644 (file)
index 0000000..44cb57c
--- /dev/null
@@ -0,0 +1,103 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool BufferForeachMetaFuncNative(IntPtr buffer, IntPtr meta, IntPtr user_data);
+
+       internal class BufferForeachMetaFuncInvoker {
+
+               BufferForeachMetaFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~BufferForeachMetaFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal BufferForeachMetaFuncInvoker (BufferForeachMetaFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal BufferForeachMetaFuncInvoker (BufferForeachMetaFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal BufferForeachMetaFuncInvoker (BufferForeachMetaFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.BufferForeachMetaFunc Handler {
+                       get {
+                               return new Gst.BufferForeachMetaFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Buffer buffer, out Gst.Meta meta)
+               {
+                       IntPtr native_meta = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Meta)));
+                       bool __result = native_cb (buffer == null ? IntPtr.Zero : buffer.Handle, native_meta, __data);
+                       meta = Gst.Meta.New (native_meta);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+       }
+
+       internal class BufferForeachMetaFuncWrapper {
+
+               public bool NativeCallback (IntPtr buffer, IntPtr meta, IntPtr user_data)
+               {
+                       try {
+                               Gst.Meta mymeta;
+
+                               bool __ret = managed (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), out mymeta);
+                               if (meta != IntPtr.Zero) System.Runtime.InteropServices.Marshal.StructureToPtr (mymeta, meta, false);
+
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal BufferForeachMetaFuncNative NativeDelegate;
+               Gst.BufferForeachMetaFunc managed;
+
+               public BufferForeachMetaFuncWrapper (Gst.BufferForeachMetaFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new BufferForeachMetaFuncNative (NativeCallback);
+               }
+
+               public static Gst.BufferForeachMetaFunc GetManagedDelegate (BufferForeachMetaFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       BufferForeachMetaFuncWrapper wrapper = (BufferForeachMetaFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.BufferListFuncNative.cs b/sources/generated/Gst_GstSharp.BufferListFuncNative.cs
new file mode 100644 (file)
index 0000000..388a6e2
--- /dev/null
@@ -0,0 +1,102 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool BufferListFuncNative(out IntPtr buffer, uint idx, IntPtr user_data);
+
+       internal class BufferListFuncInvoker {
+
+               BufferListFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~BufferListFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal BufferListFuncInvoker (BufferListFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal BufferListFuncInvoker (BufferListFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal BufferListFuncInvoker (BufferListFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.BufferListFunc Handler {
+                       get {
+                               return new Gst.BufferListFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (out Gst.Buffer buffer, uint idx)
+               {
+                       IntPtr native_buffer;
+                       bool __result = native_cb (out native_buffer, idx, __data);
+                       buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+                       return __result;
+               }
+       }
+
+       internal class BufferListFuncWrapper {
+
+               public bool NativeCallback (out IntPtr buffer, uint idx, IntPtr user_data)
+               {
+                       try {
+                               Gst.Buffer mybuffer;
+
+                               bool __ret = managed (out mybuffer, idx);
+                               buffer = mybuffer == null ? IntPtr.Zero : mybuffer.Handle;
+
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal BufferListFuncNative NativeDelegate;
+               Gst.BufferListFunc managed;
+
+               public BufferListFuncWrapper (Gst.BufferListFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new BufferListFuncNative (NativeCallback);
+               }
+
+               public static Gst.BufferListFunc GetManagedDelegate (BufferListFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       BufferListFuncWrapper wrapper = (BufferListFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.BusFuncNative.cs b/sources/generated/Gst_GstSharp.BusFuncNative.cs
new file mode 100644 (file)
index 0000000..97ac1c2
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool BusFuncNative(IntPtr bus, IntPtr message, IntPtr user_data);
+
+       internal class BusFuncInvoker {
+
+               BusFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~BusFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal BusFuncInvoker (BusFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal BusFuncInvoker (BusFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal BusFuncInvoker (BusFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.BusFunc Handler {
+                       get {
+                               return new Gst.BusFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Bus bus, Gst.Message message)
+               {
+                       bool __result = native_cb (bus == null ? IntPtr.Zero : bus.Handle, message == null ? IntPtr.Zero : message.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class BusFuncWrapper {
+
+               public bool NativeCallback (IntPtr bus, IntPtr message, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(bus) as Gst.Bus, message == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (message, typeof (Gst.Message), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal BusFuncNative NativeDelegate;
+               Gst.BusFunc managed;
+
+               public BusFuncWrapper (Gst.BusFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new BusFuncNative (NativeCallback);
+               }
+
+               public static Gst.BusFunc GetManagedDelegate (BusFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       BusFuncWrapper wrapper = (BusFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.BusSyncHandlerNative.cs b/sources/generated/Gst_GstSharp.BusSyncHandlerNative.cs
new file mode 100644 (file)
index 0000000..81d899d
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int BusSyncHandlerNative(IntPtr bus, IntPtr message, IntPtr user_data);
+
+       internal class BusSyncHandlerInvoker {
+
+               BusSyncHandlerNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~BusSyncHandlerInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal BusSyncHandlerInvoker (BusSyncHandlerNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal BusSyncHandlerInvoker (BusSyncHandlerNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal BusSyncHandlerInvoker (BusSyncHandlerNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.BusSyncHandler Handler {
+                       get {
+                               return new Gst.BusSyncHandler(InvokeNative);
+                       }
+               }
+
+               Gst.BusSyncReply InvokeNative (Gst.Bus bus, Gst.Message message)
+               {
+                       Gst.BusSyncReply __result = (Gst.BusSyncReply) native_cb (bus == null ? IntPtr.Zero : bus.Handle, message == null ? IntPtr.Zero : message.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class BusSyncHandlerWrapper {
+
+               public int NativeCallback (IntPtr bus, IntPtr message, IntPtr user_data)
+               {
+                       try {
+                               Gst.BusSyncReply __ret = managed (GLib.Object.GetObject(bus) as Gst.Bus, message == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (message, typeof (Gst.Message), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal BusSyncHandlerNative NativeDelegate;
+               Gst.BusSyncHandler managed;
+
+               public BusSyncHandlerWrapper (Gst.BusSyncHandler managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new BusSyncHandlerNative (NativeCallback);
+               }
+
+               public static Gst.BusSyncHandler GetManagedDelegate (BusSyncHandlerNative native)
+               {
+                       if (native == null)
+                               return null;
+                       BusSyncHandlerWrapper wrapper = (BusSyncHandlerWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.CapsFilterMapFuncNative.cs b/sources/generated/Gst_GstSharp.CapsFilterMapFuncNative.cs
new file mode 100644 (file)
index 0000000..ebe0ebb
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool CapsFilterMapFuncNative(IntPtr features, IntPtr structure, IntPtr user_data);
+
+       internal class CapsFilterMapFuncInvoker {
+
+               CapsFilterMapFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CapsFilterMapFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CapsFilterMapFuncInvoker (CapsFilterMapFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CapsFilterMapFuncInvoker (CapsFilterMapFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CapsFilterMapFuncInvoker (CapsFilterMapFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.CapsFilterMapFunc Handler {
+                       get {
+                               return new Gst.CapsFilterMapFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.CapsFeatures features, Gst.Structure structure)
+               {
+                       IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+                       bool __result = native_cb (native_features, structure == null ? IntPtr.Zero : structure.Handle, __data);
+                       Marshal.FreeHGlobal (native_features);
+                       return __result;
+               }
+       }
+
+       internal class CapsFilterMapFuncWrapper {
+
+               public bool NativeCallback (IntPtr features, IntPtr structure, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (Gst.CapsFeatures.New (features), structure == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (structure, typeof (Gst.Structure), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CapsFilterMapFuncNative NativeDelegate;
+               Gst.CapsFilterMapFunc managed;
+
+               public CapsFilterMapFuncWrapper (Gst.CapsFilterMapFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CapsFilterMapFuncNative (NativeCallback);
+               }
+
+               public static Gst.CapsFilterMapFunc GetManagedDelegate (CapsFilterMapFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CapsFilterMapFuncWrapper wrapper = (CapsFilterMapFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.CapsForeachFuncNative.cs b/sources/generated/Gst_GstSharp.CapsForeachFuncNative.cs
new file mode 100644 (file)
index 0000000..284767f
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool CapsForeachFuncNative(IntPtr features, IntPtr structure, IntPtr user_data);
+
+       internal class CapsForeachFuncInvoker {
+
+               CapsForeachFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CapsForeachFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CapsForeachFuncInvoker (CapsForeachFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CapsForeachFuncInvoker (CapsForeachFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CapsForeachFuncInvoker (CapsForeachFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.CapsForeachFunc Handler {
+                       get {
+                               return new Gst.CapsForeachFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.CapsFeatures features, Gst.Structure structure)
+               {
+                       IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+                       bool __result = native_cb (native_features, structure == null ? IntPtr.Zero : structure.Handle, __data);
+                       Marshal.FreeHGlobal (native_features);
+                       return __result;
+               }
+       }
+
+       internal class CapsForeachFuncWrapper {
+
+               public bool NativeCallback (IntPtr features, IntPtr structure, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (Gst.CapsFeatures.New (features), structure == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (structure, typeof (Gst.Structure), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CapsForeachFuncNative NativeDelegate;
+               Gst.CapsForeachFunc managed;
+
+               public CapsForeachFuncWrapper (Gst.CapsForeachFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CapsForeachFuncNative (NativeCallback);
+               }
+
+               public static Gst.CapsForeachFunc GetManagedDelegate (CapsForeachFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CapsForeachFuncWrapper wrapper = (CapsForeachFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.CapsMapFuncNative.cs b/sources/generated/Gst_GstSharp.CapsMapFuncNative.cs
new file mode 100644 (file)
index 0000000..6826a36
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool CapsMapFuncNative(IntPtr features, IntPtr structure, IntPtr user_data);
+
+       internal class CapsMapFuncInvoker {
+
+               CapsMapFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~CapsMapFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal CapsMapFuncInvoker (CapsMapFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal CapsMapFuncInvoker (CapsMapFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal CapsMapFuncInvoker (CapsMapFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.CapsMapFunc Handler {
+                       get {
+                               return new Gst.CapsMapFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.CapsFeatures features, Gst.Structure structure)
+               {
+                       IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+                       bool __result = native_cb (native_features, structure == null ? IntPtr.Zero : structure.Handle, __data);
+                       Marshal.FreeHGlobal (native_features);
+                       return __result;
+               }
+       }
+
+       internal class CapsMapFuncWrapper {
+
+               public bool NativeCallback (IntPtr features, IntPtr structure, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (Gst.CapsFeatures.New (features), structure == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (structure, typeof (Gst.Structure), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal CapsMapFuncNative NativeDelegate;
+               Gst.CapsMapFunc managed;
+
+               public CapsMapFuncWrapper (Gst.CapsMapFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new CapsMapFuncNative (NativeCallback);
+               }
+
+               public static Gst.CapsMapFunc GetManagedDelegate (CapsMapFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       CapsMapFuncWrapper wrapper = (CapsMapFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ClockCallbackNative.cs b/sources/generated/Gst_GstSharp.ClockCallbackNative.cs
new file mode 100644 (file)
index 0000000..3baac46
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool ClockCallbackNative(IntPtr clock, ulong time, IntPtr id, IntPtr user_data);
+
+       internal class ClockCallbackInvoker {
+
+               ClockCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ClockCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ClockCallbackInvoker (ClockCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ClockCallbackInvoker (ClockCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ClockCallbackInvoker (ClockCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ClockCallback Handler {
+                       get {
+                               return new Gst.ClockCallback(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Clock clock, ulong time, IntPtr id)
+               {
+                       bool __result = native_cb (clock == null ? IntPtr.Zero : clock.Handle, time, id, __data);
+                       return __result;
+               }
+       }
+
+       internal class ClockCallbackWrapper {
+
+               public bool NativeCallback (IntPtr clock, ulong time, IntPtr id, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(clock) as Gst.Clock, time, id);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ClockCallbackNative NativeDelegate;
+               Gst.ClockCallback managed;
+
+               public ClockCallbackWrapper (Gst.ClockCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ClockCallbackNative (NativeCallback);
+               }
+
+               public static Gst.ClockCallback GetManagedDelegate (ClockCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ClockCallbackWrapper wrapper = (ClockCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ControlBindingConvertNative.cs b/sources/generated/Gst_GstSharp.ControlBindingConvertNative.cs
new file mode 100644 (file)
index 0000000..d219c53
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void ControlBindingConvertNative(IntPtr binding, double src_value, IntPtr dest_value);
+
+       internal class ControlBindingConvertInvoker {
+
+               ControlBindingConvertNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ControlBindingConvertInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ControlBindingConvertInvoker (ControlBindingConvertNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ControlBindingConvertInvoker (ControlBindingConvertNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ControlBindingConvertInvoker (ControlBindingConvertNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ControlBindingConvert Handler {
+                       get {
+                               return new Gst.ControlBindingConvert(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.ControlBinding binding, double src_value, GLib.Value dest_value)
+               {
+                       IntPtr native_dest_value = GLib.Marshaller.StructureToPtrAlloc (dest_value);
+                       native_cb (binding == null ? IntPtr.Zero : binding.Handle, src_value, native_dest_value);
+                       Marshal.FreeHGlobal (native_dest_value);
+               }
+       }
+
+       internal class ControlBindingConvertWrapper {
+
+               public void NativeCallback (IntPtr binding, double src_value, IntPtr dest_value)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(binding) as Gst.ControlBinding, src_value, (GLib.Value) Marshal.PtrToStructure (dest_value, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ControlBindingConvertNative NativeDelegate;
+               Gst.ControlBindingConvert managed;
+
+               public ControlBindingConvertWrapper (Gst.ControlBindingConvert managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ControlBindingConvertNative (NativeCallback);
+               }
+
+               public static Gst.ControlBindingConvert GetManagedDelegate (ControlBindingConvertNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ControlBindingConvertWrapper wrapper = (ControlBindingConvertWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ControlSourceGetValueArrayNative.cs b/sources/generated/Gst_GstSharp.ControlSourceGetValueArrayNative.cs
new file mode 100644 (file)
index 0000000..642122f
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool ControlSourceGetValueArrayNative(IntPtr self, ulong timestamp, ulong interval, uint n_values, double values);
+
+       internal class ControlSourceGetValueArrayInvoker {
+
+               ControlSourceGetValueArrayNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ControlSourceGetValueArrayInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ControlSourceGetValueArrayInvoker (ControlSourceGetValueArrayNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ControlSourceGetValueArrayInvoker (ControlSourceGetValueArrayNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ControlSourceGetValueArrayInvoker (ControlSourceGetValueArrayNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ControlSourceGetValueArray Handler {
+                       get {
+                               return new Gst.ControlSourceGetValueArray(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.ControlSource self, ulong timestamp, ulong interval, uint n_values, double values)
+               {
+                       bool __result = native_cb (self == null ? IntPtr.Zero : self.Handle, timestamp, interval, n_values, values);
+                       return __result;
+               }
+       }
+
+       internal class ControlSourceGetValueArrayWrapper {
+
+               public bool NativeCallback (IntPtr self, ulong timestamp, ulong interval, uint n_values, double values)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(self) as Gst.ControlSource, timestamp, interval, n_values, values);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ControlSourceGetValueArrayNative NativeDelegate;
+               Gst.ControlSourceGetValueArray managed;
+
+               public ControlSourceGetValueArrayWrapper (Gst.ControlSourceGetValueArray managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ControlSourceGetValueArrayNative (NativeCallback);
+               }
+
+               public static Gst.ControlSourceGetValueArray GetManagedDelegate (ControlSourceGetValueArrayNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ControlSourceGetValueArrayWrapper wrapper = (ControlSourceGetValueArrayWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ControlSourceGetValueNative.cs b/sources/generated/Gst_GstSharp.ControlSourceGetValueNative.cs
new file mode 100644 (file)
index 0000000..ca2f199
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool ControlSourceGetValueNative(IntPtr self, ulong timestamp, double value);
+
+       internal class ControlSourceGetValueInvoker {
+
+               ControlSourceGetValueNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ControlSourceGetValueInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ControlSourceGetValueInvoker (ControlSourceGetValueNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ControlSourceGetValueInvoker (ControlSourceGetValueNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ControlSourceGetValueInvoker (ControlSourceGetValueNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ControlSourceGetValue Handler {
+                       get {
+                               return new Gst.ControlSourceGetValue(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.ControlSource self, ulong timestamp, double value)
+               {
+                       bool __result = native_cb (self == null ? IntPtr.Zero : self.Handle, timestamp, value);
+                       return __result;
+               }
+       }
+
+       internal class ControlSourceGetValueWrapper {
+
+               public bool NativeCallback (IntPtr self, ulong timestamp, double value)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(self) as Gst.ControlSource, timestamp, value);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ControlSourceGetValueNative NativeDelegate;
+               Gst.ControlSourceGetValue managed;
+
+               public ControlSourceGetValueWrapper (Gst.ControlSourceGetValue managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ControlSourceGetValueNative (NativeCallback);
+               }
+
+               public static Gst.ControlSourceGetValue GetManagedDelegate (ControlSourceGetValueNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ControlSourceGetValueWrapper wrapper = (ControlSourceGetValueWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.DebugFuncPtrNative.cs b/sources/generated/Gst_GstSharp.DebugFuncPtrNative.cs
new file mode 100644 (file)
index 0000000..8d2a15b
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void DebugFuncPtrNative();
+
+       internal class DebugFuncPtrInvoker {
+
+               DebugFuncPtrNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~DebugFuncPtrInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal DebugFuncPtrInvoker (DebugFuncPtrNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal DebugFuncPtrInvoker (DebugFuncPtrNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal DebugFuncPtrInvoker (DebugFuncPtrNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.DebugFuncPtr Handler {
+                       get {
+                               return new Gst.DebugFuncPtr(InvokeNative);
+                       }
+               }
+
+               void InvokeNative ()
+               {
+                       native_cb ();
+               }
+       }
+
+       internal class DebugFuncPtrWrapper {
+
+               public void NativeCallback ()
+               {
+                       try {
+                               managed ();
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal DebugFuncPtrNative NativeDelegate;
+               Gst.DebugFuncPtr managed;
+
+               public DebugFuncPtrWrapper (Gst.DebugFuncPtr managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new DebugFuncPtrNative (NativeCallback);
+               }
+
+               public static Gst.DebugFuncPtr GetManagedDelegate (DebugFuncPtrNative native)
+               {
+                       if (native == null)
+                               return null;
+                       DebugFuncPtrWrapper wrapper = (DebugFuncPtrWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ElementCallAsyncFuncNative.cs b/sources/generated/Gst_GstSharp.ElementCallAsyncFuncNative.cs
new file mode 100644 (file)
index 0000000..8aecc63
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void ElementCallAsyncFuncNative(IntPtr element, IntPtr user_data);
+
+       internal class ElementCallAsyncFuncInvoker {
+
+               ElementCallAsyncFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ElementCallAsyncFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ElementCallAsyncFuncInvoker (ElementCallAsyncFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ElementCallAsyncFuncInvoker (ElementCallAsyncFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ElementCallAsyncFuncInvoker (ElementCallAsyncFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ElementCallAsyncFunc Handler {
+                       get {
+                               return new Gst.ElementCallAsyncFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Element element)
+               {
+                       native_cb (element == null ? IntPtr.Zero : element.Handle, __data);
+               }
+       }
+
+       internal class ElementCallAsyncFuncWrapper {
+
+               public void NativeCallback (IntPtr element, IntPtr user_data)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(element) as Gst.Element);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ElementCallAsyncFuncNative NativeDelegate;
+               Gst.ElementCallAsyncFunc managed;
+
+               public ElementCallAsyncFuncWrapper (Gst.ElementCallAsyncFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ElementCallAsyncFuncNative (NativeCallback);
+               }
+
+               public static Gst.ElementCallAsyncFunc GetManagedDelegate (ElementCallAsyncFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ElementCallAsyncFuncWrapper wrapper = (ElementCallAsyncFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ElementForeachPadFuncNative.cs b/sources/generated/Gst_GstSharp.ElementForeachPadFuncNative.cs
new file mode 100644 (file)
index 0000000..f308e48
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool ElementForeachPadFuncNative(IntPtr element, IntPtr pad, IntPtr user_data);
+
+       internal class ElementForeachPadFuncInvoker {
+
+               ElementForeachPadFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ElementForeachPadFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ElementForeachPadFuncInvoker (ElementForeachPadFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ElementForeachPadFuncInvoker (ElementForeachPadFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ElementForeachPadFuncInvoker (ElementForeachPadFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ElementForeachPadFunc Handler {
+                       get {
+                               return new Gst.ElementForeachPadFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Element element, Gst.Pad pad)
+               {
+                       bool __result = native_cb (element == null ? IntPtr.Zero : element.Handle, pad == null ? IntPtr.Zero : pad.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class ElementForeachPadFuncWrapper {
+
+               public bool NativeCallback (IntPtr element, IntPtr pad, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(element) as Gst.Element, GLib.Object.GetObject(pad) as Gst.Pad);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ElementForeachPadFuncNative NativeDelegate;
+               Gst.ElementForeachPadFunc managed;
+
+               public ElementForeachPadFuncWrapper (Gst.ElementForeachPadFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ElementForeachPadFuncNative (NativeCallback);
+               }
+
+               public static Gst.ElementForeachPadFunc GetManagedDelegate (ElementForeachPadFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ElementForeachPadFuncWrapper wrapper = (ElementForeachPadFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.IteratorCopyFunctionNative.cs b/sources/generated/Gst_GstSharp.IteratorCopyFunctionNative.cs
new file mode 100644 (file)
index 0000000..ef4f0c5
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void IteratorCopyFunctionNative(IntPtr it, IntPtr copy);
+
+       internal class IteratorCopyFunctionInvoker {
+
+               IteratorCopyFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~IteratorCopyFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal IteratorCopyFunctionInvoker (IteratorCopyFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal IteratorCopyFunctionInvoker (IteratorCopyFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal IteratorCopyFunctionInvoker (IteratorCopyFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.IteratorCopyFunction Handler {
+                       get {
+                               return new Gst.IteratorCopyFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Iterator it, Gst.Iterator copy)
+               {
+                       native_cb (it == null ? IntPtr.Zero : it.Handle, copy == null ? IntPtr.Zero : copy.Handle);
+               }
+       }
+
+       internal class IteratorCopyFunctionWrapper {
+
+               public void NativeCallback (IntPtr it, IntPtr copy)
+               {
+                       try {
+                               managed (it == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (it, typeof (Gst.Iterator), false), copy == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (copy, typeof (Gst.Iterator), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal IteratorCopyFunctionNative NativeDelegate;
+               Gst.IteratorCopyFunction managed;
+
+               public IteratorCopyFunctionWrapper (Gst.IteratorCopyFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new IteratorCopyFunctionNative (NativeCallback);
+               }
+
+               public static Gst.IteratorCopyFunction GetManagedDelegate (IteratorCopyFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       IteratorCopyFunctionWrapper wrapper = (IteratorCopyFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.IteratorFoldFunctionNative.cs b/sources/generated/Gst_GstSharp.IteratorFoldFunctionNative.cs
new file mode 100644 (file)
index 0000000..cb20b1d
--- /dev/null
@@ -0,0 +1,99 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool IteratorFoldFunctionNative(IntPtr item, IntPtr _ret, IntPtr user_data);
+
+       internal class IteratorFoldFunctionInvoker {
+
+               IteratorFoldFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~IteratorFoldFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal IteratorFoldFunctionInvoker (IteratorFoldFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal IteratorFoldFunctionInvoker (IteratorFoldFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal IteratorFoldFunctionInvoker (IteratorFoldFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.IteratorFoldFunction Handler {
+                       get {
+                               return new Gst.IteratorFoldFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (GLib.Value item, GLib.Value _ret)
+               {
+                       IntPtr native_item = GLib.Marshaller.StructureToPtrAlloc (item);
+                       IntPtr native__ret = GLib.Marshaller.StructureToPtrAlloc (_ret);
+                       bool __result = native_cb (native_item, native__ret, __data);
+                       Marshal.FreeHGlobal (native_item);
+                       Marshal.FreeHGlobal (native__ret);
+                       return __result;
+               }
+       }
+
+       internal class IteratorFoldFunctionWrapper {
+
+               public bool NativeCallback (IntPtr item, IntPtr _ret, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed ((GLib.Value) Marshal.PtrToStructure (item, typeof (GLib.Value)), (GLib.Value) Marshal.PtrToStructure (_ret, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal IteratorFoldFunctionNative NativeDelegate;
+               Gst.IteratorFoldFunction managed;
+
+               public IteratorFoldFunctionWrapper (Gst.IteratorFoldFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new IteratorFoldFunctionNative (NativeCallback);
+               }
+
+               public static Gst.IteratorFoldFunction GetManagedDelegate (IteratorFoldFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       IteratorFoldFunctionWrapper wrapper = (IteratorFoldFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.IteratorForeachFunctionNative.cs b/sources/generated/Gst_GstSharp.IteratorForeachFunctionNative.cs
new file mode 100644 (file)
index 0000000..c790d30
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void IteratorForeachFunctionNative(IntPtr item, IntPtr user_data);
+
+       internal class IteratorForeachFunctionInvoker {
+
+               IteratorForeachFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~IteratorForeachFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal IteratorForeachFunctionInvoker (IteratorForeachFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal IteratorForeachFunctionInvoker (IteratorForeachFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal IteratorForeachFunctionInvoker (IteratorForeachFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.IteratorForeachFunction Handler {
+                       get {
+                               return new Gst.IteratorForeachFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (GLib.Value item)
+               {
+                       IntPtr native_item = GLib.Marshaller.StructureToPtrAlloc (item);
+                       native_cb (native_item, __data);
+                       Marshal.FreeHGlobal (native_item);
+               }
+       }
+
+       internal class IteratorForeachFunctionWrapper {
+
+               public void NativeCallback (IntPtr item, IntPtr user_data)
+               {
+                       try {
+                               managed ((GLib.Value) Marshal.PtrToStructure (item, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal IteratorForeachFunctionNative NativeDelegate;
+               Gst.IteratorForeachFunction managed;
+
+               public IteratorForeachFunctionWrapper (Gst.IteratorForeachFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new IteratorForeachFunctionNative (NativeCallback);
+               }
+
+               public static Gst.IteratorForeachFunction GetManagedDelegate (IteratorForeachFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       IteratorForeachFunctionWrapper wrapper = (IteratorForeachFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.IteratorFreeFunctionNative.cs b/sources/generated/Gst_GstSharp.IteratorFreeFunctionNative.cs
new file mode 100644 (file)
index 0000000..48950d6
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void IteratorFreeFunctionNative(IntPtr it);
+
+       internal class IteratorFreeFunctionInvoker {
+
+               IteratorFreeFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~IteratorFreeFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal IteratorFreeFunctionInvoker (IteratorFreeFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal IteratorFreeFunctionInvoker (IteratorFreeFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal IteratorFreeFunctionInvoker (IteratorFreeFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.IteratorFreeFunction Handler {
+                       get {
+                               return new Gst.IteratorFreeFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Iterator it)
+               {
+                       native_cb (it == null ? IntPtr.Zero : it.Handle);
+               }
+       }
+
+       internal class IteratorFreeFunctionWrapper {
+
+               public void NativeCallback (IntPtr it)
+               {
+                       try {
+                               managed (it == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (it, typeof (Gst.Iterator), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal IteratorFreeFunctionNative NativeDelegate;
+               Gst.IteratorFreeFunction managed;
+
+               public IteratorFreeFunctionWrapper (Gst.IteratorFreeFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new IteratorFreeFunctionNative (NativeCallback);
+               }
+
+               public static Gst.IteratorFreeFunction GetManagedDelegate (IteratorFreeFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       IteratorFreeFunctionWrapper wrapper = (IteratorFreeFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.IteratorItemFunctionNative.cs b/sources/generated/Gst_GstSharp.IteratorItemFunctionNative.cs
new file mode 100644 (file)
index 0000000..9e7fb7e
--- /dev/null
@@ -0,0 +1,98 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int IteratorItemFunctionNative(IntPtr it, IntPtr item);
+
+       internal class IteratorItemFunctionInvoker {
+
+               IteratorItemFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~IteratorItemFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal IteratorItemFunctionInvoker (IteratorItemFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal IteratorItemFunctionInvoker (IteratorItemFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal IteratorItemFunctionInvoker (IteratorItemFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.IteratorItemFunction Handler {
+                       get {
+                               return new Gst.IteratorItemFunction(InvokeNative);
+                       }
+               }
+
+               Gst.IteratorItem InvokeNative (Gst.Iterator it, GLib.Value item)
+               {
+                       IntPtr native_item = GLib.Marshaller.StructureToPtrAlloc (item);
+                       Gst.IteratorItem __result = (Gst.IteratorItem) native_cb (it == null ? IntPtr.Zero : it.Handle, native_item);
+                       Marshal.FreeHGlobal (native_item);
+                       return __result;
+               }
+       }
+
+       internal class IteratorItemFunctionWrapper {
+
+               public int NativeCallback (IntPtr it, IntPtr item)
+               {
+                       try {
+                               Gst.IteratorItem __ret = managed (it == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (it, typeof (Gst.Iterator), false), (GLib.Value) Marshal.PtrToStructure (item, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal IteratorItemFunctionNative NativeDelegate;
+               Gst.IteratorItemFunction managed;
+
+               public IteratorItemFunctionWrapper (Gst.IteratorItemFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new IteratorItemFunctionNative (NativeCallback);
+               }
+
+               public static Gst.IteratorItemFunction GetManagedDelegate (IteratorItemFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       IteratorItemFunctionWrapper wrapper = (IteratorItemFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.IteratorNextFunctionNative.cs b/sources/generated/Gst_GstSharp.IteratorNextFunctionNative.cs
new file mode 100644 (file)
index 0000000..ef93a00
--- /dev/null
@@ -0,0 +1,98 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int IteratorNextFunctionNative(IntPtr it, IntPtr _result);
+
+       internal class IteratorNextFunctionInvoker {
+
+               IteratorNextFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~IteratorNextFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal IteratorNextFunctionInvoker (IteratorNextFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal IteratorNextFunctionInvoker (IteratorNextFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal IteratorNextFunctionInvoker (IteratorNextFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.IteratorNextFunction Handler {
+                       get {
+                               return new Gst.IteratorNextFunction(InvokeNative);
+                       }
+               }
+
+               Gst.IteratorResult InvokeNative (Gst.Iterator it, GLib.Value _result)
+               {
+                       IntPtr native__result = GLib.Marshaller.StructureToPtrAlloc (_result);
+                       Gst.IteratorResult __result = (Gst.IteratorResult) native_cb (it == null ? IntPtr.Zero : it.Handle, native__result);
+                       Marshal.FreeHGlobal (native__result);
+                       return __result;
+               }
+       }
+
+       internal class IteratorNextFunctionWrapper {
+
+               public int NativeCallback (IntPtr it, IntPtr _result)
+               {
+                       try {
+                               Gst.IteratorResult __ret = managed (it == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (it, typeof (Gst.Iterator), false), (GLib.Value) Marshal.PtrToStructure (_result, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal IteratorNextFunctionNative NativeDelegate;
+               Gst.IteratorNextFunction managed;
+
+               public IteratorNextFunctionWrapper (Gst.IteratorNextFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new IteratorNextFunctionNative (NativeCallback);
+               }
+
+               public static Gst.IteratorNextFunction GetManagedDelegate (IteratorNextFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       IteratorNextFunctionWrapper wrapper = (IteratorNextFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.IteratorResyncFunctionNative.cs b/sources/generated/Gst_GstSharp.IteratorResyncFunctionNative.cs
new file mode 100644 (file)
index 0000000..c39b3d0
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void IteratorResyncFunctionNative(IntPtr it);
+
+       internal class IteratorResyncFunctionInvoker {
+
+               IteratorResyncFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~IteratorResyncFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal IteratorResyncFunctionInvoker (IteratorResyncFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal IteratorResyncFunctionInvoker (IteratorResyncFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal IteratorResyncFunctionInvoker (IteratorResyncFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.IteratorResyncFunction Handler {
+                       get {
+                               return new Gst.IteratorResyncFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Iterator it)
+               {
+                       native_cb (it == null ? IntPtr.Zero : it.Handle);
+               }
+       }
+
+       internal class IteratorResyncFunctionWrapper {
+
+               public void NativeCallback (IntPtr it)
+               {
+                       try {
+                               managed (it == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (it, typeof (Gst.Iterator), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal IteratorResyncFunctionNative NativeDelegate;
+               Gst.IteratorResyncFunction managed;
+
+               public IteratorResyncFunctionWrapper (Gst.IteratorResyncFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new IteratorResyncFunctionNative (NativeCallback);
+               }
+
+               public static Gst.IteratorResyncFunction GetManagedDelegate (IteratorResyncFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       IteratorResyncFunctionWrapper wrapper = (IteratorResyncFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.LogFunctionNative.cs b/sources/generated/Gst_GstSharp.LogFunctionNative.cs
new file mode 100644 (file)
index 0000000..b1e3b7d
--- /dev/null
@@ -0,0 +1,98 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void LogFunctionNative(IntPtr category, int level, IntPtr file, IntPtr function, int line, IntPtr _object, IntPtr message, IntPtr user_data);
+
+       internal class LogFunctionInvoker {
+
+               LogFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~LogFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal LogFunctionInvoker (LogFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal LogFunctionInvoker (LogFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal LogFunctionInvoker (LogFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.LogFunction Handler {
+                       get {
+                               return new Gst.LogFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object _object, Gst.DebugMessage message)
+               {
+                       IntPtr native_category = GLib.Marshaller.StructureToPtrAlloc (category);
+                       IntPtr native_file = GLib.Marshaller.StringToPtrGStrdup (file);
+                       IntPtr native_function = GLib.Marshaller.StringToPtrGStrdup (function);
+                       native_cb (native_category, (int) level, native_file, native_function, line, _object == null ? IntPtr.Zero : _object.Handle, message == null ? IntPtr.Zero : message.Handle, __data);
+                       Marshal.FreeHGlobal (native_category);
+                       GLib.Marshaller.Free (native_file);
+                       GLib.Marshaller.Free (native_function);
+               }
+       }
+
+       internal class LogFunctionWrapper {
+
+               public void NativeCallback (IntPtr category, int level, IntPtr file, IntPtr function, int line, IntPtr _object, IntPtr message, IntPtr user_data)
+               {
+                       try {
+                               managed (Gst.DebugCategory.New (category), (Gst.DebugLevel) level, GLib.Marshaller.Utf8PtrToString (file), GLib.Marshaller.Utf8PtrToString (function), line, GLib.Object.GetObject (_object), message == IntPtr.Zero ? null : (Gst.DebugMessage) GLib.Opaque.GetOpaque (message, typeof (Gst.DebugMessage), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal LogFunctionNative NativeDelegate;
+               Gst.LogFunction managed;
+
+               public LogFunctionWrapper (Gst.LogFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new LogFunctionNative (NativeCallback);
+               }
+
+               public static Gst.LogFunction GetManagedDelegate (LogFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       LogFunctionWrapper wrapper = (LogFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MemoryCopyFunctionNative.cs b/sources/generated/Gst_GstSharp.MemoryCopyFunctionNative.cs
new file mode 100644 (file)
index 0000000..d514cd7
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr MemoryCopyFunctionNative(IntPtr mem, IntPtr offset, IntPtr size);
+
+       internal class MemoryCopyFunctionInvoker {
+
+               MemoryCopyFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MemoryCopyFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MemoryCopyFunctionInvoker (MemoryCopyFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MemoryCopyFunctionInvoker (MemoryCopyFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MemoryCopyFunctionInvoker (MemoryCopyFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MemoryCopyFunction Handler {
+                       get {
+                               return new Gst.MemoryCopyFunction(InvokeNative);
+                       }
+               }
+
+               Gst.Memory InvokeNative (Gst.Memory mem, long offset, long size)
+               {
+                       Gst.Memory __result = native_cb (mem == null ? IntPtr.Zero : mem.Handle, new IntPtr (offset), new IntPtr (size)) == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (native_cb (mem == null ? IntPtr.Zero : mem.Handle, new IntPtr (offset), new IntPtr (size)), typeof (Gst.Memory), true);
+                       return __result;
+               }
+       }
+
+       internal class MemoryCopyFunctionWrapper {
+
+               public IntPtr NativeCallback (IntPtr mem, IntPtr offset, IntPtr size)
+               {
+                       try {
+                               Gst.Memory __ret = managed (mem == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (mem, typeof (Gst.Memory), false), (long) offset, (long) size);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret == null ? IntPtr.Zero : __ret.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MemoryCopyFunctionNative NativeDelegate;
+               Gst.MemoryCopyFunction managed;
+
+               public MemoryCopyFunctionWrapper (Gst.MemoryCopyFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MemoryCopyFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MemoryCopyFunction GetManagedDelegate (MemoryCopyFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MemoryCopyFunctionWrapper wrapper = (MemoryCopyFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MemoryIsSpanFunctionNative.cs b/sources/generated/Gst_GstSharp.MemoryIsSpanFunctionNative.cs
new file mode 100644 (file)
index 0000000..cf98fb9
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool MemoryIsSpanFunctionNative(IntPtr mem1, IntPtr mem2, UIntPtr offset);
+
+       internal class MemoryIsSpanFunctionInvoker {
+
+               MemoryIsSpanFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MemoryIsSpanFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MemoryIsSpanFunctionInvoker (MemoryIsSpanFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MemoryIsSpanFunctionInvoker (MemoryIsSpanFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MemoryIsSpanFunctionInvoker (MemoryIsSpanFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MemoryIsSpanFunction Handler {
+                       get {
+                               return new Gst.MemoryIsSpanFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Memory mem1, Gst.Memory mem2, ulong offset)
+               {
+                       bool __result = native_cb (mem1 == null ? IntPtr.Zero : mem1.Handle, mem2 == null ? IntPtr.Zero : mem2.Handle, new UIntPtr (offset));
+                       return __result;
+               }
+       }
+
+       internal class MemoryIsSpanFunctionWrapper {
+
+               public bool NativeCallback (IntPtr mem1, IntPtr mem2, UIntPtr offset)
+               {
+                       try {
+                               bool __ret = managed (mem1 == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (mem1, typeof (Gst.Memory), false), mem2 == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (mem2, typeof (Gst.Memory), false), (ulong) offset);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MemoryIsSpanFunctionNative NativeDelegate;
+               Gst.MemoryIsSpanFunction managed;
+
+               public MemoryIsSpanFunctionWrapper (Gst.MemoryIsSpanFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MemoryIsSpanFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MemoryIsSpanFunction GetManagedDelegate (MemoryIsSpanFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MemoryIsSpanFunctionWrapper wrapper = (MemoryIsSpanFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MemoryMapFullFunctionNative.cs b/sources/generated/Gst_GstSharp.MemoryMapFullFunctionNative.cs
new file mode 100644 (file)
index 0000000..4926cff
--- /dev/null
@@ -0,0 +1,98 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr MemoryMapFullFunctionNative(IntPtr mem, IntPtr info, UIntPtr maxsize);
+
+       internal class MemoryMapFullFunctionInvoker {
+
+               MemoryMapFullFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MemoryMapFullFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MemoryMapFullFunctionInvoker (MemoryMapFullFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MemoryMapFullFunctionInvoker (MemoryMapFullFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MemoryMapFullFunctionInvoker (MemoryMapFullFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MemoryMapFullFunction Handler {
+                       get {
+                               return new Gst.MemoryMapFullFunction(InvokeNative);
+                       }
+               }
+
+               IntPtr InvokeNative (Gst.Memory mem, Gst.MapInfo info, ulong maxsize)
+               {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       IntPtr __result = native_cb (mem == null ? IntPtr.Zero : mem.Handle, native_info, new UIntPtr (maxsize));
+                       Marshal.FreeHGlobal (native_info);
+                       return __result;
+               }
+       }
+
+       internal class MemoryMapFullFunctionWrapper {
+
+               public IntPtr NativeCallback (IntPtr mem, IntPtr info, UIntPtr maxsize)
+               {
+                       try {
+                               IntPtr __ret = managed (mem == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (mem, typeof (Gst.Memory), false), Gst.MapInfo.New (info), (ulong) maxsize);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MemoryMapFullFunctionNative NativeDelegate;
+               Gst.MemoryMapFullFunction managed;
+
+               public MemoryMapFullFunctionWrapper (Gst.MemoryMapFullFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MemoryMapFullFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MemoryMapFullFunction GetManagedDelegate (MemoryMapFullFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MemoryMapFullFunctionWrapper wrapper = (MemoryMapFullFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MemoryMapFunctionNative.cs b/sources/generated/Gst_GstSharp.MemoryMapFunctionNative.cs
new file mode 100644 (file)
index 0000000..4240a66
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr MemoryMapFunctionNative(IntPtr mem, UIntPtr maxsize, int flags);
+
+       internal class MemoryMapFunctionInvoker {
+
+               MemoryMapFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MemoryMapFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MemoryMapFunctionInvoker (MemoryMapFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MemoryMapFunctionInvoker (MemoryMapFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MemoryMapFunctionInvoker (MemoryMapFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MemoryMapFunction Handler {
+                       get {
+                               return new Gst.MemoryMapFunction(InvokeNative);
+                       }
+               }
+
+               IntPtr InvokeNative (Gst.Memory mem, ulong maxsize, Gst.MapFlags flags)
+               {
+                       IntPtr __result = native_cb (mem == null ? IntPtr.Zero : mem.Handle, new UIntPtr (maxsize), (int) flags);
+                       return __result;
+               }
+       }
+
+       internal class MemoryMapFunctionWrapper {
+
+               public IntPtr NativeCallback (IntPtr mem, UIntPtr maxsize, int flags)
+               {
+                       try {
+                               IntPtr __ret = managed (mem == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (mem, typeof (Gst.Memory), false), (ulong) maxsize, (Gst.MapFlags) flags);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MemoryMapFunctionNative NativeDelegate;
+               Gst.MemoryMapFunction managed;
+
+               public MemoryMapFunctionWrapper (Gst.MemoryMapFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MemoryMapFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MemoryMapFunction GetManagedDelegate (MemoryMapFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MemoryMapFunctionWrapper wrapper = (MemoryMapFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MemoryShareFunctionNative.cs b/sources/generated/Gst_GstSharp.MemoryShareFunctionNative.cs
new file mode 100644 (file)
index 0000000..1057222
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr MemoryShareFunctionNative(IntPtr mem, IntPtr offset, IntPtr size);
+
+       internal class MemoryShareFunctionInvoker {
+
+               MemoryShareFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MemoryShareFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MemoryShareFunctionInvoker (MemoryShareFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MemoryShareFunctionInvoker (MemoryShareFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MemoryShareFunctionInvoker (MemoryShareFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MemoryShareFunction Handler {
+                       get {
+                               return new Gst.MemoryShareFunction(InvokeNative);
+                       }
+               }
+
+               Gst.Memory InvokeNative (Gst.Memory mem, long offset, long size)
+               {
+                       Gst.Memory __result = native_cb (mem == null ? IntPtr.Zero : mem.Handle, new IntPtr (offset), new IntPtr (size)) == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (native_cb (mem == null ? IntPtr.Zero : mem.Handle, new IntPtr (offset), new IntPtr (size)), typeof (Gst.Memory), true);
+                       return __result;
+               }
+       }
+
+       internal class MemoryShareFunctionWrapper {
+
+               public IntPtr NativeCallback (IntPtr mem, IntPtr offset, IntPtr size)
+               {
+                       try {
+                               Gst.Memory __ret = managed (mem == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (mem, typeof (Gst.Memory), false), (long) offset, (long) size);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret == null ? IntPtr.Zero : __ret.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MemoryShareFunctionNative NativeDelegate;
+               Gst.MemoryShareFunction managed;
+
+               public MemoryShareFunctionWrapper (Gst.MemoryShareFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MemoryShareFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MemoryShareFunction GetManagedDelegate (MemoryShareFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MemoryShareFunctionWrapper wrapper = (MemoryShareFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MemoryUnmapFullFunctionNative.cs b/sources/generated/Gst_GstSharp.MemoryUnmapFullFunctionNative.cs
new file mode 100644 (file)
index 0000000..98357df
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void MemoryUnmapFullFunctionNative(IntPtr mem, IntPtr info);
+
+       internal class MemoryUnmapFullFunctionInvoker {
+
+               MemoryUnmapFullFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MemoryUnmapFullFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MemoryUnmapFullFunctionInvoker (MemoryUnmapFullFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MemoryUnmapFullFunctionInvoker (MemoryUnmapFullFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MemoryUnmapFullFunctionInvoker (MemoryUnmapFullFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MemoryUnmapFullFunction Handler {
+                       get {
+                               return new Gst.MemoryUnmapFullFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Memory mem, Gst.MapInfo info)
+               {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       native_cb (mem == null ? IntPtr.Zero : mem.Handle, native_info);
+                       Marshal.FreeHGlobal (native_info);
+               }
+       }
+
+       internal class MemoryUnmapFullFunctionWrapper {
+
+               public void NativeCallback (IntPtr mem, IntPtr info)
+               {
+                       try {
+                               managed (mem == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (mem, typeof (Gst.Memory), false), Gst.MapInfo.New (info));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MemoryUnmapFullFunctionNative NativeDelegate;
+               Gst.MemoryUnmapFullFunction managed;
+
+               public MemoryUnmapFullFunctionWrapper (Gst.MemoryUnmapFullFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MemoryUnmapFullFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MemoryUnmapFullFunction GetManagedDelegate (MemoryUnmapFullFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MemoryUnmapFullFunctionWrapper wrapper = (MemoryUnmapFullFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MemoryUnmapFunctionNative.cs b/sources/generated/Gst_GstSharp.MemoryUnmapFunctionNative.cs
new file mode 100644 (file)
index 0000000..26309b2
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void MemoryUnmapFunctionNative(IntPtr mem);
+
+       internal class MemoryUnmapFunctionInvoker {
+
+               MemoryUnmapFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MemoryUnmapFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MemoryUnmapFunctionInvoker (MemoryUnmapFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MemoryUnmapFunctionInvoker (MemoryUnmapFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MemoryUnmapFunctionInvoker (MemoryUnmapFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MemoryUnmapFunction Handler {
+                       get {
+                               return new Gst.MemoryUnmapFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Memory mem)
+               {
+                       native_cb (mem == null ? IntPtr.Zero : mem.Handle);
+               }
+       }
+
+       internal class MemoryUnmapFunctionWrapper {
+
+               public void NativeCallback (IntPtr mem)
+               {
+                       try {
+                               managed (mem == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (mem, typeof (Gst.Memory), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MemoryUnmapFunctionNative NativeDelegate;
+               Gst.MemoryUnmapFunction managed;
+
+               public MemoryUnmapFunctionWrapper (Gst.MemoryUnmapFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MemoryUnmapFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MemoryUnmapFunction GetManagedDelegate (MemoryUnmapFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MemoryUnmapFunctionWrapper wrapper = (MemoryUnmapFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MetaFreeFunctionNative.cs b/sources/generated/Gst_GstSharp.MetaFreeFunctionNative.cs
new file mode 100644 (file)
index 0000000..ca5c378
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void MetaFreeFunctionNative(IntPtr meta, IntPtr buffer);
+
+       internal class MetaFreeFunctionInvoker {
+
+               MetaFreeFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MetaFreeFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MetaFreeFunctionInvoker (MetaFreeFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MetaFreeFunctionInvoker (MetaFreeFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MetaFreeFunctionInvoker (MetaFreeFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MetaFreeFunction Handler {
+                       get {
+                               return new Gst.MetaFreeFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Meta meta, Gst.Buffer buffer)
+               {
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       native_cb (native_meta, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Marshal.FreeHGlobal (native_meta);
+               }
+       }
+
+       internal class MetaFreeFunctionWrapper {
+
+               public void NativeCallback (IntPtr meta, IntPtr buffer)
+               {
+                       try {
+                               managed (Gst.Meta.New (meta), buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MetaFreeFunctionNative NativeDelegate;
+               Gst.MetaFreeFunction managed;
+
+               public MetaFreeFunctionWrapper (Gst.MetaFreeFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MetaFreeFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MetaFreeFunction GetManagedDelegate (MetaFreeFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MetaFreeFunctionWrapper wrapper = (MetaFreeFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MetaInitFunctionNative.cs b/sources/generated/Gst_GstSharp.MetaInitFunctionNative.cs
new file mode 100644 (file)
index 0000000..ba2560c
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool MetaInitFunctionNative(IntPtr meta, IntPtr parms, IntPtr buffer);
+
+       internal class MetaInitFunctionInvoker {
+
+               MetaInitFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MetaInitFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MetaInitFunctionInvoker (MetaInitFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MetaInitFunctionInvoker (MetaInitFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MetaInitFunctionInvoker (MetaInitFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MetaInitFunction Handler {
+                       get {
+                               return new Gst.MetaInitFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Meta meta, IntPtr parms, Gst.Buffer buffer)
+               {
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = native_cb (native_meta, parms, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+       }
+
+       internal class MetaInitFunctionWrapper {
+
+               public bool NativeCallback (IntPtr meta, IntPtr parms, IntPtr buffer)
+               {
+                       try {
+                               bool __ret = managed (Gst.Meta.New (meta), parms, buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MetaInitFunctionNative NativeDelegate;
+               Gst.MetaInitFunction managed;
+
+               public MetaInitFunctionWrapper (Gst.MetaInitFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MetaInitFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MetaInitFunction GetManagedDelegate (MetaInitFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MetaInitFunctionWrapper wrapper = (MetaInitFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MetaTransformFunctionNative.cs b/sources/generated/Gst_GstSharp.MetaTransformFunctionNative.cs
new file mode 100644 (file)
index 0000000..f4bbd19
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool MetaTransformFunctionNative(IntPtr transbuf, IntPtr meta, IntPtr buffer, uint type, IntPtr data);
+
+       internal class MetaTransformFunctionInvoker {
+
+               MetaTransformFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MetaTransformFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MetaTransformFunctionInvoker (MetaTransformFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MetaTransformFunctionInvoker (MetaTransformFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MetaTransformFunctionInvoker (MetaTransformFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MetaTransformFunction Handler {
+                       get {
+                               return new Gst.MetaTransformFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Buffer transbuf, Gst.Meta meta, Gst.Buffer buffer, uint type, IntPtr data)
+               {
+                       IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc (meta);
+                       bool __result = native_cb (transbuf == null ? IntPtr.Zero : transbuf.Handle, native_meta, buffer == null ? IntPtr.Zero : buffer.Handle, type, __data);
+                       Marshal.FreeHGlobal (native_meta);
+                       return __result;
+               }
+       }
+
+       internal class MetaTransformFunctionWrapper {
+
+               public bool NativeCallback (IntPtr transbuf, IntPtr meta, IntPtr buffer, uint type, IntPtr data)
+               {
+                       try {
+                               bool __ret = managed (transbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (transbuf, typeof (Gst.Buffer), false), Gst.Meta.New (meta), buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), type, data);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MetaTransformFunctionNative NativeDelegate;
+               Gst.MetaTransformFunction managed;
+
+               public MetaTransformFunctionWrapper (Gst.MetaTransformFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MetaTransformFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MetaTransformFunction GetManagedDelegate (MetaTransformFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MetaTransformFunctionWrapper wrapper = (MetaTransformFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MiniObjectCopyFunctionNative.cs b/sources/generated/Gst_GstSharp.MiniObjectCopyFunctionNative.cs
new file mode 100644 (file)
index 0000000..d2271c7
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr MiniObjectCopyFunctionNative(IntPtr obj);
+
+       internal class MiniObjectCopyFunctionInvoker {
+
+               MiniObjectCopyFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MiniObjectCopyFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MiniObjectCopyFunctionInvoker (MiniObjectCopyFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MiniObjectCopyFunctionInvoker (MiniObjectCopyFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MiniObjectCopyFunctionInvoker (MiniObjectCopyFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MiniObjectCopyFunction Handler {
+                       get {
+                               return new Gst.MiniObjectCopyFunction(InvokeNative);
+                       }
+               }
+
+               Gst.MiniObject InvokeNative (Gst.MiniObject obj)
+               {
+                       Gst.MiniObject __result = native_cb (obj == null ? IntPtr.Zero : obj.Handle) == IntPtr.Zero ? null : (Gst.MiniObject) GLib.Opaque.GetOpaque (native_cb (obj == null ? IntPtr.Zero : obj.Handle), typeof (Gst.MiniObject), false);
+                       return __result;
+               }
+       }
+
+       internal class MiniObjectCopyFunctionWrapper {
+
+               public IntPtr NativeCallback (IntPtr obj)
+               {
+                       try {
+                               Gst.MiniObject __ret = managed (obj == IntPtr.Zero ? null : (Gst.MiniObject) GLib.Opaque.GetOpaque (obj, typeof (Gst.MiniObject), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret == null ? IntPtr.Zero : __ret.Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MiniObjectCopyFunctionNative NativeDelegate;
+               Gst.MiniObjectCopyFunction managed;
+
+               public MiniObjectCopyFunctionWrapper (Gst.MiniObjectCopyFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MiniObjectCopyFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MiniObjectCopyFunction GetManagedDelegate (MiniObjectCopyFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MiniObjectCopyFunctionWrapper wrapper = (MiniObjectCopyFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MiniObjectDisposeFunctionNative.cs b/sources/generated/Gst_GstSharp.MiniObjectDisposeFunctionNative.cs
new file mode 100644 (file)
index 0000000..1ea976e
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool MiniObjectDisposeFunctionNative(IntPtr obj);
+
+       internal class MiniObjectDisposeFunctionInvoker {
+
+               MiniObjectDisposeFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MiniObjectDisposeFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MiniObjectDisposeFunctionInvoker (MiniObjectDisposeFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MiniObjectDisposeFunctionInvoker (MiniObjectDisposeFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MiniObjectDisposeFunctionInvoker (MiniObjectDisposeFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MiniObjectDisposeFunction Handler {
+                       get {
+                               return new Gst.MiniObjectDisposeFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.MiniObject obj)
+               {
+                       bool __result = native_cb (obj == null ? IntPtr.Zero : obj.Handle);
+                       return __result;
+               }
+       }
+
+       internal class MiniObjectDisposeFunctionWrapper {
+
+               public bool NativeCallback (IntPtr obj)
+               {
+                       try {
+                               bool __ret = managed (obj == IntPtr.Zero ? null : (Gst.MiniObject) GLib.Opaque.GetOpaque (obj, typeof (Gst.MiniObject), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MiniObjectDisposeFunctionNative NativeDelegate;
+               Gst.MiniObjectDisposeFunction managed;
+
+               public MiniObjectDisposeFunctionWrapper (Gst.MiniObjectDisposeFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MiniObjectDisposeFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MiniObjectDisposeFunction GetManagedDelegate (MiniObjectDisposeFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MiniObjectDisposeFunctionWrapper wrapper = (MiniObjectDisposeFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MiniObjectFreeFunctionNative.cs b/sources/generated/Gst_GstSharp.MiniObjectFreeFunctionNative.cs
new file mode 100644 (file)
index 0000000..005b0b9
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void MiniObjectFreeFunctionNative(IntPtr obj);
+
+       internal class MiniObjectFreeFunctionInvoker {
+
+               MiniObjectFreeFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MiniObjectFreeFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MiniObjectFreeFunctionInvoker (MiniObjectFreeFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MiniObjectFreeFunctionInvoker (MiniObjectFreeFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MiniObjectFreeFunctionInvoker (MiniObjectFreeFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MiniObjectFreeFunction Handler {
+                       get {
+                               return new Gst.MiniObjectFreeFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.MiniObject obj)
+               {
+                       native_cb (obj == null ? IntPtr.Zero : obj.Handle);
+               }
+       }
+
+       internal class MiniObjectFreeFunctionWrapper {
+
+               public void NativeCallback (IntPtr obj)
+               {
+                       try {
+                               managed (obj == IntPtr.Zero ? null : (Gst.MiniObject) GLib.Opaque.GetOpaque (obj, typeof (Gst.MiniObject), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MiniObjectFreeFunctionNative NativeDelegate;
+               Gst.MiniObjectFreeFunction managed;
+
+               public MiniObjectFreeFunctionWrapper (Gst.MiniObjectFreeFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MiniObjectFreeFunctionNative (NativeCallback);
+               }
+
+               public static Gst.MiniObjectFreeFunction GetManagedDelegate (MiniObjectFreeFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MiniObjectFreeFunctionWrapper wrapper = (MiniObjectFreeFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.MiniObjectNotifyNative.cs b/sources/generated/Gst_GstSharp.MiniObjectNotifyNative.cs
new file mode 100644 (file)
index 0000000..6731580
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void MiniObjectNotifyNative(IntPtr user_data, IntPtr obj);
+
+       internal class MiniObjectNotifyInvoker {
+
+               MiniObjectNotifyNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~MiniObjectNotifyInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal MiniObjectNotifyInvoker (MiniObjectNotifyNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal MiniObjectNotifyInvoker (MiniObjectNotifyNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal MiniObjectNotifyInvoker (MiniObjectNotifyNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.MiniObjectNotify Handler {
+                       get {
+                               return new Gst.MiniObjectNotify(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.MiniObject obj)
+               {
+                       native_cb (__data, obj == null ? IntPtr.Zero : obj.Handle);
+               }
+       }
+
+       internal class MiniObjectNotifyWrapper {
+
+               public void NativeCallback (IntPtr user_data, IntPtr obj)
+               {
+                       try {
+                               managed (obj == IntPtr.Zero ? null : (Gst.MiniObject) GLib.Opaque.GetOpaque (obj, typeof (Gst.MiniObject), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal MiniObjectNotifyNative NativeDelegate;
+               Gst.MiniObjectNotify managed;
+
+               public MiniObjectNotifyWrapper (Gst.MiniObjectNotify managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new MiniObjectNotifyNative (NativeCallback);
+               }
+
+               public static Gst.MiniObjectNotify GetManagedDelegate (MiniObjectNotifyNative native)
+               {
+                       if (native == null)
+                               return null;
+                       MiniObjectNotifyWrapper wrapper = (MiniObjectNotifyWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadActivateFunctionNative.cs b/sources/generated/Gst_GstSharp.PadActivateFunctionNative.cs
new file mode 100644 (file)
index 0000000..ba62915
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PadActivateFunctionNative(IntPtr pad, IntPtr parent);
+
+       internal class PadActivateFunctionInvoker {
+
+               PadActivateFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadActivateFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadActivateFunctionInvoker (PadActivateFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadActivateFunctionInvoker (PadActivateFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadActivateFunctionInvoker (PadActivateFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadActivateFunction Handler {
+                       get {
+                               return new Gst.PadActivateFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Pad pad, Gst.Object parent)
+               {
+                       bool __result = native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PadActivateFunctionWrapper {
+
+               public bool NativeCallback (IntPtr pad, IntPtr parent)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadActivateFunctionNative NativeDelegate;
+               Gst.PadActivateFunction managed;
+
+               public PadActivateFunctionWrapper (Gst.PadActivateFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadActivateFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadActivateFunction GetManagedDelegate (PadActivateFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadActivateFunctionWrapper wrapper = (PadActivateFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadActivateModeFunctionNative.cs b/sources/generated/Gst_GstSharp.PadActivateModeFunctionNative.cs
new file mode 100644 (file)
index 0000000..8b5e6e1
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PadActivateModeFunctionNative(IntPtr pad, IntPtr parent, int mode, bool active);
+
+       internal class PadActivateModeFunctionInvoker {
+
+               PadActivateModeFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadActivateModeFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadActivateModeFunctionInvoker (PadActivateModeFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadActivateModeFunctionInvoker (PadActivateModeFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadActivateModeFunctionInvoker (PadActivateModeFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadActivateModeFunction Handler {
+                       get {
+                               return new Gst.PadActivateModeFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active)
+               {
+                       bool __result = native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, (int) mode, active);
+                       return __result;
+               }
+       }
+
+       internal class PadActivateModeFunctionWrapper {
+
+               public bool NativeCallback (IntPtr pad, IntPtr parent, int mode, bool active)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object, (Gst.PadMode) mode, active);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadActivateModeFunctionNative NativeDelegate;
+               Gst.PadActivateModeFunction managed;
+
+               public PadActivateModeFunctionWrapper (Gst.PadActivateModeFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadActivateModeFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadActivateModeFunction GetManagedDelegate (PadActivateModeFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadActivateModeFunctionWrapper wrapper = (PadActivateModeFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadChainFunctionNative.cs b/sources/generated/Gst_GstSharp.PadChainFunctionNative.cs
new file mode 100644 (file)
index 0000000..3445788
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int PadChainFunctionNative(IntPtr pad, IntPtr parent, IntPtr buffer);
+
+       internal class PadChainFunctionInvoker {
+
+               PadChainFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadChainFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadChainFunctionInvoker (PadChainFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadChainFunctionInvoker (PadChainFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadChainFunctionInvoker (PadChainFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadChainFunction Handler {
+                       get {
+                               return new Gst.PadChainFunction(InvokeNative);
+                       }
+               }
+
+               Gst.FlowReturn InvokeNative (Gst.Pad pad, Gst.Object parent, Gst.Buffer buffer)
+               {
+                       buffer.Owned = false;
+                       Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PadChainFunctionWrapper {
+
+               public int NativeCallback (IntPtr pad, IntPtr parent, IntPtr buffer)
+               {
+                       try {
+                               Gst.FlowReturn __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object, buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), true));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadChainFunctionNative NativeDelegate;
+               Gst.PadChainFunction managed;
+
+               public PadChainFunctionWrapper (Gst.PadChainFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadChainFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadChainFunction GetManagedDelegate (PadChainFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadChainFunctionWrapper wrapper = (PadChainFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadChainListFunctionNative.cs b/sources/generated/Gst_GstSharp.PadChainListFunctionNative.cs
new file mode 100644 (file)
index 0000000..678ac9c
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int PadChainListFunctionNative(IntPtr pad, IntPtr parent, IntPtr list);
+
+       internal class PadChainListFunctionInvoker {
+
+               PadChainListFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadChainListFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadChainListFunctionInvoker (PadChainListFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadChainListFunctionInvoker (PadChainListFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadChainListFunctionInvoker (PadChainListFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadChainListFunction Handler {
+                       get {
+                               return new Gst.PadChainListFunction(InvokeNative);
+                       }
+               }
+
+               Gst.FlowReturn InvokeNative (Gst.Pad pad, Gst.Object parent, Gst.BufferList list)
+               {
+                       list.Owned = false;
+                       Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, list == null ? IntPtr.Zero : list.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PadChainListFunctionWrapper {
+
+               public int NativeCallback (IntPtr pad, IntPtr parent, IntPtr list)
+               {
+                       try {
+                               Gst.FlowReturn __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object, list == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (list, typeof (Gst.BufferList), true));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadChainListFunctionNative NativeDelegate;
+               Gst.PadChainListFunction managed;
+
+               public PadChainListFunctionWrapper (Gst.PadChainListFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadChainListFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadChainListFunction GetManagedDelegate (PadChainListFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadChainListFunctionWrapper wrapper = (PadChainListFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadEventFullFunctionNative.cs b/sources/generated/Gst_GstSharp.PadEventFullFunctionNative.cs
new file mode 100644 (file)
index 0000000..bcb831d
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int PadEventFullFunctionNative(IntPtr pad, IntPtr parent, IntPtr evnt);
+
+       internal class PadEventFullFunctionInvoker {
+
+               PadEventFullFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadEventFullFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadEventFullFunctionInvoker (PadEventFullFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadEventFullFunctionInvoker (PadEventFullFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadEventFullFunctionInvoker (PadEventFullFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadEventFullFunction Handler {
+                       get {
+                               return new Gst.PadEventFullFunction(InvokeNative);
+                       }
+               }
+
+               Gst.FlowReturn InvokeNative (Gst.Pad pad, Gst.Object parent, Gst.Event evnt)
+               {
+                       evnt.Owned = false;
+                       Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PadEventFullFunctionWrapper {
+
+               public int NativeCallback (IntPtr pad, IntPtr parent, IntPtr evnt)
+               {
+                       try {
+                               Gst.FlowReturn __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object, evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), true));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadEventFullFunctionNative NativeDelegate;
+               Gst.PadEventFullFunction managed;
+
+               public PadEventFullFunctionWrapper (Gst.PadEventFullFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadEventFullFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadEventFullFunction GetManagedDelegate (PadEventFullFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadEventFullFunctionWrapper wrapper = (PadEventFullFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadEventFunctionNative.cs b/sources/generated/Gst_GstSharp.PadEventFunctionNative.cs
new file mode 100644 (file)
index 0000000..23c7311
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PadEventFunctionNative(IntPtr pad, IntPtr parent, IntPtr evnt);
+
+       internal class PadEventFunctionInvoker {
+
+               PadEventFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadEventFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadEventFunctionInvoker (PadEventFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadEventFunctionInvoker (PadEventFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadEventFunctionInvoker (PadEventFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadEventFunction Handler {
+                       get {
+                               return new Gst.PadEventFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Pad pad, Gst.Object parent, Gst.Event evnt)
+               {
+                       evnt.Owned = false;
+                       bool __result = native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PadEventFunctionWrapper {
+
+               public bool NativeCallback (IntPtr pad, IntPtr parent, IntPtr evnt)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object, evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), true));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadEventFunctionNative NativeDelegate;
+               Gst.PadEventFunction managed;
+
+               public PadEventFunctionWrapper (Gst.PadEventFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadEventFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadEventFunction GetManagedDelegate (PadEventFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadEventFunctionWrapper wrapper = (PadEventFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadForwardFunctionNative.cs b/sources/generated/Gst_GstSharp.PadForwardFunctionNative.cs
new file mode 100644 (file)
index 0000000..551368c
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PadForwardFunctionNative(IntPtr pad, IntPtr user_data);
+
+       internal class PadForwardFunctionInvoker {
+
+               PadForwardFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadForwardFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadForwardFunctionInvoker (PadForwardFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadForwardFunctionInvoker (PadForwardFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadForwardFunctionInvoker (PadForwardFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadForwardFunction Handler {
+                       get {
+                               return new Gst.PadForwardFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Pad pad)
+               {
+                       bool __result = native_cb (pad == null ? IntPtr.Zero : pad.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class PadForwardFunctionWrapper {
+
+               public bool NativeCallback (IntPtr pad, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadForwardFunctionNative NativeDelegate;
+               Gst.PadForwardFunction managed;
+
+               public PadForwardFunctionWrapper (Gst.PadForwardFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadForwardFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadForwardFunction GetManagedDelegate (PadForwardFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadForwardFunctionWrapper wrapper = (PadForwardFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadGetRangeFunctionNative.cs b/sources/generated/Gst_GstSharp.PadGetRangeFunctionNative.cs
new file mode 100644 (file)
index 0000000..02947d1
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int PadGetRangeFunctionNative(IntPtr pad, IntPtr parent, ulong offset, uint length, IntPtr buffer);
+
+       internal class PadGetRangeFunctionInvoker {
+
+               PadGetRangeFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadGetRangeFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadGetRangeFunctionInvoker (PadGetRangeFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadGetRangeFunctionInvoker (PadGetRangeFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadGetRangeFunctionInvoker (PadGetRangeFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadGetRangeFunction Handler {
+                       get {
+                               return new Gst.PadGetRangeFunction(InvokeNative);
+                       }
+               }
+
+               Gst.FlowReturn InvokeNative (Gst.Pad pad, Gst.Object parent, ulong offset, uint length, Gst.Buffer buffer)
+               {
+                       Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, offset, length, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PadGetRangeFunctionWrapper {
+
+               public int NativeCallback (IntPtr pad, IntPtr parent, ulong offset, uint length, IntPtr buffer)
+               {
+                       try {
+                               Gst.FlowReturn __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object, offset, length, buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadGetRangeFunctionNative NativeDelegate;
+               Gst.PadGetRangeFunction managed;
+
+               public PadGetRangeFunctionWrapper (Gst.PadGetRangeFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadGetRangeFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadGetRangeFunction GetManagedDelegate (PadGetRangeFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadGetRangeFunctionWrapper wrapper = (PadGetRangeFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadIterIntLinkFunctionNative.cs b/sources/generated/Gst_GstSharp.PadIterIntLinkFunctionNative.cs
new file mode 100644 (file)
index 0000000..ab28bdd
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr PadIterIntLinkFunctionNative(IntPtr pad, IntPtr parent);
+
+       internal class PadIterIntLinkFunctionInvoker {
+
+               PadIterIntLinkFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadIterIntLinkFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadIterIntLinkFunctionInvoker (PadIterIntLinkFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadIterIntLinkFunctionInvoker (PadIterIntLinkFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadIterIntLinkFunctionInvoker (PadIterIntLinkFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadIterIntLinkFunction Handler {
+                       get {
+                               return new Gst.PadIterIntLinkFunction(InvokeNative);
+                       }
+               }
+
+               Gst.Iterator InvokeNative (Gst.Pad pad, Gst.Object parent)
+               {
+                       Gst.Iterator __result = native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle) == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle), typeof (Gst.Iterator), true);
+                       return __result;
+               }
+       }
+
+       internal class PadIterIntLinkFunctionWrapper {
+
+               public IntPtr NativeCallback (IntPtr pad, IntPtr parent)
+               {
+                       try {
+                               Gst.Iterator __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret == null ? IntPtr.Zero : __ret.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadIterIntLinkFunctionNative NativeDelegate;
+               Gst.PadIterIntLinkFunction managed;
+
+               public PadIterIntLinkFunctionWrapper (Gst.PadIterIntLinkFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadIterIntLinkFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadIterIntLinkFunction GetManagedDelegate (PadIterIntLinkFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadIterIntLinkFunctionWrapper wrapper = (PadIterIntLinkFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadLinkFunctionNative.cs b/sources/generated/Gst_GstSharp.PadLinkFunctionNative.cs
new file mode 100644 (file)
index 0000000..e86443b
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int PadLinkFunctionNative(IntPtr pad, IntPtr parent, IntPtr peer);
+
+       internal class PadLinkFunctionInvoker {
+
+               PadLinkFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadLinkFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadLinkFunctionInvoker (PadLinkFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadLinkFunctionInvoker (PadLinkFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadLinkFunctionInvoker (PadLinkFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadLinkFunction Handler {
+                       get {
+                               return new Gst.PadLinkFunction(InvokeNative);
+                       }
+               }
+
+               Gst.PadLinkReturn InvokeNative (Gst.Pad pad, Gst.Object parent, Gst.Pad peer)
+               {
+                       Gst.PadLinkReturn __result = (Gst.PadLinkReturn) native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, peer == null ? IntPtr.Zero : peer.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PadLinkFunctionWrapper {
+
+               public int NativeCallback (IntPtr pad, IntPtr parent, IntPtr peer)
+               {
+                       try {
+                               Gst.PadLinkReturn __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object, GLib.Object.GetObject(peer) as Gst.Pad);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadLinkFunctionNative NativeDelegate;
+               Gst.PadLinkFunction managed;
+
+               public PadLinkFunctionWrapper (Gst.PadLinkFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadLinkFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadLinkFunction GetManagedDelegate (PadLinkFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadLinkFunctionWrapper wrapper = (PadLinkFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadProbeCallbackNative.cs b/sources/generated/Gst_GstSharp.PadProbeCallbackNative.cs
new file mode 100644 (file)
index 0000000..a821648
--- /dev/null
@@ -0,0 +1,98 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int PadProbeCallbackNative(IntPtr pad, IntPtr info, IntPtr user_data);
+
+       internal class PadProbeCallbackInvoker {
+
+               PadProbeCallbackNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadProbeCallbackInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadProbeCallbackInvoker (PadProbeCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadProbeCallbackInvoker (PadProbeCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadProbeCallbackInvoker (PadProbeCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadProbeCallback Handler {
+                       get {
+                               return new Gst.PadProbeCallback(InvokeNative);
+                       }
+               }
+
+               Gst.PadProbeReturn InvokeNative (Gst.Pad pad, Gst.PadProbeInfo info)
+               {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       Gst.PadProbeReturn __result = (Gst.PadProbeReturn) native_cb (pad == null ? IntPtr.Zero : pad.Handle, native_info, __data);
+                       Marshal.FreeHGlobal (native_info);
+                       return __result;
+               }
+       }
+
+       internal class PadProbeCallbackWrapper {
+
+               public int NativeCallback (IntPtr pad, IntPtr info, IntPtr user_data)
+               {
+                       try {
+                               Gst.PadProbeReturn __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, Gst.PadProbeInfo.New (info));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadProbeCallbackNative NativeDelegate;
+               Gst.PadProbeCallback managed;
+
+               public PadProbeCallbackWrapper (Gst.PadProbeCallback managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadProbeCallbackNative (NativeCallback);
+               }
+
+               public static Gst.PadProbeCallback GetManagedDelegate (PadProbeCallbackNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadProbeCallbackWrapper wrapper = (PadProbeCallbackWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadQueryFunctionNative.cs b/sources/generated/Gst_GstSharp.PadQueryFunctionNative.cs
new file mode 100644 (file)
index 0000000..25662e3
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PadQueryFunctionNative(IntPtr pad, IntPtr parent, IntPtr query);
+
+       internal class PadQueryFunctionInvoker {
+
+               PadQueryFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadQueryFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadQueryFunctionInvoker (PadQueryFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadQueryFunctionInvoker (PadQueryFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadQueryFunctionInvoker (PadQueryFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadQueryFunction Handler {
+                       get {
+                               return new Gst.PadQueryFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Pad pad, Gst.Object parent, Gst.Query query)
+               {
+                       bool __result = native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PadQueryFunctionWrapper {
+
+               public bool NativeCallback (IntPtr pad, IntPtr parent, IntPtr query)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object, query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadQueryFunctionNative NativeDelegate;
+               Gst.PadQueryFunction managed;
+
+               public PadQueryFunctionWrapper (Gst.PadQueryFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadQueryFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadQueryFunction GetManagedDelegate (PadQueryFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadQueryFunctionWrapper wrapper = (PadQueryFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadStickyEventsForeachFunctionNative.cs b/sources/generated/Gst_GstSharp.PadStickyEventsForeachFunctionNative.cs
new file mode 100644 (file)
index 0000000..58787fe
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PadStickyEventsForeachFunctionNative(IntPtr pad, IntPtr evnt, IntPtr user_data);
+
+       internal class PadStickyEventsForeachFunctionInvoker {
+
+               PadStickyEventsForeachFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadStickyEventsForeachFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadStickyEventsForeachFunctionInvoker (PadStickyEventsForeachFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadStickyEventsForeachFunctionInvoker (PadStickyEventsForeachFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadStickyEventsForeachFunctionInvoker (PadStickyEventsForeachFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadStickyEventsForeachFunction Handler {
+                       get {
+                               return new Gst.PadStickyEventsForeachFunction(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Pad pad, Gst.Event evnt)
+               {
+                       bool __result = native_cb (pad == null ? IntPtr.Zero : pad.Handle, evnt == null ? IntPtr.Zero : evnt.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class PadStickyEventsForeachFunctionWrapper {
+
+               public bool NativeCallback (IntPtr pad, IntPtr evnt, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pad) as Gst.Pad, evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadStickyEventsForeachFunctionNative NativeDelegate;
+               Gst.PadStickyEventsForeachFunction managed;
+
+               public PadStickyEventsForeachFunctionWrapper (Gst.PadStickyEventsForeachFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadStickyEventsForeachFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadStickyEventsForeachFunction GetManagedDelegate (PadStickyEventsForeachFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadStickyEventsForeachFunctionWrapper wrapper = (PadStickyEventsForeachFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PadUnlinkFunctionNative.cs b/sources/generated/Gst_GstSharp.PadUnlinkFunctionNative.cs
new file mode 100644 (file)
index 0000000..65cd0e6
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void PadUnlinkFunctionNative(IntPtr pad, IntPtr parent);
+
+       internal class PadUnlinkFunctionInvoker {
+
+               PadUnlinkFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PadUnlinkFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PadUnlinkFunctionInvoker (PadUnlinkFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PadUnlinkFunctionInvoker (PadUnlinkFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PadUnlinkFunctionInvoker (PadUnlinkFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PadUnlinkFunction Handler {
+                       get {
+                               return new Gst.PadUnlinkFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Pad pad, Gst.Object parent)
+               {
+                       native_cb (pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle);
+               }
+       }
+
+       internal class PadUnlinkFunctionWrapper {
+
+               public void NativeCallback (IntPtr pad, IntPtr parent)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(pad) as Gst.Pad, GLib.Object.GetObject(parent) as Gst.Object);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PadUnlinkFunctionNative NativeDelegate;
+               Gst.PadUnlinkFunction managed;
+
+               public PadUnlinkFunctionWrapper (Gst.PadUnlinkFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PadUnlinkFunctionNative (NativeCallback);
+               }
+
+               public static Gst.PadUnlinkFunction GetManagedDelegate (PadUnlinkFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PadUnlinkFunctionWrapper wrapper = (PadUnlinkFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PluginFeatureFilterNative.cs b/sources/generated/Gst_GstSharp.PluginFeatureFilterNative.cs
new file mode 100644 (file)
index 0000000..d1eade0
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PluginFeatureFilterNative(IntPtr feature, IntPtr user_data);
+
+       internal class PluginFeatureFilterInvoker {
+
+               PluginFeatureFilterNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PluginFeatureFilterInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PluginFeatureFilterInvoker (PluginFeatureFilterNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PluginFeatureFilterInvoker (PluginFeatureFilterNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PluginFeatureFilterInvoker (PluginFeatureFilterNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PluginFeatureFilter Handler {
+                       get {
+                               return new Gst.PluginFeatureFilter(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.PluginFeature feature)
+               {
+                       bool __result = native_cb (feature == null ? IntPtr.Zero : feature.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class PluginFeatureFilterWrapper {
+
+               public bool NativeCallback (IntPtr feature, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(feature) as Gst.PluginFeature);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PluginFeatureFilterNative NativeDelegate;
+               Gst.PluginFeatureFilter managed;
+
+               public PluginFeatureFilterWrapper (Gst.PluginFeatureFilter managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PluginFeatureFilterNative (NativeCallback);
+               }
+
+               public static Gst.PluginFeatureFilter GetManagedDelegate (PluginFeatureFilterNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PluginFeatureFilterWrapper wrapper = (PluginFeatureFilterWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PluginFilterNative.cs b/sources/generated/Gst_GstSharp.PluginFilterNative.cs
new file mode 100644 (file)
index 0000000..6c24d2a
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PluginFilterNative(IntPtr plugin, IntPtr user_data);
+
+       internal class PluginFilterInvoker {
+
+               PluginFilterNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PluginFilterInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PluginFilterInvoker (PluginFilterNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PluginFilterInvoker (PluginFilterNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PluginFilterInvoker (PluginFilterNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PluginFilter Handler {
+                       get {
+                               return new Gst.PluginFilter(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Plugin plugin)
+               {
+                       bool __result = native_cb (plugin == null ? IntPtr.Zero : plugin.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class PluginFilterWrapper {
+
+               public bool NativeCallback (IntPtr plugin, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(plugin) as Gst.Plugin);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PluginFilterNative NativeDelegate;
+               Gst.PluginFilter managed;
+
+               public PluginFilterWrapper (Gst.PluginFilter managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PluginFilterNative (NativeCallback);
+               }
+
+               public static Gst.PluginFilter GetManagedDelegate (PluginFilterNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PluginFilterWrapper wrapper = (PluginFilterWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PluginInitFullFuncNative.cs b/sources/generated/Gst_GstSharp.PluginInitFullFuncNative.cs
new file mode 100644 (file)
index 0000000..82127ab
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PluginInitFullFuncNative(IntPtr plugin, IntPtr user_data);
+
+       internal class PluginInitFullFuncInvoker {
+
+               PluginInitFullFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PluginInitFullFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PluginInitFullFuncInvoker (PluginInitFullFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PluginInitFullFuncInvoker (PluginInitFullFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PluginInitFullFuncInvoker (PluginInitFullFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PluginInitFullFunc Handler {
+                       get {
+                               return new Gst.PluginInitFullFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Plugin plugin)
+               {
+                       bool __result = native_cb (plugin == null ? IntPtr.Zero : plugin.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class PluginInitFullFuncWrapper {
+
+               public bool NativeCallback (IntPtr plugin, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(plugin) as Gst.Plugin);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PluginInitFullFuncNative NativeDelegate;
+               Gst.PluginInitFullFunc managed;
+
+               public PluginInitFullFuncWrapper (Gst.PluginInitFullFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PluginInitFullFuncNative (NativeCallback);
+               }
+
+               public static Gst.PluginInitFullFunc GetManagedDelegate (PluginInitFullFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PluginInitFullFuncWrapper wrapper = (PluginInitFullFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PluginInitFuncNative.cs b/sources/generated/Gst_GstSharp.PluginInitFuncNative.cs
new file mode 100644 (file)
index 0000000..d0cf2d0
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool PluginInitFuncNative(IntPtr plugin);
+
+       internal class PluginInitFuncInvoker {
+
+               PluginInitFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PluginInitFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PluginInitFuncInvoker (PluginInitFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PluginInitFuncInvoker (PluginInitFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PluginInitFuncInvoker (PluginInitFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PluginInitFunc Handler {
+                       get {
+                               return new Gst.PluginInitFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Plugin plugin)
+               {
+                       bool __result = native_cb (plugin == null ? IntPtr.Zero : plugin.Handle);
+                       return __result;
+               }
+       }
+
+       internal class PluginInitFuncWrapper {
+
+               public bool NativeCallback (IntPtr plugin)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(plugin) as Gst.Plugin);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PluginInitFuncNative NativeDelegate;
+               Gst.PluginInitFunc managed;
+
+               public PluginInitFuncWrapper (Gst.PluginInitFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PluginInitFuncNative (NativeCallback);
+               }
+
+               public static Gst.PluginInitFunc GetManagedDelegate (PluginInitFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PluginInitFuncWrapper wrapper = (PluginInitFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.PromiseChangeFuncNative.cs b/sources/generated/Gst_GstSharp.PromiseChangeFuncNative.cs
new file mode 100644 (file)
index 0000000..c40cb91
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void PromiseChangeFuncNative(IntPtr promise, IntPtr user_data);
+
+       internal class PromiseChangeFuncInvoker {
+
+               PromiseChangeFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~PromiseChangeFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal PromiseChangeFuncInvoker (PromiseChangeFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal PromiseChangeFuncInvoker (PromiseChangeFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal PromiseChangeFuncInvoker (PromiseChangeFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.PromiseChangeFunc Handler {
+                       get {
+                               return new Gst.PromiseChangeFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Promise promise)
+               {
+                       native_cb (promise == null ? IntPtr.Zero : promise.Handle, __data);
+               }
+       }
+
+       internal class PromiseChangeFuncWrapper {
+
+               public void NativeCallback (IntPtr promise, IntPtr user_data)
+               {
+                       try {
+                               managed (promise == IntPtr.Zero ? null : (Gst.Promise) GLib.Opaque.GetOpaque (promise, typeof (Gst.Promise), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal PromiseChangeFuncNative NativeDelegate;
+               Gst.PromiseChangeFunc managed;
+
+               public PromiseChangeFuncWrapper (Gst.PromiseChangeFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new PromiseChangeFuncNative (NativeCallback);
+               }
+
+               public static Gst.PromiseChangeFunc GetManagedDelegate (PromiseChangeFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       PromiseChangeFuncWrapper wrapper = (PromiseChangeFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.StructureFilterMapFuncNative.cs b/sources/generated/Gst_GstSharp.StructureFilterMapFuncNative.cs
new file mode 100644 (file)
index 0000000..d830447
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool StructureFilterMapFuncNative(uint field_id, IntPtr value, IntPtr user_data);
+
+       internal class StructureFilterMapFuncInvoker {
+
+               StructureFilterMapFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~StructureFilterMapFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal StructureFilterMapFuncInvoker (StructureFilterMapFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal StructureFilterMapFuncInvoker (StructureFilterMapFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal StructureFilterMapFuncInvoker (StructureFilterMapFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.StructureFilterMapFunc Handler {
+                       get {
+                               return new Gst.StructureFilterMapFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (uint field_id, GLib.Value value)
+               {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool __result = native_cb (field_id, native_value, __data);
+                       Marshal.FreeHGlobal (native_value);
+                       return __result;
+               }
+       }
+
+       internal class StructureFilterMapFuncWrapper {
+
+               public bool NativeCallback (uint field_id, IntPtr value, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (field_id, (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal StructureFilterMapFuncNative NativeDelegate;
+               Gst.StructureFilterMapFunc managed;
+
+               public StructureFilterMapFuncWrapper (Gst.StructureFilterMapFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new StructureFilterMapFuncNative (NativeCallback);
+               }
+
+               public static Gst.StructureFilterMapFunc GetManagedDelegate (StructureFilterMapFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       StructureFilterMapFuncWrapper wrapper = (StructureFilterMapFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.StructureForeachFuncNative.cs b/sources/generated/Gst_GstSharp.StructureForeachFuncNative.cs
new file mode 100644 (file)
index 0000000..174226c
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool StructureForeachFuncNative(uint field_id, IntPtr value, IntPtr user_data);
+
+       internal class StructureForeachFuncInvoker {
+
+               StructureForeachFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~StructureForeachFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal StructureForeachFuncInvoker (StructureForeachFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal StructureForeachFuncInvoker (StructureForeachFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal StructureForeachFuncInvoker (StructureForeachFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.StructureForeachFunc Handler {
+                       get {
+                               return new Gst.StructureForeachFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (uint field_id, GLib.Value value)
+               {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool __result = native_cb (field_id, native_value, __data);
+                       Marshal.FreeHGlobal (native_value);
+                       return __result;
+               }
+       }
+
+       internal class StructureForeachFuncWrapper {
+
+               public bool NativeCallback (uint field_id, IntPtr value, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (field_id, (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal StructureForeachFuncNative NativeDelegate;
+               Gst.StructureForeachFunc managed;
+
+               public StructureForeachFuncWrapper (Gst.StructureForeachFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new StructureForeachFuncNative (NativeCallback);
+               }
+
+               public static Gst.StructureForeachFunc GetManagedDelegate (StructureForeachFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       StructureForeachFuncWrapper wrapper = (StructureForeachFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.StructureMapFuncNative.cs b/sources/generated/Gst_GstSharp.StructureMapFuncNative.cs
new file mode 100644 (file)
index 0000000..d5fd871
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool StructureMapFuncNative(uint field_id, IntPtr value, IntPtr user_data);
+
+       internal class StructureMapFuncInvoker {
+
+               StructureMapFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~StructureMapFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal StructureMapFuncInvoker (StructureMapFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal StructureMapFuncInvoker (StructureMapFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal StructureMapFuncInvoker (StructureMapFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.StructureMapFunc Handler {
+                       get {
+                               return new Gst.StructureMapFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (uint field_id, GLib.Value value)
+               {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool __result = native_cb (field_id, native_value, __data);
+                       Marshal.FreeHGlobal (native_value);
+                       return __result;
+               }
+       }
+
+       internal class StructureMapFuncWrapper {
+
+               public bool NativeCallback (uint field_id, IntPtr value, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (field_id, (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal StructureMapFuncNative NativeDelegate;
+               Gst.StructureMapFunc managed;
+
+               public StructureMapFuncWrapper (Gst.StructureMapFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new StructureMapFuncNative (NativeCallback);
+               }
+
+               public static Gst.StructureMapFunc GetManagedDelegate (StructureMapFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       StructureMapFuncWrapper wrapper = (StructureMapFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.TagForeachFuncNative.cs b/sources/generated/Gst_GstSharp.TagForeachFuncNative.cs
new file mode 100644 (file)
index 0000000..779ff9b
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void TagForeachFuncNative(IntPtr list, IntPtr tag, IntPtr user_data);
+
+       internal class TagForeachFuncInvoker {
+
+               TagForeachFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~TagForeachFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal TagForeachFuncInvoker (TagForeachFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal TagForeachFuncInvoker (TagForeachFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal TagForeachFuncInvoker (TagForeachFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.TagForeachFunc Handler {
+                       get {
+                               return new Gst.TagForeachFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.TagList list, string tag)
+               {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       native_cb (list == null ? IntPtr.Zero : list.Handle, native_tag, __data);
+                       GLib.Marshaller.Free (native_tag);
+               }
+       }
+
+       internal class TagForeachFuncWrapper {
+
+               public void NativeCallback (IntPtr list, IntPtr tag, IntPtr user_data)
+               {
+                       try {
+                               managed (list == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (list, typeof (Gst.TagList), false), GLib.Marshaller.Utf8PtrToString (tag));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal TagForeachFuncNative NativeDelegate;
+               Gst.TagForeachFunc managed;
+
+               public TagForeachFuncWrapper (Gst.TagForeachFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new TagForeachFuncNative (NativeCallback);
+               }
+
+               public static Gst.TagForeachFunc GetManagedDelegate (TagForeachFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       TagForeachFuncWrapper wrapper = (TagForeachFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.TagMergeFuncNative.cs b/sources/generated/Gst_GstSharp.TagMergeFuncNative.cs
new file mode 100644 (file)
index 0000000..354f2f3
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void TagMergeFuncNative(IntPtr dest, IntPtr src);
+
+       internal class TagMergeFuncInvoker {
+
+               TagMergeFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~TagMergeFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal TagMergeFuncInvoker (TagMergeFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal TagMergeFuncInvoker (TagMergeFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal TagMergeFuncInvoker (TagMergeFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.TagMergeFunc Handler {
+                       get {
+                               return new Gst.TagMergeFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (GLib.Value dest, GLib.Value src)
+               {
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       native_cb (native_dest, native_src);
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_src);
+               }
+       }
+
+       internal class TagMergeFuncWrapper {
+
+               public void NativeCallback (IntPtr dest, IntPtr src)
+               {
+                       try {
+                               managed ((GLib.Value) Marshal.PtrToStructure (dest, typeof (GLib.Value)), (GLib.Value) Marshal.PtrToStructure (src, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal TagMergeFuncNative NativeDelegate;
+               Gst.TagMergeFunc managed;
+
+               public TagMergeFuncWrapper (Gst.TagMergeFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new TagMergeFuncNative (NativeCallback);
+               }
+
+               public static Gst.TagMergeFunc GetManagedDelegate (TagMergeFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       TagMergeFuncWrapper wrapper = (TagMergeFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.TaskFunctionNative.cs b/sources/generated/Gst_GstSharp.TaskFunctionNative.cs
new file mode 100644 (file)
index 0000000..cebda74
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void TaskFunctionNative(IntPtr user_data);
+
+       internal class TaskFunctionInvoker {
+
+               TaskFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~TaskFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal TaskFunctionInvoker (TaskFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal TaskFunctionInvoker (TaskFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal TaskFunctionInvoker (TaskFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.TaskFunction Handler {
+                       get {
+                               return new Gst.TaskFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative ()
+               {
+                       native_cb (__data);
+               }
+       }
+
+       internal class TaskFunctionWrapper {
+
+               public void NativeCallback (IntPtr user_data)
+               {
+                       try {
+                               managed ();
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal TaskFunctionNative NativeDelegate;
+               Gst.TaskFunction managed;
+
+               public TaskFunctionWrapper (Gst.TaskFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new TaskFunctionNative (NativeCallback);
+               }
+
+               public static Gst.TaskFunction GetManagedDelegate (TaskFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       TaskFunctionWrapper wrapper = (TaskFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.TaskPoolFunctionNative.cs b/sources/generated/Gst_GstSharp.TaskPoolFunctionNative.cs
new file mode 100644 (file)
index 0000000..501ab6e
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void TaskPoolFunctionNative(IntPtr user_data);
+
+       internal class TaskPoolFunctionInvoker {
+
+               TaskPoolFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~TaskPoolFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal TaskPoolFunctionInvoker (TaskPoolFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal TaskPoolFunctionInvoker (TaskPoolFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal TaskPoolFunctionInvoker (TaskPoolFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.TaskPoolFunction Handler {
+                       get {
+                               return new Gst.TaskPoolFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative ()
+               {
+                       native_cb (__data);
+               }
+       }
+
+       internal class TaskPoolFunctionWrapper {
+
+               public void NativeCallback (IntPtr user_data)
+               {
+                       try {
+                               managed ();
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal TaskPoolFunctionNative NativeDelegate;
+               Gst.TaskPoolFunction managed;
+
+               public TaskPoolFunctionWrapper (Gst.TaskPoolFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new TaskPoolFunctionNative (NativeCallback);
+               }
+
+               public static Gst.TaskPoolFunction GetManagedDelegate (TaskPoolFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       TaskPoolFunctionWrapper wrapper = (TaskPoolFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.TaskThreadFuncNative.cs b/sources/generated/Gst_GstSharp.TaskThreadFuncNative.cs
new file mode 100644 (file)
index 0000000..64da068
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void TaskThreadFuncNative(IntPtr task, out GLib.Thread thread, IntPtr user_data);
+
+       internal class TaskThreadFuncInvoker {
+
+               TaskThreadFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~TaskThreadFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal TaskThreadFuncInvoker (TaskThreadFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal TaskThreadFuncInvoker (TaskThreadFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal TaskThreadFuncInvoker (TaskThreadFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.TaskThreadFunc Handler {
+                       get {
+                               return new Gst.TaskThreadFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.Task task, out GLib.Thread thread)
+               {
+                       native_cb (task == null ? IntPtr.Zero : task.Handle, out thread, __data);
+               }
+       }
+
+       internal class TaskThreadFuncWrapper {
+
+               public void NativeCallback (IntPtr task, out GLib.Thread thread, IntPtr user_data)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(task) as Gst.Task, out thread);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal TaskThreadFuncNative NativeDelegate;
+               Gst.TaskThreadFunc managed;
+
+               public TaskThreadFuncWrapper (Gst.TaskThreadFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new TaskThreadFuncNative (NativeCallback);
+               }
+
+               public static Gst.TaskThreadFunc GetManagedDelegate (TaskThreadFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       TaskThreadFuncWrapper wrapper = (TaskThreadFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.TypeFindFunctionNative.cs b/sources/generated/Gst_GstSharp.TypeFindFunctionNative.cs
new file mode 100644 (file)
index 0000000..c3551e5
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void TypeFindFunctionNative(IntPtr find, IntPtr user_data);
+
+       internal class TypeFindFunctionInvoker {
+
+               TypeFindFunctionNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~TypeFindFunctionInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal TypeFindFunctionInvoker (TypeFindFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal TypeFindFunctionInvoker (TypeFindFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal TypeFindFunctionInvoker (TypeFindFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.TypeFindFunction Handler {
+                       get {
+                               return new Gst.TypeFindFunction(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.TypeFind find)
+               {
+                       native_cb (find == null ? IntPtr.Zero : find.Handle, __data);
+               }
+       }
+
+       internal class TypeFindFunctionWrapper {
+
+               public void NativeCallback (IntPtr find, IntPtr user_data)
+               {
+                       try {
+                               managed (find == IntPtr.Zero ? null : (Gst.TypeFind) GLib.Opaque.GetOpaque (find, typeof (Gst.TypeFind), false));
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal TypeFindFunctionNative NativeDelegate;
+               Gst.TypeFindFunction managed;
+
+               public TypeFindFunctionWrapper (Gst.TypeFindFunction managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new TypeFindFunctionNative (NativeCallback);
+               }
+
+               public static Gst.TypeFindFunction GetManagedDelegate (TypeFindFunctionNative native)
+               {
+                       if (native == null)
+                               return null;
+                       TypeFindFunctionWrapper wrapper = (TypeFindFunctionWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ValueCompareFuncNative.cs b/sources/generated/Gst_GstSharp.ValueCompareFuncNative.cs
new file mode 100644 (file)
index 0000000..4ec466a
--- /dev/null
@@ -0,0 +1,100 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int ValueCompareFuncNative(IntPtr value1, IntPtr value2);
+
+       internal class ValueCompareFuncInvoker {
+
+               ValueCompareFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ValueCompareFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ValueCompareFuncInvoker (ValueCompareFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ValueCompareFuncInvoker (ValueCompareFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ValueCompareFuncInvoker (ValueCompareFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ValueCompareFunc Handler {
+                       get {
+                               return new Gst.ValueCompareFunc(InvokeNative);
+                       }
+               }
+
+               int InvokeNative (GLib.Value value1, GLib.Value value2)
+               {
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       int __result = native_cb (native_value1, native_value2);
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return __result;
+               }
+       }
+
+       internal class ValueCompareFuncWrapper {
+
+               public int NativeCallback (IntPtr value1, IntPtr value2)
+               {
+                       try {
+                               int __ret = managed ((GLib.Value) Marshal.PtrToStructure (value1, typeof (GLib.Value)), (GLib.Value) Marshal.PtrToStructure (value2, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ValueCompareFuncNative NativeDelegate;
+               Gst.ValueCompareFunc managed;
+
+               public ValueCompareFuncWrapper (Gst.ValueCompareFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ValueCompareFuncNative (NativeCallback);
+               }
+
+               public static Gst.ValueCompareFunc GetManagedDelegate (ValueCompareFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ValueCompareFuncWrapper wrapper = (ValueCompareFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ValueDeserializeFuncNative.cs b/sources/generated/Gst_GstSharp.ValueDeserializeFuncNative.cs
new file mode 100644 (file)
index 0000000..323e5d3
--- /dev/null
@@ -0,0 +1,99 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool ValueDeserializeFuncNative(IntPtr dest, IntPtr s);
+
+       internal class ValueDeserializeFuncInvoker {
+
+               ValueDeserializeFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ValueDeserializeFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ValueDeserializeFuncInvoker (ValueDeserializeFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ValueDeserializeFuncInvoker (ValueDeserializeFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ValueDeserializeFuncInvoker (ValueDeserializeFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ValueDeserializeFunc Handler {
+                       get {
+                               return new Gst.ValueDeserializeFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (GLib.Value dest, string s)
+               {
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       IntPtr native_s = GLib.Marshaller.StringToPtrGStrdup (s);
+                       bool __result = native_cb (native_dest, native_s);
+                       Marshal.FreeHGlobal (native_dest);
+                       GLib.Marshaller.Free (native_s);
+                       return __result;
+               }
+       }
+
+       internal class ValueDeserializeFuncWrapper {
+
+               public bool NativeCallback (IntPtr dest, IntPtr s)
+               {
+                       try {
+                               bool __ret = managed ((GLib.Value) Marshal.PtrToStructure (dest, typeof (GLib.Value)), GLib.Marshaller.Utf8PtrToString (s));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ValueDeserializeFuncNative NativeDelegate;
+               Gst.ValueDeserializeFunc managed;
+
+               public ValueDeserializeFuncWrapper (Gst.ValueDeserializeFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ValueDeserializeFuncNative (NativeCallback);
+               }
+
+               public static Gst.ValueDeserializeFunc GetManagedDelegate (ValueDeserializeFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ValueDeserializeFuncWrapper wrapper = (ValueDeserializeFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_GstSharp.ValueSerializeFuncNative.cs b/sources/generated/Gst_GstSharp.ValueSerializeFuncNative.cs
new file mode 100644 (file)
index 0000000..8972911
--- /dev/null
@@ -0,0 +1,98 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GstSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate IntPtr ValueSerializeFuncNative(IntPtr value1);
+
+       internal class ValueSerializeFuncInvoker {
+
+               ValueSerializeFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~ValueSerializeFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal ValueSerializeFuncInvoker (ValueSerializeFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal ValueSerializeFuncInvoker (ValueSerializeFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal ValueSerializeFuncInvoker (ValueSerializeFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.ValueSerializeFunc Handler {
+                       get {
+                               return new Gst.ValueSerializeFunc(InvokeNative);
+                       }
+               }
+
+               string InvokeNative (GLib.Value value1)
+               {
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       string __result = GLib.Marshaller.PtrToStringGFree(native_cb (native_value1));
+                       Marshal.FreeHGlobal (native_value1);
+                       return __result;
+               }
+       }
+
+       internal class ValueSerializeFuncWrapper {
+
+               public IntPtr NativeCallback (IntPtr value1)
+               {
+                       try {
+                               string __ret = managed ((GLib.Value) Marshal.PtrToStructure (value1, typeof (GLib.Value)));
+                               if (release_on_call)
+                                       gch.Free ();
+                               return GLib.Marshaller.StringToPtrGStrdup(__ret);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal ValueSerializeFuncNative NativeDelegate;
+               Gst.ValueSerializeFunc managed;
+
+               public ValueSerializeFuncWrapper (Gst.ValueSerializeFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new ValueSerializeFuncNative (NativeCallback);
+               }
+
+               public static Gst.ValueSerializeFunc GetManagedDelegate (ValueSerializeFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       ValueSerializeFuncWrapper wrapper = (ValueSerializeFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_IChildProxy.cs b/sources/generated/Gst_IChildProxy.cs
new file mode 100644 (file)
index 0000000..8068b21
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IChildProxy : GLib.IWrapper {
+
+               event Gst.ChildRemovedEventHandler ChildRemovedEvent;
+               event Gst.ChildAddedEventHandler ChildAddedEvent;
+               void ChildAdded(GLib.Object child, string name);
+               void ChildRemoved(GLib.Object child, string name);
+               GLib.Object GetChildByIndex(uint index);
+               GLib.Object GetChildByName(string name);
+               uint ChildrenCount { 
+                       get;
+               }
+               bool Lookup(string name, out GLib.Object target, out IntPtr pspec);
+       }
+
+       [GLib.GInterface (typeof (ChildProxyAdapter))]
+       public partial interface IChildProxyImplementor : GLib.IWrapper {
+
+               GLib.Object GetChildByName (string name);
+               GLib.Object GetChildByIndex (uint index);
+               uint ChildrenCount { get; }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_IPreset.cs b/sources/generated/Gst_IPreset.cs
new file mode 100644 (file)
index 0000000..07aed46
--- /dev/null
@@ -0,0 +1,41 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IPreset : GLib.IWrapper {
+
+               bool DeletePreset(string name);
+               bool GetMeta(string name, string tag, out string value);
+               string[] PresetNames { 
+                       get;
+               }
+               string[] PropertyNames { 
+                       get;
+               }
+               bool IsEditable { 
+                       get;
+               }
+               bool LoadPreset(string name);
+               bool RenamePreset(string old_name, string new_name);
+               bool SavePreset(string name);
+               bool SetMeta(string name, string tag, string value);
+       }
+
+       [GLib.GInterface (typeof (PresetAdapter))]
+       public partial interface IPresetImplementor : GLib.IWrapper {
+
+               string[] PresetNames { get; }
+               string[] PropertyNames { get; }
+               bool LoadPreset (string name);
+               bool SavePreset (string name);
+               bool RenamePreset (string old_name, string new_name);
+               bool DeletePreset (string name);
+               bool SetMeta (string name, string tag, string value);
+               bool GetMeta (string name, string tag, out string value);
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ITagSetter.cs b/sources/generated/Gst_ITagSetter.cs
new file mode 100644 (file)
index 0000000..bfbbf99
--- /dev/null
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface ITagSetter : GLib.IWrapper {
+
+               void AddTagValue(Gst.TagMergeMode mode, string tag, GLib.Value value);
+               Gst.TagList TagList { 
+                       get;
+               }
+               Gst.TagMergeMode TagMergeMode { 
+                       get; set;
+               }
+               void MergeTags(Gst.TagList list, Gst.TagMergeMode mode);
+               void ResetTags();
+       }
+
+       [GLib.GInterface (typeof (TagSetterAdapter))]
+       public partial interface ITagSetterImplementor : GLib.IWrapper {
+
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ITocSetter.cs b/sources/generated/Gst_ITocSetter.cs
new file mode 100644 (file)
index 0000000..d700b4f
--- /dev/null
@@ -0,0 +1,22 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface ITocSetter : GLib.IWrapper {
+
+               Gst.Toc Toc { 
+                       get; set;
+               }
+               void Reset();
+       }
+
+       [GLib.GInterface (typeof (TocSetterAdapter))]
+       public partial interface ITocSetterImplementor : GLib.IWrapper {
+
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_IURIHandler.cs b/sources/generated/Gst_IURIHandler.cs
new file mode 100644 (file)
index 0000000..d1270ee
--- /dev/null
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+#region Autogenerated code
+       public partial interface IURIHandler : GLib.IWrapper {
+
+               string Uri { 
+                       get;
+               }
+               Gst.URIType UriType { 
+                       get;
+               }
+               bool SetUri(string uri);
+       }
+
+       [GLib.GInterface (typeof (URIHandlerAdapter))]
+       public partial interface IURIHandlerImplementor : GLib.IWrapper {
+
+               string Uri { get; }
+               bool SetUri (string uri);
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Int64Range.cs b/sources/generated/Gst_Int64Range.cs
new file mode 100644 (file)
index 0000000..32941b5
--- /dev/null
@@ -0,0 +1,45 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Int64Range : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_int64_range_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_int64_range_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public Int64Range(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Iterator.cs b/sources/generated/Gst_Iterator.cs
new file mode 100644 (file)
index 0000000..d2777b0
--- /dev/null
@@ -0,0 +1,423 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Iterator : GLib.Opaque, IEnumerable {
+
+               public Gst.IteratorCopyFunction CopyFunc {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("copy"));
+                                        GstSharp.IteratorCopyFunctionNative del = (GstSharp.IteratorCopyFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.IteratorCopyFunctionNative));
+                                       return GstSharp.IteratorCopyFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       GstSharp.IteratorCopyFunctionWrapper wrapper = new GstSharp.IteratorCopyFunctionWrapper (value);
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("copy"));
+                                       *raw_ptr = Marshal.GetFunctionPointerForDelegate (wrapper.NativeDelegate);
+                               }
+                       }
+               }
+
+               public Gst.IteratorNextFunction NextFunc {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("next"));
+                                        GstSharp.IteratorNextFunctionNative del = (GstSharp.IteratorNextFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.IteratorNextFunctionNative));
+                                       return GstSharp.IteratorNextFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       GstSharp.IteratorNextFunctionWrapper wrapper = new GstSharp.IteratorNextFunctionWrapper (value);
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("next"));
+                                       *raw_ptr = Marshal.GetFunctionPointerForDelegate (wrapper.NativeDelegate);
+                               }
+                       }
+               }
+
+               public Gst.IteratorItemFunction Item {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("item"));
+                                        GstSharp.IteratorItemFunctionNative del = (GstSharp.IteratorItemFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.IteratorItemFunctionNative));
+                                       return GstSharp.IteratorItemFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       GstSharp.IteratorItemFunctionWrapper wrapper = new GstSharp.IteratorItemFunctionWrapper (value);
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("item"));
+                                       *raw_ptr = Marshal.GetFunctionPointerForDelegate (wrapper.NativeDelegate);
+                               }
+                       }
+               }
+
+               public Gst.IteratorResyncFunction ResyncFunc {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("resync"));
+                                        GstSharp.IteratorResyncFunctionNative del = (GstSharp.IteratorResyncFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.IteratorResyncFunctionNative));
+                                       return GstSharp.IteratorResyncFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       GstSharp.IteratorResyncFunctionWrapper wrapper = new GstSharp.IteratorResyncFunctionWrapper (value);
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("resync"));
+                                       *raw_ptr = Marshal.GetFunctionPointerForDelegate (wrapper.NativeDelegate);
+                               }
+                       }
+               }
+
+               public Gst.IteratorFreeFunction FreeFunc {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("free"));
+                                        GstSharp.IteratorFreeFunctionNative del = (GstSharp.IteratorFreeFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.IteratorFreeFunctionNative));
+                                       return GstSharp.IteratorFreeFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       GstSharp.IteratorFreeFunctionWrapper wrapper = new GstSharp.IteratorFreeFunctionWrapper (value);
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("free"));
+                                       *raw_ptr = Marshal.GetFunctionPointerForDelegate (wrapper.NativeDelegate);
+                               }
+                       }
+               }
+
+               public Gst.Iterator Pushed {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("pushed"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Iterator), false);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("pushed"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               public GLib.GType Type {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return new GLib.GType((*raw_ptr));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = value.Val;
+                               }
+                       }
+               }
+
+               public GLib.Mutex Lock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("lock"));
+                                       return new GLib.Mutex((*raw_ptr));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("lock"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               public uint Cookie {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("cookie"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("cookie"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public uint MasterCookie {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("master_cookie"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("master_cookie"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public uint Size {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_iterator_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_iterator_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_iterator_copy(IntPtr raw);
+
+               public Gst.Iterator Copy() {
+                       IntPtr raw_ret = gst_iterator_copy(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_iterator_fold(IntPtr raw, GstSharp.IteratorFoldFunctionNative func, IntPtr _ret, IntPtr user_data);
+
+               public Gst.IteratorResult Fold(Gst.IteratorFoldFunction func, GLib.Value _ret) {
+                       GstSharp.IteratorFoldFunctionWrapper func_wrapper = new GstSharp.IteratorFoldFunctionWrapper (func);
+                       IntPtr native__ret = GLib.Marshaller.StructureToPtrAlloc (_ret);
+                       int raw_ret = gst_iterator_fold(Handle, func_wrapper.NativeDelegate, native__ret, IntPtr.Zero);
+                       Gst.IteratorResult ret = (Gst.IteratorResult) raw_ret;
+                       Marshal.FreeHGlobal (native__ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_iterator_foreach(IntPtr raw, GstSharp.IteratorForeachFunctionNative func, IntPtr user_data);
+
+               public Gst.IteratorResult Foreach(Gst.IteratorForeachFunction func) {
+                       GstSharp.IteratorForeachFunctionWrapper func_wrapper = new GstSharp.IteratorForeachFunctionWrapper (func);
+                       int raw_ret = gst_iterator_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       Gst.IteratorResult ret = (Gst.IteratorResult) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_iterator_push(IntPtr raw, IntPtr other);
+
+               public void Push(Gst.Iterator other) {
+                       gst_iterator_push(Handle, other == null ? IntPtr.Zero : other.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_iterator_resync(IntPtr raw);
+
+               public void Resync() {
+                       gst_iterator_resync(Handle);
+               }
+
+               public Iterator(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_iterator_new_single(IntPtr type, IntPtr _object);
+
+               public Iterator (GLib.GType type, GLib.Value _object) 
+               {
+                       IntPtr native__object = GLib.Marshaller.StructureToPtrAlloc (_object);
+                       Raw = gst_iterator_new_single(type.Val, native__object);
+                       Marshal.FreeHGlobal (native__object);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_iterator_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_iterator_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_iterator_free (handle);
+                               return false;
+                       }
+               }
+
+               ~Iterator ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("copy"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // copy
+                                                       , null
+                                                       , "next"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("next"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // next
+                                                       , "copy"
+                                                       , "item"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("item"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // item
+                                                       , "next"
+                                                       , "resync"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("resync"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // resync
+                                                       , "item"
+                                                       , "free"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("free"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // free
+                                                       , "resync"
+                                                       , "pushed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pushed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pushed
+                                                       , "free"
+                                                       , "type"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("type"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.GType)) // type
+                                                       , "pushed"
+                                                       , "lock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstIterator_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lock
+                                                       , "type"
+                                                       , "cookie"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cookie"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // cookie
+                                                       , "lock"
+                                                       , "master_cookie"
+                                                       , (long) Marshal.OffsetOf(typeof(GstIterator_cookieAlign), "cookie")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("master_cookie"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // master_cookie
+                                                       , "cookie"
+                                                       , "size"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // size
+                                                       , "master_cookie"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstIterator_sizeAlign), "size")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "size"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstIterator_typeAlign
+               {
+                       sbyte f1;
+                       private GLib.GType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstIterator_cookieAlign
+               {
+                       sbyte f1;
+                       private uint cookie;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstIterator_sizeAlign
+               {
+                       sbyte f1;
+                       private uint size;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_IteratorCopyFunction.cs b/sources/generated/Gst_IteratorCopyFunction.cs
new file mode 100644 (file)
index 0000000..5176fbd
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void IteratorCopyFunction(Gst.Iterator it, Gst.Iterator copy);
+
+}
diff --git a/sources/generated/Gst_IteratorFoldFunction.cs b/sources/generated/Gst_IteratorFoldFunction.cs
new file mode 100644 (file)
index 0000000..55208b9
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool IteratorFoldFunction(GLib.Value item, GLib.Value _ret);
+
+}
diff --git a/sources/generated/Gst_IteratorForeachFunction.cs b/sources/generated/Gst_IteratorForeachFunction.cs
new file mode 100644 (file)
index 0000000..8aaeb9f
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void IteratorForeachFunction(GLib.Value item);
+
+}
diff --git a/sources/generated/Gst_IteratorFreeFunction.cs b/sources/generated/Gst_IteratorFreeFunction.cs
new file mode 100644 (file)
index 0000000..050e817
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void IteratorFreeFunction(Gst.Iterator it);
+
+}
diff --git a/sources/generated/Gst_IteratorItem.cs b/sources/generated/Gst_IteratorItem.cs
new file mode 100644 (file)
index 0000000..a054fb1
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.IteratorItemGType))]
+       public enum IteratorItem {
+
+               Skip = 0,
+               Pass = 1,
+               End = 2,
+       }
+
+       internal class IteratorItemGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_iterator_item_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_iterator_item_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_IteratorItemFunction.cs b/sources/generated/Gst_IteratorItemFunction.cs
new file mode 100644 (file)
index 0000000..18b34c6
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.IteratorItem IteratorItemFunction(Gst.Iterator it, GLib.Value item);
+
+}
diff --git a/sources/generated/Gst_IteratorNextFunction.cs b/sources/generated/Gst_IteratorNextFunction.cs
new file mode 100644 (file)
index 0000000..f308eaa
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.IteratorResult IteratorNextFunction(Gst.Iterator it, GLib.Value _result);
+
+}
diff --git a/sources/generated/Gst_IteratorResult.cs b/sources/generated/Gst_IteratorResult.cs
new file mode 100644 (file)
index 0000000..14c9c1f
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.IteratorResultGType))]
+       public enum IteratorResult {
+
+               Done = 0,
+               Ok = 1,
+               Resync = 2,
+               Error = 3,
+       }
+
+       internal class IteratorResultGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_iterator_result_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_iterator_result_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_IteratorResyncFunction.cs b/sources/generated/Gst_IteratorResyncFunction.cs
new file mode 100644 (file)
index 0000000..809a007
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void IteratorResyncFunction(Gst.Iterator it);
+
+}
diff --git a/sources/generated/Gst_LibraryError.cs b/sources/generated/Gst_LibraryError.cs
new file mode 100644 (file)
index 0000000..3d13eca
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.LibraryErrorGType))]
+       public enum LibraryError {
+
+               Failed = 1,
+               TooLazy = 2,
+               Init = 3,
+               Shutdown = 4,
+               Settings = 5,
+               Encode = 6,
+               NumErrors = 7,
+       }
+
+       internal class LibraryErrorGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_library_error_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_library_error_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_LinkedHandler.cs b/sources/generated/Gst_LinkedHandler.cs
new file mode 100644 (file)
index 0000000..798811f
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void LinkedHandler(object o, LinkedArgs args);
+
+       public class LinkedArgs : GLib.SignalArgs {
+               public Gst.Pad Peer{
+                       get {
+                               return (Gst.Pad) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_LockFlags.cs b/sources/generated/Gst_LockFlags.cs
new file mode 100644 (file)
index 0000000..912d3ef
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.LockFlagsGType))]
+       public enum LockFlags {
+
+               Read = 1,
+               Write = 2,
+               Exclusive = 4,
+               Last = 256,
+       }
+
+       internal class LockFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_lock_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_lock_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_LogFunction.cs b/sources/generated/Gst_LogFunction.cs
new file mode 100644 (file)
index 0000000..972b418
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void LogFunction(Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object _object, Gst.DebugMessage message);
+
+}
diff --git a/sources/generated/Gst_MapFlags.cs b/sources/generated/Gst_MapFlags.cs
new file mode 100644 (file)
index 0000000..64bc24e
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.MapFlagsGType))]
+       public enum MapFlags {
+
+               Read = 1,
+               Write = 2,
+               FlagLast = 65536,
+       }
+
+       internal class MapFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_map_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_map_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_MapInfo.cs b/sources/generated/Gst_MapInfo.cs
new file mode 100644 (file)
index 0000000..3a3816a
--- /dev/null
@@ -0,0 +1,77 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MapInfo : IEquatable<MapInfo> {
+
+               private IntPtr _memory;
+               public Gst.Memory Memory {
+                       get {
+                               return _memory == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (_memory, typeof (Gst.Memory), false);
+                       }
+                       set {
+                               _memory = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public Gst.MapFlags Flags;
+               private IntPtr _data;
+               private UIntPtr size;
+               public ulong Size {
+                       get {
+                               return (ulong) size;
+                       }
+                       set {
+                               size = new UIntPtr (value);
+                       }
+               }
+               private UIntPtr maxsize;
+               public ulong Maxsize {
+                       get {
+                               return (ulong) maxsize;
+                       }
+                       set {
+                               maxsize = new UIntPtr (value);
+                       }
+               }
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               public IntPtr[] UserData;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.MapInfo Zero = new Gst.MapInfo ();
+
+               public static Gst.MapInfo New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.MapInfo.Zero;
+                       return (Gst.MapInfo) Marshal.PtrToStructure (raw, typeof (Gst.MapInfo));
+               }
+
+               public bool Equals (MapInfo other)
+               {
+                       return true && Memory.Equals (other.Memory) && Flags.Equals (other.Flags) && _data.Equals (other._data) && Size.Equals (other.Size) && Maxsize.Equals (other.Maxsize) && UserData.Equals (other.UserData);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MapInfo && Equals ((MapInfo) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Memory.GetHashCode () ^ Flags.GetHashCode () ^ _data.GetHashCode () ^ Size.GetHashCode () ^ Maxsize.GetHashCode () ^ UserData.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Memory.cs b/sources/generated/Gst_Memory.cs
new file mode 100644 (file)
index 0000000..5cf55be
--- /dev/null
@@ -0,0 +1,306 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Memory : Gst.MiniObject {
+
+               public Gst.Allocator Allocator {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("allocator"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Allocator;
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("allocator"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               public Gst.Memory Parent {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("parent"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Memory), false);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("parent"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               public ulong Maxsize {
+                       get {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("maxsize"));
+                                       return (ulong) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("maxsize"));
+                                       *raw_ptr = new UIntPtr (value);
+                               }
+                       }
+               }
+
+               public ulong Align {
+                       get {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("align"));
+                                       return (ulong) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("align"));
+                                       *raw_ptr = new UIntPtr (value);
+                               }
+                       }
+               }
+
+               public ulong Offset {
+                       get {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("offset"));
+                                       return (ulong) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("offset"));
+                                       *raw_ptr = new UIntPtr (value);
+                               }
+                       }
+               }
+
+               public ulong Size {
+                       get {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       return (ulong) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       UIntPtr* raw_ptr = (UIntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("size"));
+                                       *raw_ptr = new UIntPtr (value);
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_memory_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_memory_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_memory_copy(IntPtr raw, IntPtr offset, IntPtr size);
+
+               public Gst.Memory Copy(long offset, long size) {
+                       IntPtr raw_ret = gst_memory_copy(Handle, new IntPtr (offset), new IntPtr (size));
+                       Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Memory), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_memory_get_sizes(IntPtr raw, UIntPtr offset, UIntPtr maxsize);
+
+               public ulong GetSizes(ulong offset, ulong maxsize) {
+                       UIntPtr raw_ret = gst_memory_get_sizes(Handle, new UIntPtr (offset), new UIntPtr (maxsize));
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_memory_is_span(IntPtr raw, IntPtr mem2, UIntPtr offset);
+
+               public bool IsSpan(Gst.Memory mem2, ulong offset) {
+                       bool raw_ret = gst_memory_is_span(Handle, mem2 == null ? IntPtr.Zero : mem2.Handle, new UIntPtr (offset));
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_memory_is_type(IntPtr raw, IntPtr mem_type);
+
+               public bool IsType(string mem_type) {
+                       IntPtr native_mem_type = GLib.Marshaller.StringToPtrGStrdup (mem_type);
+                       bool raw_ret = gst_memory_is_type(Handle, native_mem_type);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_mem_type);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_memory_make_mapped(IntPtr raw, IntPtr info, int flags);
+
+               public Gst.Memory MakeMapped(out Gst.MapInfo info, Gst.MapFlags flags) {
+                       IntPtr native_info = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.MapInfo)));
+                       IntPtr raw_ret = gst_memory_make_mapped(Handle, native_info, (int) flags);
+                       Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Memory), true);
+                       info = Gst.MapInfo.New (native_info);
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_memory_map(IntPtr raw, IntPtr info, int flags);
+
+               public bool Map(out Gst.MapInfo info, Gst.MapFlags flags) {
+                       IntPtr native_info = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.MapInfo)));
+                       bool raw_ret = gst_memory_map(Handle, native_info, (int) flags);
+                       bool ret = raw_ret;
+                       info = Gst.MapInfo.New (native_info);
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_memory_resize(IntPtr raw, IntPtr offset, UIntPtr size);
+
+               public void Resize(long offset, ulong size) {
+                       gst_memory_resize(Handle, new IntPtr (offset), new UIntPtr (size));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_memory_share(IntPtr raw, IntPtr offset, IntPtr size);
+
+               public Gst.Memory Share(long offset, long size) {
+                       IntPtr raw_ret = gst_memory_share(Handle, new IntPtr (offset), new IntPtr (size));
+                       Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Memory), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_memory_unmap(IntPtr raw, IntPtr info);
+
+               public void Unmap(Gst.MapInfo info) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       gst_memory_unmap(Handle, native_info);
+                       Marshal.FreeHGlobal (native_info);
+               }
+
+               public Memory(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_memory_new_wrapped(int flags, byte[] data, UIntPtr maxsize, UIntPtr offset, UIntPtr size, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Memory (Gst.MemoryFlags flags, byte[] data, ulong maxsize, ulong offset, ulong size, IntPtr user_data, GLib.DestroyNotify notify) 
+               {
+                       Raw = gst_memory_new_wrapped((int) flags, data, new UIntPtr (maxsize), new UIntPtr (offset), new UIntPtr (size), user_data, notify);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("allocator"
+                                                       , Gst.MiniObject.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // allocator
+                                                       , null
+                                                       , "parent"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("parent"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // parent
+                                                       , "allocator"
+                                                       , "maxsize"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("maxsize"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // maxsize
+                                                       , "parent"
+                                                       , "align"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMemory_maxsizeAlign), "maxsize")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("align"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // align
+                                                       , "maxsize"
+                                                       , "offset"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMemory_alignAlign), "align")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("offset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // offset
+                                                       , "align"
+                                                       , "size"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMemory_offsetAlign), "offset")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("size"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // size
+                                                       , "offset"
+                                                       , null
+                                                       , (long) Marshal.OffsetOf(typeof(GstMemory_sizeAlign), "size")
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMemory_maxsizeAlign
+               {
+                       sbyte f1;
+                       private UIntPtr maxsize;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMemory_alignAlign
+               {
+                       sbyte f1;
+                       private UIntPtr align;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMemory_offsetAlign
+               {
+                       sbyte f1;
+                       private UIntPtr offset;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMemory_sizeAlign
+               {
+                       sbyte f1;
+                       private UIntPtr size;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_MemoryCopyFunction.cs b/sources/generated/Gst_MemoryCopyFunction.cs
new file mode 100644 (file)
index 0000000..40c9774
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.Memory MemoryCopyFunction(Gst.Memory mem, long offset, long size);
+
+}
diff --git a/sources/generated/Gst_MemoryFlags.cs b/sources/generated/Gst_MemoryFlags.cs
new file mode 100644 (file)
index 0000000..ce73a58
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.MemoryFlagsGType))]
+       public enum MemoryFlags {
+
+               Readonly = 2,
+               NoShare = 16,
+               ZeroPrefixed = 32,
+               ZeroPadded = 64,
+               PhysicallyContiguous = 128,
+               NotMappable = 256,
+               Last = 1048576,
+       }
+
+       internal class MemoryFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_memory_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_memory_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_MemoryIsSpanFunction.cs b/sources/generated/Gst_MemoryIsSpanFunction.cs
new file mode 100644 (file)
index 0000000..e295ef4
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool MemoryIsSpanFunction(Gst.Memory mem1, Gst.Memory mem2, ulong offset);
+
+}
diff --git a/sources/generated/Gst_MemoryMapFullFunction.cs b/sources/generated/Gst_MemoryMapFullFunction.cs
new file mode 100644 (file)
index 0000000..08b37b5
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate IntPtr MemoryMapFullFunction(Gst.Memory mem, Gst.MapInfo info, ulong maxsize);
+
+}
diff --git a/sources/generated/Gst_MemoryMapFunction.cs b/sources/generated/Gst_MemoryMapFunction.cs
new file mode 100644 (file)
index 0000000..28cf5cb
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate IntPtr MemoryMapFunction(Gst.Memory mem, ulong maxsize, Gst.MapFlags flags);
+
+}
diff --git a/sources/generated/Gst_MemoryShareFunction.cs b/sources/generated/Gst_MemoryShareFunction.cs
new file mode 100644 (file)
index 0000000..fea313a
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.Memory MemoryShareFunction(Gst.Memory mem, long offset, long size);
+
+}
diff --git a/sources/generated/Gst_MemoryUnmapFullFunction.cs b/sources/generated/Gst_MemoryUnmapFullFunction.cs
new file mode 100644 (file)
index 0000000..9346445
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void MemoryUnmapFullFunction(Gst.Memory mem, Gst.MapInfo info);
+
+}
diff --git a/sources/generated/Gst_MemoryUnmapFunction.cs b/sources/generated/Gst_MemoryUnmapFunction.cs
new file mode 100644 (file)
index 0000000..44e8e68
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void MemoryUnmapFunction(Gst.Memory mem);
+
+}
diff --git a/sources/generated/Gst_Message.cs b/sources/generated/Gst_Message.cs
new file mode 100644 (file)
index 0000000..a209310
--- /dev/null
@@ -0,0 +1,1035 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Message : Gst.MiniObject {
+
+               public Gst.MessageType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (Gst.MessageType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public ulong Timestamp {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("timestamp"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("timestamp"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public Gst.Object Src {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("src"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Object;
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("src"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_message_get_seqnum(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_set_seqnum(IntPtr raw, uint seqnum);
+
+               public uint Seqnum {
+                       get  {
+                               uint raw_ret = gst_message_get_seqnum(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_message_set_seqnum(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_message_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_add_redirect_entry(IntPtr raw, IntPtr location, IntPtr tag_list, IntPtr entry_struct);
+
+               public void AddRedirectEntry(string location, Gst.TagList tag_list, Gst.Structure entry_struct) {
+                       IntPtr native_location = GLib.Marshaller.StringToPtrGStrdup (location);
+                       tag_list.Owned = false;
+                       entry_struct.Owned = false;
+                       gst_message_add_redirect_entry(Handle, native_location, tag_list == null ? IntPtr.Zero : tag_list.Handle, entry_struct == null ? IntPtr.Zero : entry_struct.Handle);
+                       GLib.Marshaller.Free (native_location);
+               }
+
+               public void AddRedirectEntry(string location) {
+                       AddRedirectEntry (location, null, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_message_get_num_redirect_entries(IntPtr raw);
+
+               public ulong NumRedirectEntries { 
+                       get {
+                               UIntPtr raw_ret = gst_message_get_num_redirect_entries(Handle);
+                               ulong ret = (ulong) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_get_structure(IntPtr raw);
+
+               public Gst.Structure Structure { 
+                       get {
+                               IntPtr raw_ret = gst_message_get_structure(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_message_has_name(IntPtr raw, IntPtr name);
+
+               public bool HasName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_message_has_name(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_async_done(IntPtr raw, out ulong running_time);
+
+               public ulong ParseAsyncDone() {
+                       ulong running_time;
+                       gst_message_parse_async_done(Handle, out running_time);
+                       return running_time;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_buffering(IntPtr raw, out int percent);
+
+               public int ParseBuffering() {
+                       int percent;
+                       gst_message_parse_buffering(Handle, out percent);
+                       return percent;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_buffering_stats(IntPtr raw, out int mode, out int avg_in, out int avg_out, out long buffering_left);
+
+               public void ParseBufferingStats(out Gst.BufferingMode mode, out int avg_in, out int avg_out, out long buffering_left) {
+                       int native_mode;
+                       gst_message_parse_buffering_stats(Handle, out native_mode, out avg_in, out avg_out, out buffering_left);
+                       mode = (Gst.BufferingMode) native_mode;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_clock_lost(IntPtr raw, out IntPtr clock);
+
+               public Gst.Clock ParseClockLost() {
+                       Gst.Clock clock;
+                       IntPtr native_clock;
+                       gst_message_parse_clock_lost(Handle, out native_clock);
+                       clock = GLib.Object.GetObject(native_clock) as Gst.Clock;
+                       return clock;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_clock_provide(IntPtr raw, out IntPtr clock, out bool ready);
+
+               public void ParseClockProvide(out Gst.Clock clock, out bool ready) {
+                       IntPtr native_clock;
+                       gst_message_parse_clock_provide(Handle, out native_clock, out ready);
+                       clock = GLib.Object.GetObject(native_clock) as Gst.Clock;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_message_parse_context_type(IntPtr raw, out IntPtr context_type);
+
+               public bool ParseContextType(out string context_type) {
+                       IntPtr native_context_type;
+                       bool raw_ret = gst_message_parse_context_type(Handle, out native_context_type);
+                       bool ret = raw_ret;
+                       context_type = GLib.Marshaller.PtrToStringGFree(native_context_type);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_device_added(IntPtr raw, out IntPtr device);
+
+               public Gst.Device ParseDeviceAdded() {
+                       Gst.Device device;
+                       IntPtr native_device;
+                       gst_message_parse_device_added(Handle, out native_device);
+                       device = GLib.Object.GetObject(native_device, true) as Gst.Device;
+                       return device;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_device_removed(IntPtr raw, out IntPtr device);
+
+               public Gst.Device ParseDeviceRemoved() {
+                       Gst.Device device;
+                       IntPtr native_device;
+                       gst_message_parse_device_removed(Handle, out native_device);
+                       device = GLib.Object.GetObject(native_device, true) as Gst.Device;
+                       return device;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_error_details(IntPtr raw, out IntPtr structure);
+
+               public Gst.Structure ParseErrorDetails() {
+                       Gst.Structure structure;
+                       IntPtr native_structure;
+                       gst_message_parse_error_details(Handle, out native_structure);
+                       structure = native_structure == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (native_structure, typeof (Gst.Structure), true);
+                       return structure;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_message_parse_group_id(IntPtr raw, out uint group_id);
+
+               public bool ParseGroupId(out uint group_id) {
+                       bool raw_ret = gst_message_parse_group_id(Handle, out group_id);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_have_context(IntPtr raw, IntPtr context);
+
+               public Gst.Context ParseHaveContext() {
+                       Gst.Context context;
+                       IntPtr native_context = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Context)));
+                       gst_message_parse_have_context(Handle, native_context);
+                       context = Gst.Context.New (native_context);
+                       Marshal.FreeHGlobal (native_context);
+                       return context;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_info(IntPtr raw, out IntPtr gerror, out IntPtr debug);
+
+               public void ParseInfo(out IntPtr gerror, out string debug) {
+                       IntPtr native_debug;
+                       gst_message_parse_info(Handle, out gerror, out native_debug);
+                       debug = GLib.Marshaller.PtrToStringGFree(native_debug);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_info_details(IntPtr raw, out IntPtr structure);
+
+               public Gst.Structure ParseInfoDetails() {
+                       Gst.Structure structure;
+                       IntPtr native_structure;
+                       gst_message_parse_info_details(Handle, out native_structure);
+                       structure = native_structure == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (native_structure, typeof (Gst.Structure), true);
+                       return structure;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_new_clock(IntPtr raw, out IntPtr clock);
+
+               public Gst.Clock ParseNewClock() {
+                       Gst.Clock clock;
+                       IntPtr native_clock;
+                       gst_message_parse_new_clock(Handle, out native_clock);
+                       clock = GLib.Object.GetObject(native_clock) as Gst.Clock;
+                       return clock;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_progress(IntPtr raw, out int type, out IntPtr code, out IntPtr text);
+
+               public void ParseProgress(out Gst.ProgressType type, out string code, out string text) {
+                       int native_type;
+                       IntPtr native_code;
+                       IntPtr native_text;
+                       gst_message_parse_progress(Handle, out native_type, out native_code, out native_text);
+                       type = (Gst.ProgressType) native_type;
+                       code = GLib.Marshaller.PtrToStringGFree(native_code);
+                       text = GLib.Marshaller.PtrToStringGFree(native_text);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_property_notify(IntPtr raw, out IntPtr _object, out IntPtr property_name, IntPtr property_value);
+
+               public void ParsePropertyNotify(out Gst.Object _object, out string property_name, out GLib.Value property_value) {
+                       IntPtr native__object;
+                       IntPtr native_property_name;
+                       IntPtr native_property_value = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       gst_message_parse_property_notify(Handle, out native__object, out native_property_name, native_property_value);
+                       _object = GLib.Object.GetObject(native__object) as Gst.Object;
+                       property_name = GLib.Marshaller.PtrToStringGFree(native_property_name);
+                       property_value = (GLib.Value) Marshal.PtrToStructure (native_property_value, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_property_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_qos(IntPtr raw, out bool live, out ulong running_time, out ulong stream_time, out ulong timestamp, out ulong duration);
+
+               public void ParseQos(out bool live, out ulong running_time, out ulong stream_time, out ulong timestamp, out ulong duration) {
+                       gst_message_parse_qos(Handle, out live, out running_time, out stream_time, out timestamp, out duration);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_qos_stats(IntPtr raw, out int format, out ulong processed, out ulong dropped);
+
+               public void ParseQosStats(out Gst.Format format, out ulong processed, out ulong dropped) {
+                       int native_format;
+                       gst_message_parse_qos_stats(Handle, out native_format, out processed, out dropped);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_qos_values(IntPtr raw, out long jitter, out double proportion, out int quality);
+
+               public void ParseQosValues(out long jitter, out double proportion, out int quality) {
+                       gst_message_parse_qos_values(Handle, out jitter, out proportion, out quality);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_redirect_entry(IntPtr raw, UIntPtr entry_index, out IntPtr location, out IntPtr tag_list, out IntPtr entry_struct);
+
+               public void ParseRedirectEntry(ulong entry_index, out string location, out Gst.TagList tag_list, out Gst.Structure entry_struct) {
+                       IntPtr native_location;
+                       IntPtr native_tag_list;
+                       IntPtr native_entry_struct;
+                       gst_message_parse_redirect_entry(Handle, new UIntPtr (entry_index), out native_location, out native_tag_list, out native_entry_struct);
+                       location = GLib.Marshaller.Utf8PtrToString (native_location);
+                       tag_list = native_tag_list == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (native_tag_list, typeof (Gst.TagList), false);
+                       entry_struct = native_entry_struct == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (native_entry_struct, typeof (Gst.Structure), false);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_request_state(IntPtr raw, out int state);
+
+               public Gst.State ParseRequestState() {
+                       Gst.State state;
+                       int native_state;
+                       gst_message_parse_request_state(Handle, out native_state);
+                       state = (Gst.State) native_state;
+                       return state;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_reset_time(IntPtr raw, out ulong running_time);
+
+               public ulong ParseResetTime() {
+                       ulong running_time;
+                       gst_message_parse_reset_time(Handle, out running_time);
+                       return running_time;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_segment_done(IntPtr raw, out int format, out long position);
+
+               public void ParseSegmentDone(out Gst.Format format, out long position) {
+                       int native_format;
+                       gst_message_parse_segment_done(Handle, out native_format, out position);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_segment_start(IntPtr raw, out int format, out long position);
+
+               public void ParseSegmentStart(out Gst.Format format, out long position) {
+                       int native_format;
+                       gst_message_parse_segment_start(Handle, out native_format, out position);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_state_changed(IntPtr raw, out int oldstate, out int newstate, out int pending);
+
+               public void ParseStateChanged(out Gst.State oldstate, out Gst.State newstate, out Gst.State pending) {
+                       int native_oldstate;
+                       int native_newstate;
+                       int native_pending;
+                       gst_message_parse_state_changed(Handle, out native_oldstate, out native_newstate, out native_pending);
+                       oldstate = (Gst.State) native_oldstate;
+                       newstate = (Gst.State) native_newstate;
+                       pending = (Gst.State) native_pending;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_step_done(IntPtr raw, out int format, out ulong amount, out double rate, out bool flush, out bool intermediate, out ulong duration, out bool eos);
+
+               public void ParseStepDone(out Gst.Format format, out ulong amount, out double rate, out bool flush, out bool intermediate, out ulong duration, out bool eos) {
+                       int native_format;
+                       gst_message_parse_step_done(Handle, out native_format, out amount, out rate, out flush, out intermediate, out duration, out eos);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_step_start(IntPtr raw, out bool active, out int format, out ulong amount, out double rate, out bool flush, out bool intermediate);
+
+               public void ParseStepStart(out bool active, out Gst.Format format, out ulong amount, out double rate, out bool flush, out bool intermediate) {
+                       int native_format;
+                       gst_message_parse_step_start(Handle, out active, out native_format, out amount, out rate, out flush, out intermediate);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_stream_collection(IntPtr raw, out IntPtr collection);
+
+               public Gst.StreamCollection ParseStreamCollection() {
+                       Gst.StreamCollection collection;
+                       IntPtr native_collection;
+                       gst_message_parse_stream_collection(Handle, out native_collection);
+                       collection = GLib.Object.GetObject(native_collection, true) as Gst.StreamCollection;
+                       return collection;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_stream_status(IntPtr raw, out int type, out IntPtr owner);
+
+               public void ParseStreamStatus(out Gst.StreamStatusType type, out Gst.Element owner) {
+                       int native_type;
+                       IntPtr native_owner;
+                       gst_message_parse_stream_status(Handle, out native_type, out native_owner);
+                       type = (Gst.StreamStatusType) native_type;
+                       owner = GLib.Object.GetObject(native_owner) as Gst.Element;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_streams_selected(IntPtr raw, out IntPtr collection);
+
+               public Gst.StreamCollection ParseStreamsSelected() {
+                       Gst.StreamCollection collection;
+                       IntPtr native_collection;
+                       gst_message_parse_streams_selected(Handle, out native_collection);
+                       collection = GLib.Object.GetObject(native_collection, true) as Gst.StreamCollection;
+                       return collection;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_structure_change(IntPtr raw, out int type, out IntPtr owner, out bool busy);
+
+               public void ParseStructureChange(out Gst.StructureChangeType type, out Gst.Element owner, out bool busy) {
+                       int native_type;
+                       IntPtr native_owner;
+                       gst_message_parse_structure_change(Handle, out native_type, out native_owner, out busy);
+                       type = (Gst.StructureChangeType) native_type;
+                       owner = GLib.Object.GetObject(native_owner) as Gst.Element;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_tag(IntPtr raw, out IntPtr tag_list);
+
+               public Gst.TagList ParseTag() {
+                       Gst.TagList tag_list;
+                       IntPtr native_tag_list;
+                       gst_message_parse_tag(Handle, out native_tag_list);
+                       tag_list = native_tag_list == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (native_tag_list, typeof (Gst.TagList), true);
+                       return tag_list;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_toc(IntPtr raw, IntPtr toc, out bool updated);
+
+               public void ParseToc(out Gst.Toc toc, out bool updated) {
+                       IntPtr native_toc = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Toc)));
+                       gst_message_parse_toc(Handle, native_toc, out updated);
+                       toc = Gst.Toc.New (native_toc);
+                       Marshal.FreeHGlobal (native_toc);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_warning(IntPtr raw, out IntPtr gerror, out IntPtr debug);
+
+               public void ParseWarning(out IntPtr gerror, out string debug) {
+                       IntPtr native_debug;
+                       gst_message_parse_warning(Handle, out gerror, out native_debug);
+                       debug = GLib.Marshaller.PtrToStringGFree(native_debug);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_parse_warning_details(IntPtr raw, out IntPtr structure);
+
+               public Gst.Structure ParseWarningDetails() {
+                       Gst.Structure structure;
+                       IntPtr native_structure;
+                       gst_message_parse_warning_details(Handle, out native_structure);
+                       structure = native_structure == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (native_structure, typeof (Gst.Structure), true);
+                       return structure;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_set_buffering_stats(IntPtr raw, int mode, int avg_in, int avg_out, long buffering_left);
+
+               public void SetBufferingStats(Gst.BufferingMode mode, int avg_in, int avg_out, long buffering_left) {
+                       gst_message_set_buffering_stats(Handle, (int) mode, avg_in, avg_out, buffering_left);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_set_group_id(IntPtr raw, uint group_id);
+
+               public uint GroupId { 
+                       set {
+                               gst_message_set_group_id(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_set_qos_stats(IntPtr raw, int format, ulong processed, ulong dropped);
+
+               public void SetQosStats(Gst.Format format, ulong processed, ulong dropped) {
+                       gst_message_set_qos_stats(Handle, (int) format, processed, dropped);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_set_qos_values(IntPtr raw, long jitter, double proportion, int quality);
+
+               public void SetQosValues(long jitter, double proportion, int quality) {
+                       gst_message_set_qos_values(Handle, jitter, proportion, quality);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_message_streams_selected_add(IntPtr raw, IntPtr stream);
+
+               public void StreamsSelectedAdd(Gst.Stream stream) {
+                       gst_message_streams_selected_add(Handle, stream == null ? IntPtr.Zero : stream.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_message_streams_selected_get_size(IntPtr raw);
+
+               public uint StreamsSelectedGetSize() {
+                       uint raw_ret = gst_message_streams_selected_get_size(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_streams_selected_get_stream(IntPtr raw, uint idx);
+
+               public Gst.Stream StreamsSelectedGetStream(uint idx) {
+                       IntPtr raw_ret = gst_message_streams_selected_get_stream(Handle, idx);
+                       Gst.Stream ret = GLib.Object.GetObject(raw_ret, true) as Gst.Stream;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_writable_structure(IntPtr raw);
+
+               public Gst.Structure WritableStructure() {
+                       IntPtr raw_ret = gst_message_writable_structure(Handle);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       return ret;
+               }
+
+               public Message(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_application(IntPtr src, IntPtr structure);
+
+               public Message (Gst.Object src, Gst.Structure structure) 
+               {
+                       structure.Owned = false;
+                       Raw = gst_message_new_application(src == null ? IntPtr.Zero : src.Handle, structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_async_done(IntPtr src, ulong running_time);
+
+               public Message (Gst.Object src, ulong running_time) 
+               {
+                       Raw = gst_message_new_async_done(src == null ? IntPtr.Zero : src.Handle, running_time);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_async_start(IntPtr src);
+
+               public Message (Gst.Object src) 
+               {
+                       Raw = gst_message_new_async_start(src == null ? IntPtr.Zero : src.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_buffering(IntPtr src, int percent);
+
+               public Message (Gst.Object src, int percent) 
+               {
+                       Raw = gst_message_new_buffering(src == null ? IntPtr.Zero : src.Handle, percent);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_clock_lost(IntPtr src, IntPtr clock);
+
+               public Message (Gst.Object src, Gst.Clock clock) 
+               {
+                       Raw = gst_message_new_clock_lost(src == null ? IntPtr.Zero : src.Handle, clock == null ? IntPtr.Zero : clock.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_clock_provide(IntPtr src, IntPtr clock, bool ready);
+
+               public Message (Gst.Object src, Gst.Clock clock, bool ready) 
+               {
+                       Raw = gst_message_new_clock_provide(src == null ? IntPtr.Zero : src.Handle, clock == null ? IntPtr.Zero : clock.Handle, ready);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_custom(int type, IntPtr src, IntPtr structure);
+
+               public Message (Gst.MessageType type, Gst.Object src, Gst.Structure structure) 
+               {
+                       structure.Owned = false;
+                       Raw = gst_message_new_custom((int) type, src == null ? IntPtr.Zero : src.Handle, structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_device_added(IntPtr src, IntPtr device);
+
+               public Message (Gst.Object src, Gst.Device device) 
+               {
+                       Raw = gst_message_new_device_added(src == null ? IntPtr.Zero : src.Handle, device == null ? IntPtr.Zero : device.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_device_removed(IntPtr src, IntPtr device);
+
+               public static Message NewDeviceRemoved(Gst.Object src, Gst.Device device)
+               {
+                       Message result = new Message (gst_message_new_device_removed(src == null ? IntPtr.Zero : src.Handle, device == null ? IntPtr.Zero : device.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_duration_changed(IntPtr src);
+
+               public static Message NewDurationChanged(Gst.Object src)
+               {
+                       Message result = new Message (gst_message_new_duration_changed(src == null ? IntPtr.Zero : src.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_element(IntPtr src, IntPtr structure);
+
+               public static Message NewElement(Gst.Object src, Gst.Structure structure)
+               {
+                       structure.Owned = false;
+                       Message result = new Message (gst_message_new_element(src == null ? IntPtr.Zero : src.Handle, structure == null ? IntPtr.Zero : structure.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_eos(IntPtr src);
+
+               public static Message NewEos(Gst.Object src)
+               {
+                       Message result = new Message (gst_message_new_eos(src == null ? IntPtr.Zero : src.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_error(IntPtr src, IntPtr error, IntPtr debug);
+
+               public Message (Gst.Object src, IntPtr error, string debug) 
+               {
+                       IntPtr native_debug = GLib.Marshaller.StringToPtrGStrdup (debug);
+                       Raw = gst_message_new_error(src == null ? IntPtr.Zero : src.Handle, error, native_debug);
+                       GLib.Marshaller.Free (native_debug);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_error_with_details(IntPtr src, IntPtr error, IntPtr debug, IntPtr details);
+
+               public Message (Gst.Object src, IntPtr error, string debug, Gst.Structure details) 
+               {
+                       IntPtr native_debug = GLib.Marshaller.StringToPtrGStrdup (debug);
+                       details.Owned = false;
+                       Raw = gst_message_new_error_with_details(src == null ? IntPtr.Zero : src.Handle, error, native_debug, details == null ? IntPtr.Zero : details.Handle);
+                       GLib.Marshaller.Free (native_debug);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_have_context(IntPtr src, IntPtr context);
+
+               public Message (Gst.Object src, Gst.Context context) 
+               {
+                       IntPtr native_context = GLib.Marshaller.StructureToPtrAlloc (context);
+                       Raw = gst_message_new_have_context(src == null ? IntPtr.Zero : src.Handle, native_context);
+                       Marshal.FreeHGlobal (native_context);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_info(IntPtr src, IntPtr error, IntPtr debug);
+
+               public static Message NewInfo(Gst.Object src, IntPtr error, string debug)
+               {
+                       IntPtr native_debug = GLib.Marshaller.StringToPtrGStrdup (debug);
+                       Message result = new Message (gst_message_new_info(src == null ? IntPtr.Zero : src.Handle, error, native_debug));
+                       GLib.Marshaller.Free (native_debug);
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_info_with_details(IntPtr src, IntPtr error, IntPtr debug, IntPtr details);
+
+               public static Message NewInfoWithDetails(Gst.Object src, IntPtr error, string debug, Gst.Structure details)
+               {
+                       IntPtr native_debug = GLib.Marshaller.StringToPtrGStrdup (debug);
+                       details.Owned = false;
+                       Message result = new Message (gst_message_new_info_with_details(src == null ? IntPtr.Zero : src.Handle, error, native_debug, details == null ? IntPtr.Zero : details.Handle));
+                       GLib.Marshaller.Free (native_debug);
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_latency(IntPtr src);
+
+               public static Message NewLatency(Gst.Object src)
+               {
+                       Message result = new Message (gst_message_new_latency(src == null ? IntPtr.Zero : src.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_need_context(IntPtr src, IntPtr context_type);
+
+               public Message (Gst.Object src, string context_type) 
+               {
+                       IntPtr native_context_type = GLib.Marshaller.StringToPtrGStrdup (context_type);
+                       Raw = gst_message_new_need_context(src == null ? IntPtr.Zero : src.Handle, native_context_type);
+                       GLib.Marshaller.Free (native_context_type);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_new_clock(IntPtr src, IntPtr clock);
+
+               public static Message NewNewClock(Gst.Object src, Gst.Clock clock)
+               {
+                       Message result = new Message (gst_message_new_new_clock(src == null ? IntPtr.Zero : src.Handle, clock == null ? IntPtr.Zero : clock.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_progress(IntPtr src, int type, IntPtr code, IntPtr text);
+
+               public Message (Gst.Object src, Gst.ProgressType type, string code, string text) 
+               {
+                       IntPtr native_code = GLib.Marshaller.StringToPtrGStrdup (code);
+                       IntPtr native_text = GLib.Marshaller.StringToPtrGStrdup (text);
+                       Raw = gst_message_new_progress(src == null ? IntPtr.Zero : src.Handle, (int) type, native_code, native_text);
+                       GLib.Marshaller.Free (native_code);
+                       GLib.Marshaller.Free (native_text);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_property_notify(IntPtr src, IntPtr property_name, IntPtr val);
+
+               public Message (Gst.Object src, string property_name, GLib.Value val) 
+               {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       IntPtr native_val = GLib.Marshaller.StructureToPtrAlloc (val);
+                       Raw = gst_message_new_property_notify(src == null ? IntPtr.Zero : src.Handle, native_property_name, native_val);
+                       GLib.Marshaller.Free (native_property_name);
+                       Marshal.FreeHGlobal (native_val);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_qos(IntPtr src, bool live, ulong running_time, ulong stream_time, ulong timestamp, ulong duration);
+
+               public Message (Gst.Object src, bool live, ulong running_time, ulong stream_time, ulong timestamp, ulong duration) 
+               {
+                       Raw = gst_message_new_qos(src == null ? IntPtr.Zero : src.Handle, live, running_time, stream_time, timestamp, duration);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_redirect(IntPtr src, IntPtr location, IntPtr tag_list, IntPtr entry_struct);
+
+               public Message (Gst.Object src, string location, Gst.TagList tag_list, Gst.Structure entry_struct) 
+               {
+                       IntPtr native_location = GLib.Marshaller.StringToPtrGStrdup (location);
+                       tag_list.Owned = false;
+                       entry_struct.Owned = false;
+                       Raw = gst_message_new_redirect(src == null ? IntPtr.Zero : src.Handle, native_location, tag_list == null ? IntPtr.Zero : tag_list.Handle, entry_struct == null ? IntPtr.Zero : entry_struct.Handle);
+                       GLib.Marshaller.Free (native_location);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_request_state(IntPtr src, int state);
+
+               public Message (Gst.Object src, Gst.State state) 
+               {
+                       Raw = gst_message_new_request_state(src == null ? IntPtr.Zero : src.Handle, (int) state);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_reset_time(IntPtr src, ulong running_time);
+
+               public static Message NewResetTime(Gst.Object src, ulong running_time)
+               {
+                       Message result = new Message (gst_message_new_reset_time(src == null ? IntPtr.Zero : src.Handle, running_time));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_segment_done(IntPtr src, int format, long position);
+
+               public Message (Gst.Object src, Gst.Format format, long position) 
+               {
+                       Raw = gst_message_new_segment_done(src == null ? IntPtr.Zero : src.Handle, (int) format, position);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_segment_start(IntPtr src, int format, long position);
+
+               public static Message NewSegmentStart(Gst.Object src, Gst.Format format, long position)
+               {
+                       Message result = new Message (gst_message_new_segment_start(src == null ? IntPtr.Zero : src.Handle, (int) format, position));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_state_changed(IntPtr src, int oldstate, int newstate, int pending);
+
+               public Message (Gst.Object src, Gst.State oldstate, Gst.State newstate, Gst.State pending) 
+               {
+                       Raw = gst_message_new_state_changed(src == null ? IntPtr.Zero : src.Handle, (int) oldstate, (int) newstate, (int) pending);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_state_dirty(IntPtr src);
+
+               public static Message NewStateDirty(Gst.Object src)
+               {
+                       Message result = new Message (gst_message_new_state_dirty(src == null ? IntPtr.Zero : src.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_step_done(IntPtr src, int format, ulong amount, double rate, bool flush, bool intermediate, ulong duration, bool eos);
+
+               public Message (Gst.Object src, Gst.Format format, ulong amount, double rate, bool flush, bool intermediate, ulong duration, bool eos) 
+               {
+                       Raw = gst_message_new_step_done(src == null ? IntPtr.Zero : src.Handle, (int) format, amount, rate, flush, intermediate, duration, eos);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_step_start(IntPtr src, bool active, int format, ulong amount, double rate, bool flush, bool intermediate);
+
+               public Message (Gst.Object src, bool active, Gst.Format format, ulong amount, double rate, bool flush, bool intermediate) 
+               {
+                       Raw = gst_message_new_step_start(src == null ? IntPtr.Zero : src.Handle, active, (int) format, amount, rate, flush, intermediate);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_stream_collection(IntPtr src, IntPtr collection);
+
+               public Message (Gst.Object src, Gst.StreamCollection collection) 
+               {
+                       Raw = gst_message_new_stream_collection(src == null ? IntPtr.Zero : src.Handle, collection == null ? IntPtr.Zero : collection.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_stream_start(IntPtr src);
+
+               public static Message NewStreamStart(Gst.Object src)
+               {
+                       Message result = new Message (gst_message_new_stream_start(src == null ? IntPtr.Zero : src.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_stream_status(IntPtr src, int type, IntPtr owner);
+
+               public Message (Gst.Object src, Gst.StreamStatusType type, Gst.Element owner) 
+               {
+                       Raw = gst_message_new_stream_status(src == null ? IntPtr.Zero : src.Handle, (int) type, owner == null ? IntPtr.Zero : owner.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_streams_selected(IntPtr src, IntPtr collection);
+
+               public static Message NewStreamsSelected(Gst.Object src, Gst.StreamCollection collection)
+               {
+                       Message result = new Message (gst_message_new_streams_selected(src == null ? IntPtr.Zero : src.Handle, collection == null ? IntPtr.Zero : collection.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_structure_change(IntPtr src, int type, IntPtr owner, bool busy);
+
+               public Message (Gst.Object src, Gst.StructureChangeType type, Gst.Element owner, bool busy) 
+               {
+                       Raw = gst_message_new_structure_change(src == null ? IntPtr.Zero : src.Handle, (int) type, owner == null ? IntPtr.Zero : owner.Handle, busy);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_tag(IntPtr src, IntPtr tag_list);
+
+               public Message (Gst.Object src, Gst.TagList tag_list) 
+               {
+                       tag_list.Owned = false;
+                       Raw = gst_message_new_tag(src == null ? IntPtr.Zero : src.Handle, tag_list == null ? IntPtr.Zero : tag_list.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_toc(IntPtr src, IntPtr toc, bool updated);
+
+               public Message (Gst.Object src, Gst.Toc toc, bool updated) 
+               {
+                       IntPtr native_toc = GLib.Marshaller.StructureToPtrAlloc (toc);
+                       Raw = gst_message_new_toc(src == null ? IntPtr.Zero : src.Handle, native_toc, updated);
+                       Marshal.FreeHGlobal (native_toc);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_warning(IntPtr src, IntPtr error, IntPtr debug);
+
+               public static Message NewWarning(Gst.Object src, IntPtr error, string debug)
+               {
+                       IntPtr native_debug = GLib.Marshaller.StringToPtrGStrdup (debug);
+                       Message result = new Message (gst_message_new_warning(src == null ? IntPtr.Zero : src.Handle, error, native_debug));
+                       GLib.Marshaller.Free (native_debug);
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_new_warning_with_details(IntPtr src, IntPtr error, IntPtr debug, IntPtr details);
+
+               public static Message NewWarningWithDetails(Gst.Object src, IntPtr error, string debug, Gst.Structure details)
+               {
+                       IntPtr native_debug = GLib.Marshaller.StringToPtrGStrdup (debug);
+                       details.Owned = false;
+                       Message result = new Message (gst_message_new_warning_with_details(src == null ? IntPtr.Zero : src.Handle, error, native_debug, details == null ? IntPtr.Zero : details.Handle));
+                       GLib.Marshaller.Free (native_debug);
+                       return result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("type"
+                                                       , Gst.MiniObject.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.MessageType))) // type
+                                                       , null
+                                                       , "timestamp"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMessage_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("timestamp"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // timestamp
+                                                       , "type"
+                                                       , "src"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMessage_timestampAlign), "timestamp")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("src"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src
+                                                       , "timestamp"
+                                                       , "seqnum"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("seqnum"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // seqnum
+                                                       , "src"
+                                                       , "lock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMessage_seqnumAlign), "seqnum")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lock
+                                                       , "seqnum"
+                                                       , "cond"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cond"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Cond.ABI)) // cond
+                                                       , "lock"
+                                                       , null
+                                                       , (long) Marshal.OffsetOf(typeof(GstMessage_condAlign), "cond")
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMessage_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.MessageType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMessage_timestampAlign
+               {
+                       sbyte f1;
+                       private ulong timestamp;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMessage_seqnumAlign
+               {
+                       sbyte f1;
+                       private uint seqnum;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMessage_condAlign
+               {
+                       sbyte f1;
+                       private GLib.Cond.ABI cond;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_MessageHandler.cs b/sources/generated/Gst_MessageHandler.cs
new file mode 100644 (file)
index 0000000..8a24b97
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void MessageHandler(object o, MessageArgs args);
+
+       public class MessageArgs : GLib.SignalArgs {
+               public Gst.Message Message{
+                       get {
+                               return (Gst.Message) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_MessageType.cs b/sources/generated/Gst_MessageType.cs
new file mode 100644 (file)
index 0000000..d482944
--- /dev/null
@@ -0,0 +1,67 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.MessageTypeGType))]
+       public enum MessageType : uint {
+
+               Unknown = 0U,
+               Eos = 1,
+               Error = 2,
+               Warning = 4,
+               Info = 8,
+               Tag = 16,
+               Buffering = 32,
+               StateChanged = 64,
+               StateDirty = 128,
+               StepDone = 256,
+               ClockProvide = 512,
+               ClockLost = 1024,
+               NewClock = 2048,
+               StructureChange = 4096,
+               StreamStatus = 8192,
+               Application = 16384,
+               Element = 32768,
+               SegmentStart = 65536,
+               SegmentDone = 131072,
+               DurationChanged = 262144,
+               Latency = 524288,
+               AsyncStart = 1048576,
+               AsyncDone = 2097152,
+               RequestState = 4194304,
+               StepStart = 8388608,
+               Qos = 16777216,
+               Progress = 33554432,
+               Toc = 67108864,
+               ResetTime = 134217728,
+               StreamStart = 268435456,
+               NeedContext = 536870912,
+               HaveContext = 1073741824,
+               Extended = 2147483648,
+               DeviceAdded = 2147483649,
+               DeviceRemoved = 2147483650,
+               PropertyNotify = 2147483651,
+               StreamCollection = 2147483652,
+               StreamsSelected = 2147483653,
+               Redirect = 2147483654,
+               Any = 4294967295,
+       }
+
+       internal class MessageTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_message_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_message_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Meta.cs b/sources/generated/Gst_Meta.cs
new file mode 100644 (file)
index 0000000..d97ab8c
--- /dev/null
@@ -0,0 +1,109 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct Meta : IEquatable<Meta> {
+
+               public Gst.MetaFlags Flags;
+               private IntPtr _info;
+
+               public Gst.MetaInfo info {
+                       get { return Gst.MetaInfo.New (_info); }
+               }
+
+               public static Gst.Meta Zero = new Gst.Meta ();
+
+               public static Gst.Meta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Meta.Zero;
+                       return (Gst.Meta) Marshal.PtrToStructure (raw, typeof (Gst.Meta));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_api_type_get_tags(IntPtr api);
+
+               public static string[] ApiTypeGetTags(GLib.GType api) {
+                       IntPtr raw_ret = gst_meta_api_type_get_tags(api.Val);
+                       string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_meta_api_type_has_tag(IntPtr api, uint tag);
+
+               public static bool ApiTypeHasTag(GLib.GType api, uint tag) {
+                       bool raw_ret = gst_meta_api_type_has_tag(api.Val, tag);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_api_type_register(IntPtr api, IntPtr tags);
+
+               public static GLib.GType ApiTypeRegister(string api, string tags) {
+                       IntPtr native_api = GLib.Marshaller.StringToPtrGStrdup (api);
+                       IntPtr native_tags = GLib.Marshaller.StringToPtrGStrdup (tags);
+                       IntPtr raw_ret = gst_meta_api_type_register(native_api, native_tags);
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       GLib.Marshaller.Free (native_api);
+                       GLib.Marshaller.Free (native_tags);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_get_info(IntPtr impl);
+
+               public static Gst.MetaInfo GetInfo(string impl) {
+                       IntPtr native_impl = GLib.Marshaller.StringToPtrGStrdup (impl);
+                       IntPtr raw_ret = gst_meta_get_info(native_impl);
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       GLib.Marshaller.Free (native_impl);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_register(IntPtr api, IntPtr impl, UIntPtr size, GstSharp.MetaInitFunctionNative init_func, GstSharp.MetaFreeFunctionNative free_func, GstSharp.MetaTransformFunctionNative transform_func);
+
+               public static Gst.MetaInfo Register(GLib.GType api, string impl, ulong size, Gst.MetaInitFunction init_func, Gst.MetaFreeFunction free_func, Gst.MetaTransformFunction transform_func) {
+                       IntPtr native_impl = GLib.Marshaller.StringToPtrGStrdup (impl);
+                       GstSharp.MetaInitFunctionWrapper init_func_wrapper = new GstSharp.MetaInitFunctionWrapper (init_func);
+                       init_func_wrapper.PersistUntilCalled ();
+                       GstSharp.MetaFreeFunctionWrapper free_func_wrapper = new GstSharp.MetaFreeFunctionWrapper (free_func);
+                       free_func_wrapper.PersistUntilCalled ();
+                       GstSharp.MetaTransformFunctionWrapper transform_func_wrapper = new GstSharp.MetaTransformFunctionWrapper (transform_func);
+                       transform_func_wrapper.PersistUntilCalled ();
+                       IntPtr raw_ret = gst_meta_register(api.Val, native_impl, new UIntPtr (size), init_func_wrapper.NativeDelegate, free_func_wrapper.NativeDelegate, transform_func_wrapper.NativeDelegate);
+                       Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                       GLib.Marshaller.Free (native_impl);
+                       return ret;
+               }
+
+               public bool Equals (Meta other)
+               {
+                       return true && Flags.Equals (other.Flags) && info.Equals (other.info);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is Meta && Equals ((Meta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Flags.GetHashCode () ^ info.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_MetaFlags.cs b/sources/generated/Gst_MetaFlags.cs
new file mode 100644 (file)
index 0000000..1060768
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.MetaFlagsGType))]
+       public enum MetaFlags {
+
+               None = 0,
+               Readonly = 1,
+               Pooled = 2,
+               Locked = 4,
+               Last = 65536,
+       }
+
+       internal class MetaFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_meta_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_meta_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_MetaFreeFunction.cs b/sources/generated/Gst_MetaFreeFunction.cs
new file mode 100644 (file)
index 0000000..0dba44c
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void MetaFreeFunction(Gst.Meta meta, Gst.Buffer buffer);
+
+}
diff --git a/sources/generated/Gst_MetaInfo.cs b/sources/generated/Gst_MetaInfo.cs
new file mode 100644 (file)
index 0000000..95ca0f1
--- /dev/null
@@ -0,0 +1,73 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MetaInfo : IEquatable<MetaInfo> {
+
+               public GLib.GType Api;
+               public GLib.GType Type;
+               private UIntPtr size;
+               public ulong Size {
+                       get {
+                               return (ulong) size;
+                       }
+                       set {
+                               size = new UIntPtr (value);
+                       }
+               }
+               private GstSharp.MetaInitFunctionNative _init_func;
+               public Gst.MetaInitFunction InitFunc {
+                       get {
+                               return GstSharp.MetaInitFunctionWrapper.GetManagedDelegate (_init_func);
+                       }
+               }
+               private GstSharp.MetaFreeFunctionNative _free_func;
+               public Gst.MetaFreeFunction FreeFunc {
+                       get {
+                               return GstSharp.MetaFreeFunctionWrapper.GetManagedDelegate (_free_func);
+                       }
+               }
+               private GstSharp.MetaTransformFunctionNative _transform_func;
+               public Gst.MetaTransformFunction TransformFunc {
+                       get {
+                               return GstSharp.MetaTransformFunctionWrapper.GetManagedDelegate (_transform_func);
+                       }
+               }
+
+               public static Gst.MetaInfo Zero = new Gst.MetaInfo ();
+
+               public static Gst.MetaInfo New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.MetaInfo.Zero;
+                       return (Gst.MetaInfo) Marshal.PtrToStructure (raw, typeof (Gst.MetaInfo));
+               }
+
+               public bool Equals (MetaInfo other)
+               {
+                       return true && Api.Equals (other.Api) && Type.Equals (other.Type) && Size.Equals (other.Size) && InitFunc.Equals (other.InitFunc) && FreeFunc.Equals (other.FreeFunc) && TransformFunc.Equals (other.TransformFunc);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MetaInfo && Equals ((MetaInfo) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Api.GetHashCode () ^ Type.GetHashCode () ^ Size.GetHashCode () ^ InitFunc.GetHashCode () ^ FreeFunc.GetHashCode () ^ TransformFunc.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_MetaInitFunction.cs b/sources/generated/Gst_MetaInitFunction.cs
new file mode 100644 (file)
index 0000000..242799d
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool MetaInitFunction(Gst.Meta meta, IntPtr parms, Gst.Buffer buffer);
+
+}
diff --git a/sources/generated/Gst_MetaTransformCopy.cs b/sources/generated/Gst_MetaTransformCopy.cs
new file mode 100644 (file)
index 0000000..cc20e65
--- /dev/null
@@ -0,0 +1,63 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct MetaTransformCopy : IEquatable<MetaTransformCopy> {
+
+               public bool Region;
+               private UIntPtr offset;
+               public ulong Offset {
+                       get {
+                               return (ulong) offset;
+                       }
+                       set {
+                               offset = new UIntPtr (value);
+                       }
+               }
+               private UIntPtr size;
+               public ulong Size {
+                       get {
+                               return (ulong) size;
+                       }
+                       set {
+                               size = new UIntPtr (value);
+                       }
+               }
+
+               public static Gst.MetaTransformCopy Zero = new Gst.MetaTransformCopy ();
+
+               public static Gst.MetaTransformCopy New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.MetaTransformCopy.Zero;
+                       return (Gst.MetaTransformCopy) Marshal.PtrToStructure (raw, typeof (Gst.MetaTransformCopy));
+               }
+
+               public bool Equals (MetaTransformCopy other)
+               {
+                       return true && Region.Equals (other.Region) && Offset.Equals (other.Offset) && Size.Equals (other.Size);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is MetaTransformCopy && Equals ((MetaTransformCopy) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Region.GetHashCode () ^ Offset.GetHashCode () ^ Size.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_MetaTransformFunction.cs b/sources/generated/Gst_MetaTransformFunction.cs
new file mode 100644 (file)
index 0000000..9129083
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool MetaTransformFunction(Gst.Buffer transbuf, Gst.Meta meta, Gst.Buffer buffer, uint type, IntPtr data);
+
+}
diff --git a/sources/generated/Gst_MiniObject.cs b/sources/generated/Gst_MiniObject.cs
new file mode 100644 (file)
index 0000000..e507311
--- /dev/null
@@ -0,0 +1,298 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class MiniObject : GLib.Opaque {
+
+               public GLib.GType Type {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return new GLib.GType((*raw_ptr));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = value.Val;
+                               }
+                       }
+               }
+
+               public int Refcount {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("refcount"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("refcount"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public int Lockstate {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("lockstate"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("lockstate"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public uint Flags {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public IntPtr CopyFunc {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("copy"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("copy"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public IntPtr Dispose {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("dispose"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("dispose"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               public IntPtr Free {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("free"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("free"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mini_object_get_qdata(IntPtr raw, uint quark);
+
+               public IntPtr GetQdata(uint quark) {
+                       IntPtr raw_ret = gst_mini_object_get_qdata(Handle, quark);
+                       IntPtr ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mini_object_is_writable(IntPtr raw);
+
+               public bool IsWritable { 
+                       get {
+                               bool raw_ret = gst_mini_object_is_writable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_mini_object_lock(IntPtr raw, int flags);
+
+               public bool Lock(Gst.LockFlags flags) {
+                       bool raw_ret = gst_mini_object_lock(Handle, (int) flags);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_mini_object_set_qdata(IntPtr raw, uint quark, IntPtr data, GLib.DestroyNotify destroy);
+
+               public void SetQdata(uint quark, IntPtr data, GLib.DestroyNotify destroy) {
+                       gst_mini_object_set_qdata(Handle, quark, data, destroy);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mini_object_steal_qdata(IntPtr raw, uint quark);
+
+               public IntPtr StealQdata(uint quark) {
+                       IntPtr raw_ret = gst_mini_object_steal_qdata(Handle, quark);
+                       IntPtr ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_mini_object_unlock(IntPtr raw, int flags);
+
+               public void Unlock(Gst.LockFlags flags) {
+                       gst_mini_object_unlock(Handle, (int) flags);
+               }
+
+               public MiniObject(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("type"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.GType)) // type
+                                                       , null
+                                                       , "refcount"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMiniObject_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("refcount"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // refcount
+                                                       , "type"
+                                                       , "lockstate"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMiniObject_refcountAlign), "refcount")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("lockstate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // lockstate
+                                                       , "refcount"
+                                                       , "flags"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMiniObject_lockstateAlign), "lockstate")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flags"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // flags
+                                                       , "lockstate"
+                                                       , "copy"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMiniObject_flagsAlign), "flags")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("copy"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // copy
+                                                       , "flags"
+                                                       , "dispose"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("dispose"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // dispose
+                                                       , "copy"
+                                                       , "free"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("free"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // free
+                                                       , "dispose"
+                                                       , "n_qdata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("n_qdata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // n_qdata
+                                                       , "free"
+                                                       , "qdata"
+                                                       , (long) Marshal.OffsetOf(typeof(GstMiniObject_n_qdataAlign), "n_qdata")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("qdata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // qdata
+                                                       , "n_qdata"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMiniObject_typeAlign
+               {
+                       sbyte f1;
+                       private GLib.GType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMiniObject_refcountAlign
+               {
+                       sbyte f1;
+                       private int refcount;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMiniObject_lockstateAlign
+               {
+                       sbyte f1;
+                       private int lockstate;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMiniObject_flagsAlign
+               {
+                       sbyte f1;
+                       private uint flags;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstMiniObject_n_qdataAlign
+               {
+                       sbyte f1;
+                       private uint n_qdata;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_MiniObjectCopyFunction.cs b/sources/generated/Gst_MiniObjectCopyFunction.cs
new file mode 100644 (file)
index 0000000..bbe4a15
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.MiniObject MiniObjectCopyFunction(Gst.MiniObject obj);
+
+}
diff --git a/sources/generated/Gst_MiniObjectDisposeFunction.cs b/sources/generated/Gst_MiniObjectDisposeFunction.cs
new file mode 100644 (file)
index 0000000..12d2e91
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool MiniObjectDisposeFunction(Gst.MiniObject obj);
+
+}
diff --git a/sources/generated/Gst_MiniObjectFlags.cs b/sources/generated/Gst_MiniObjectFlags.cs
new file mode 100644 (file)
index 0000000..80338e7
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.MiniObjectFlagsGType))]
+       public enum MiniObjectFlags {
+
+               Lockable = 1,
+               LockReadonly = 2,
+               MayBeLeaked = 4,
+               Last = 16,
+       }
+
+       internal class MiniObjectFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_mini_object_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_mini_object_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_MiniObjectFreeFunction.cs b/sources/generated/Gst_MiniObjectFreeFunction.cs
new file mode 100644 (file)
index 0000000..c480a41
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void MiniObjectFreeFunction(Gst.MiniObject obj);
+
+}
diff --git a/sources/generated/Gst_MiniObjectNotify.cs b/sources/generated/Gst_MiniObjectNotify.cs
new file mode 100644 (file)
index 0000000..0370bd8
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void MiniObjectNotify(Gst.MiniObject obj);
+
+}
diff --git a/sources/generated/Gst_Object.cs b/sources/generated/Gst_Object.cs
new file mode 100644 (file)
index 0000000..150165c
--- /dev/null
@@ -0,0 +1,571 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Object : GLib.InitiallyUnowned {
+
+               protected Object (IntPtr raw) : base(raw) {}
+
+               protected Object() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_object_get_name(IntPtr raw);
+
+               [GLib.Property ("name")]
+               public string Name {
+                       get  {
+                               IntPtr raw_ret = gst_object_get_name(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("name", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_object_get_parent(IntPtr raw);
+
+               [GLib.Property ("parent")]
+               public Gst.Object Parent {
+                       get  {
+                               IntPtr raw_ret = gst_object_get_parent(Handle);
+                               Gst.Object ret = GLib.Object.GetObject(raw_ret, true) as Gst.Object;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("parent", val);
+                               val.Dispose ();
+                       }
+               }
+
+               public GLib.Mutex Lock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("lock"));
+                                       return new GLib.Mutex((*raw_ptr));
+                               }
+                       }
+               }
+
+               public string NameField {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("name"));
+                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public uint Flags {
+                       get {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("flags"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_object_get_control_rate(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_object_set_control_rate(IntPtr raw, ulong control_rate);
+
+               public ulong ControlRate {
+                       get  {
+                               ulong raw_ret = gst_object_get_control_rate(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_object_set_control_rate(Handle, value);
+                       }
+               }
+
+               [GLib.Signal("deep-notify")]
+               public event Gst.DeepNotifyHandler DeepNotify {
+                       add {
+                               this.AddSignalHandler ("deep-notify", value, typeof (Gst.DeepNotifyArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("deep-notify", value);
+                       }
+               }
+
+               static DeepNotifyNativeDelegate DeepNotify_cb_delegate;
+               static DeepNotifyNativeDelegate DeepNotifyVMCallback {
+                       get {
+                               if (DeepNotify_cb_delegate == null)
+                                       DeepNotify_cb_delegate = new DeepNotifyNativeDelegate (DeepNotify_cb);
+                               return DeepNotify_cb_delegate;
+                       }
+               }
+
+               static void OverrideDeepNotify (GLib.GType gtype)
+               {
+                       OverrideDeepNotify (gtype, DeepNotifyVMCallback);
+               }
+
+               static void OverrideDeepNotify (GLib.GType gtype, DeepNotifyNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("deep_notify"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void DeepNotifyNativeDelegate (IntPtr inst, IntPtr prop_object, IntPtr prop);
+
+               static void DeepNotify_cb (IntPtr inst, IntPtr prop_object, IntPtr prop)
+               {
+                       try {
+                               Object __obj = GLib.Object.GetObject (inst, false) as Object;
+                               __obj.OnDeepNotify (GLib.Object.GetObject(prop_object) as Gst.Object, prop);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Object), ConnectionMethod="OverrideDeepNotify")]
+               protected virtual void OnDeepNotify (Gst.Object prop_object, IntPtr prop)
+               {
+                       InternalDeepNotify (prop_object, prop);
+               }
+
+               private void InternalDeepNotify (Gst.Object prop_object, IntPtr prop)
+               {
+                       DeepNotifyNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("deep_notify"));
+                               unmanaged = (DeepNotifyNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DeepNotifyNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, prop_object == null ? IntPtr.Zero : prop_object.Handle, prop);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("path_string_separator"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // path_string_separator
+                                                       , null
+                                                       , "deep_notify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("deep_notify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // deep_notify
+                                                       , "path_string_separator"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "deep_notify"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_object_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_object_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_check_uniqueness(IntPtr list, IntPtr name);
+
+               public static bool CheckUniqueness(GLib.List list, string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_object_check_uniqueness(list == null ? IntPtr.Zero : list.Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_object_default_deep_notify(IntPtr _object, IntPtr orig, IntPtr pspec, IntPtr[] excluded_props);
+
+               public static void DefaultDeepNotify(GLib.Object _object, Gst.Object orig, IntPtr pspec, string[] excluded_props) {
+                       int cnt_excluded_props = excluded_props == null ? 0 : excluded_props.Length;
+                       IntPtr[] native_excluded_props = new IntPtr [cnt_excluded_props + 1];
+                       for (int i = 0; i < cnt_excluded_props; i++)
+                               native_excluded_props [i] = GLib.Marshaller.StringToPtrGStrdup (excluded_props[i]);
+                       native_excluded_props [cnt_excluded_props] = IntPtr.Zero;
+                       gst_object_default_deep_notify(_object == null ? IntPtr.Zero : _object.Handle, orig == null ? IntPtr.Zero : orig.Handle, pspec, native_excluded_props);
+                       for (int i = 0; i < native_excluded_props.Length - 1; i++) {
+                               excluded_props [i] = GLib.Marshaller.Utf8PtrToString (native_excluded_props[i]);
+                               GLib.Marshaller.Free (native_excluded_props[i]);
+                       }
+               }
+
+               public static void DefaultDeepNotify(GLib.Object _object, Gst.Object orig, IntPtr pspec) {
+                       DefaultDeepNotify (_object, orig, pspec, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_replace(IntPtr oldobj, IntPtr newobj);
+
+               public static bool Replace(Gst.Object oldobj, Gst.Object newobj) {
+                       bool raw_ret = gst_object_replace(oldobj == null ? IntPtr.Zero : oldobj.OwnedHandle, newobj == null ? IntPtr.Zero : newobj.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public static bool Replace() {
+                       return Replace (null, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_add_control_binding(IntPtr raw, IntPtr binding);
+
+               public bool AddControlBinding(Gst.ControlBinding binding) {
+                       bool raw_ret = gst_object_add_control_binding(Handle, binding == null ? IntPtr.Zero : binding.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_object_default_error(IntPtr raw, IntPtr error, IntPtr debug);
+
+               public void DefaultError(IntPtr error, string debug) {
+                       IntPtr native_debug = GLib.Marshaller.StringToPtrGStrdup (debug);
+                       gst_object_default_error(Handle, error, native_debug);
+                       GLib.Marshaller.Free (native_debug);
+               }
+
+               public void DefaultError(IntPtr error) {
+                       DefaultError (error, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_object_get_control_binding(IntPtr raw, IntPtr property_name);
+
+               public Gst.ControlBinding GetControlBinding(string property_name) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       IntPtr raw_ret = gst_object_get_control_binding(Handle, native_property_name);
+                       Gst.ControlBinding ret = GLib.Object.GetObject(raw_ret, true) as Gst.ControlBinding;
+                       GLib.Marshaller.Free (native_property_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_get_g_value_array(IntPtr raw, IntPtr property_name, ulong timestamp, ulong interval, uint n_values, IntPtr[] values);
+
+               public bool GetGValueArray(string property_name, ulong timestamp, ulong interval, GLib.Value[] values) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       int cnt_values = values == null ? 0 : values.Length;
+                       IntPtr[] native_values = new IntPtr [cnt_values];
+                       for (int i = 0; i < cnt_values; i++)
+                               native_values [i] = GLib.Marshaller.StructureToPtrAlloc (values[i]);
+                       bool raw_ret = gst_object_get_g_value_array(Handle, native_property_name, timestamp, interval, (uint) (values == null ? 0 : values.Length), native_values);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_property_name);
+                       for (int i = 0; i < native_values.Length; i++) {
+                               values [i] = (GLib.Value) Marshal.PtrToStructure (native_values[i], typeof (GLib.Value));
+                               Marshal.FreeHGlobal (native_values[i]);
+                       }
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_object_get_path_string(IntPtr raw);
+
+               public string PathString { 
+                       get {
+                               IntPtr raw_ret = gst_object_get_path_string(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_object_get_value(IntPtr raw, IntPtr property_name, ulong timestamp);
+
+               public GLib.Value GetValue(string property_name, ulong timestamp) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       IntPtr raw_ret = gst_object_get_value(Handle, native_property_name, timestamp);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_property_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_has_active_control_bindings(IntPtr raw);
+
+               public bool HasActiveControlBindings { 
+                       get {
+                               bool raw_ret = gst_object_has_active_control_bindings(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_has_ancestor(IntPtr raw, IntPtr ancestor);
+
+               [Obsolete]
+               public bool HasAncestor(Gst.Object ancestor) {
+                       bool raw_ret = gst_object_has_ancestor(Handle, ancestor == null ? IntPtr.Zero : ancestor.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_has_as_ancestor(IntPtr raw, IntPtr ancestor);
+
+               public bool HasAsAncestor(Gst.Object ancestor) {
+                       bool raw_ret = gst_object_has_as_ancestor(Handle, ancestor == null ? IntPtr.Zero : ancestor.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_has_as_parent(IntPtr raw, IntPtr parent);
+
+               public bool HasAsParent(Gst.Object parent) {
+                       bool raw_ret = gst_object_has_as_parent(Handle, parent == null ? IntPtr.Zero : parent.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_object_ref(IntPtr raw);
+
+               public Gst.Object Ref() {
+                       IntPtr raw_ret = gst_object_ref(Handle);
+                       Gst.Object ret = GLib.Object.GetObject(raw_ret, true) as Gst.Object;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_remove_control_binding(IntPtr raw, IntPtr binding);
+
+               public bool RemoveControlBinding(Gst.ControlBinding binding) {
+                       bool raw_ret = gst_object_remove_control_binding(Handle, binding == null ? IntPtr.Zero : binding.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_object_set_control_binding_disabled(IntPtr raw, IntPtr property_name, bool disabled);
+
+               public void SetControlBindingDisabled(string property_name, bool disabled) {
+                       IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+                       gst_object_set_control_binding_disabled(Handle, native_property_name, disabled);
+                       GLib.Marshaller.Free (native_property_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_object_set_control_bindings_disabled(IntPtr raw, bool disabled);
+
+               public bool ControlBindingsDisabled { 
+                       set {
+                               gst_object_set_control_bindings_disabled(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_set_name(IntPtr raw, IntPtr name);
+
+               public bool SetName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_object_set_name(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               public bool SetName() {
+                       return SetName (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_set_parent(IntPtr raw, IntPtr parent);
+
+               public bool SetParent(Gst.Object parent) {
+                       bool raw_ret = gst_object_set_parent(Handle, parent == null ? IntPtr.Zero : parent.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_object_suggest_next_sync(IntPtr raw);
+
+               public ulong SuggestNextSync() {
+                       ulong raw_ret = gst_object_suggest_next_sync(Handle);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_object_sync_values(IntPtr raw, ulong timestamp);
+
+               public bool SyncValues(ulong timestamp) {
+                       bool raw_ret = gst_object_sync_values(Handle, timestamp);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_object_unparent(IntPtr raw);
+
+               public void Unparent() {
+                       gst_object_unparent(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_object_unref(IntPtr raw);
+
+               public void Unref() {
+                       gst_object_unref(Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("lock"
+                                                       , GLib.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lock
+                                                       , null
+                                                       , "name"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("name"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // name
+                                                       , "lock"
+                                                       , "parent"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("parent"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // parent
+                                                       , "name"
+                                                       , "flags"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("flags"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // flags
+                                                       , "parent"
+                                                       , "control_bindings"
+                                                       , (long) Marshal.OffsetOf(typeof(GstObject_flagsAlign), "flags")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("control_bindings"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // control_bindings
+                                                       , "flags"
+                                                       , "control_rate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("control_rate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // control_rate
+                                                       , "control_bindings"
+                                                       , "last_sync"
+                                                       , (long) Marshal.OffsetOf(typeof(GstObject_control_rateAlign), "control_rate")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("last_sync"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // last_sync
+                                                       , "control_rate"
+                                                       , "_gst_reserved"
+                                                       , (long) Marshal.OffsetOf(typeof(GstObject_last_syncAlign), "last_sync")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // _gst_reserved
+                                                       , "last_sync"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstObject_flagsAlign
+               {
+                       sbyte f1;
+                       private uint flags;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstObject_control_rateAlign
+               {
+                       sbyte f1;
+                       private ulong control_rate;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstObject_last_syncAlign
+               {
+                       sbyte f1;
+                       private ulong last_sync;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ObjectFlags.cs b/sources/generated/Gst_ObjectFlags.cs
new file mode 100644 (file)
index 0000000..3708cca
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.ObjectFlagsGType))]
+       public enum ObjectFlags {
+
+               MayBeLeaked = 1,
+               Last = 16,
+       }
+
+       internal class ObjectFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_object_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_object_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Pad.cs b/sources/generated/Gst_Pad.cs
new file mode 100644 (file)
index 0000000..5ee1158
--- /dev/null
@@ -0,0 +1,1743 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Pad : Gst.Object {
+
+               public Pad (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_new(IntPtr name, int direction);
+
+               public Pad (string name, Gst.PadDirection direction) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Pad)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               names.Add ("direction");
+                               vals.Add (new GLib.Value (direction));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_pad_new(native_name, (int) direction);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_new_from_static_template(IntPtr templ, IntPtr name);
+
+               public Pad (Gst.StaticPadTemplate templ, string name) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Pad)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_templ = GLib.Marshaller.StructureToPtrAlloc (templ);
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_pad_new_from_static_template(native_templ, native_name);
+                       Marshal.FreeHGlobal (native_templ);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_new_from_template(IntPtr templ, IntPtr name);
+
+               public Pad (Gst.PadTemplate templ, string name) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Pad)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               if (templ != null) {
+                                       names.Add ("name");
+                                       vals.Add (new GLib.Value (name));
+                               }
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_pad_new_from_template(templ == null ? IntPtr.Zero : templ.Handle, native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_get_direction(IntPtr raw);
+
+               [GLib.Property ("direction")]
+               public Gst.PadDirection Direction {
+                       get  {
+                               int raw_ret = gst_pad_get_direction(Handle);
+                               Gst.PadDirection ret = (Gst.PadDirection) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_pad_get_offset(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_offset(IntPtr raw, long offset);
+
+               [GLib.Property ("offset")]
+               public long Offset {
+                       get  {
+                               long raw_ret = gst_pad_get_offset(Handle);
+                               long ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_pad_set_offset(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("template")]
+               public Gst.PadTemplate Template {
+                       get {
+                               GLib.Value val = GetProperty ("template");
+                               Gst.PadTemplate ret = (Gst.PadTemplate) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("template", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_element_private(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_element_private(IntPtr raw, IntPtr priv);
+
+               public IntPtr ElementPrivate {
+                       get  {
+                               IntPtr raw_ret = gst_pad_get_element_private(Handle);
+                               IntPtr ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_pad_set_element_private(Handle, value);
+                       }
+               }
+
+               public Gst.PadTemplate Padtemplate {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("padtemplate"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.PadTemplate;
+                               }
+                       }
+               }
+
+               public Gst.PadDirection DirectionField {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("direction"));
+                                       return (Gst.PadDirection) (*raw_ptr);
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_peer(IntPtr raw);
+
+               public Gst.Pad Peer {
+                       get  {
+                               IntPtr raw_ret = gst_pad_get_peer(Handle);
+                               Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                               return ret;
+                       }
+               }
+
+               [GLib.Signal("unlinked")]
+               public event Gst.UnlinkedHandler Unlinked {
+                       add {
+                               this.AddSignalHandler ("unlinked", value, typeof (Gst.UnlinkedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("unlinked", value);
+                       }
+               }
+
+               [GLib.Signal("linked")]
+               public event Gst.LinkedHandler Linked {
+                       add {
+                               this.AddSignalHandler ("linked", value, typeof (Gst.LinkedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("linked", value);
+                       }
+               }
+
+               static LinkedNativeDelegate Linked_cb_delegate;
+               static LinkedNativeDelegate LinkedVMCallback {
+                       get {
+                               if (Linked_cb_delegate == null)
+                                       Linked_cb_delegate = new LinkedNativeDelegate (Linked_cb);
+                               return Linked_cb_delegate;
+                       }
+               }
+
+               static void OverrideLinked (GLib.GType gtype)
+               {
+                       OverrideLinked (gtype, LinkedVMCallback);
+               }
+
+               static void OverrideLinked (GLib.GType gtype, LinkedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("linked"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void LinkedNativeDelegate (IntPtr inst, IntPtr peer);
+
+               static void Linked_cb (IntPtr inst, IntPtr peer)
+               {
+                       try {
+                               Pad __obj = GLib.Object.GetObject (inst, false) as Pad;
+                               __obj.OnLinked (GLib.Object.GetObject(peer) as Gst.Pad);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Pad), ConnectionMethod="OverrideLinked")]
+               protected virtual void OnLinked (Gst.Pad peer)
+               {
+                       InternalLinked (peer);
+               }
+
+               private void InternalLinked (Gst.Pad peer)
+               {
+                       LinkedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("linked"));
+                               unmanaged = (LinkedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(LinkedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, peer == null ? IntPtr.Zero : peer.Handle);
+               }
+
+               static UnlinkedNativeDelegate Unlinked_cb_delegate;
+               static UnlinkedNativeDelegate UnlinkedVMCallback {
+                       get {
+                               if (Unlinked_cb_delegate == null)
+                                       Unlinked_cb_delegate = new UnlinkedNativeDelegate (Unlinked_cb);
+                               return Unlinked_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnlinked (GLib.GType gtype)
+               {
+                       OverrideUnlinked (gtype, UnlinkedVMCallback);
+               }
+
+               static void OverrideUnlinked (GLib.GType gtype, UnlinkedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unlinked"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void UnlinkedNativeDelegate (IntPtr inst, IntPtr peer);
+
+               static void Unlinked_cb (IntPtr inst, IntPtr peer)
+               {
+                       try {
+                               Pad __obj = GLib.Object.GetObject (inst, false) as Pad;
+                               __obj.OnUnlinked (GLib.Object.GetObject(peer) as Gst.Pad);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Pad), ConnectionMethod="OverrideUnlinked")]
+               protected virtual void OnUnlinked (Gst.Pad peer)
+               {
+                       InternalUnlinked (peer);
+               }
+
+               private void InternalUnlinked (Gst.Pad peer)
+               {
+                       UnlinkedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unlinked"));
+                               unmanaged = (UnlinkedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnlinkedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, peer == null ? IntPtr.Zero : peer.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("linked"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // linked
+                                                       , null
+                                                       , "unlinked"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unlinked"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unlinked
+                                                       , "linked"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "unlinked"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_pad_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_link_get_name(int _ret);
+
+               public static string LinkGetName(Gst.PadLinkReturn _ret) {
+                       IntPtr raw_ret = gst_pad_link_get_name((int) _ret);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_activate_mode(IntPtr raw, int mode, bool active);
+
+               public bool ActivateMode(Gst.PadMode mode, bool active) {
+                       bool raw_ret = gst_pad_activate_mode(Handle, (int) mode, active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern UIntPtr gst_pad_add_probe(IntPtr raw, int mask, GstSharp.PadProbeCallbackNative cb, IntPtr user_data, GLib.DestroyNotify destroy_data);
+
+               public ulong AddProbe(Gst.PadProbeType mask, Gst.PadProbeCallback cb) {
+                       GstSharp.PadProbeCallbackWrapper cb_wrapper = new GstSharp.PadProbeCallbackWrapper (cb);
+                       IntPtr user_data;
+                       GLib.DestroyNotify destroy_data;
+                       if (cb == null) {
+                               user_data = IntPtr.Zero;
+                               destroy_data = null;
+                       } else {
+                               user_data = (IntPtr) GCHandle.Alloc (cb_wrapper);
+                               destroy_data = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       UIntPtr raw_ret = gst_pad_add_probe(Handle, (int) mask, cb_wrapper.NativeDelegate, user_data, destroy_data);
+                       ulong ret = (ulong) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_can_link(IntPtr raw, IntPtr sinkpad);
+
+               public bool CanLink(Gst.Pad sinkpad) {
+                       bool raw_ret = gst_pad_can_link(Handle, sinkpad == null ? IntPtr.Zero : sinkpad.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_chain(IntPtr raw, IntPtr buffer);
+
+               public Gst.FlowReturn Chain(Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       int raw_ret = gst_pad_chain(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_chain_list(IntPtr raw, IntPtr list);
+
+               public Gst.FlowReturn ChainList(Gst.BufferList list) {
+                       list.Owned = false;
+                       int raw_ret = gst_pad_chain_list(Handle, list == null ? IntPtr.Zero : list.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_check_reconfigure(IntPtr raw);
+
+               public bool CheckReconfigure() {
+                       bool raw_ret = gst_pad_check_reconfigure(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_create_stream_id(IntPtr raw, IntPtr parent, IntPtr stream_id);
+
+               public string CreateStreamId(Gst.Element parent, string stream_id) {
+                       IntPtr native_stream_id = GLib.Marshaller.StringToPtrGStrdup (stream_id);
+                       IntPtr raw_ret = gst_pad_create_stream_id(Handle, parent == null ? IntPtr.Zero : parent.Handle, native_stream_id);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_stream_id);
+                       return ret;
+               }
+
+               public string CreateStreamId(Gst.Element parent) {
+                       return CreateStreamId (parent, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_event_default(IntPtr raw, IntPtr parent, IntPtr evnt);
+
+               public bool EventDefault(Gst.Object parent, Gst.Event evnt) {
+                       evnt.Owned = false;
+                       bool raw_ret = gst_pad_event_default(Handle, parent == null ? IntPtr.Zero : parent.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool EventDefault(Gst.Event evnt) {
+                       return EventDefault (null, evnt);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_forward(IntPtr raw, GstSharp.PadForwardFunctionNative forward, IntPtr user_data);
+
+               public bool Forward(Gst.PadForwardFunction forward) {
+                       GstSharp.PadForwardFunctionWrapper forward_wrapper = new GstSharp.PadForwardFunctionWrapper (forward);
+                       bool raw_ret = gst_pad_forward(Handle, forward_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_allowed_caps(IntPtr raw);
+
+               public Gst.Caps AllowedCaps { 
+                       get {
+                               IntPtr raw_ret = gst_pad_get_allowed_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_current_caps(IntPtr raw);
+
+               public Gst.Caps CurrentCaps { 
+                       get {
+                               IntPtr raw_ret = gst_pad_get_current_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_get_last_flow_return(IntPtr raw);
+
+               public Gst.FlowReturn LastFlowReturn { 
+                       get {
+                               int raw_ret = gst_pad_get_last_flow_return(Handle);
+                               Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_pad_template(IntPtr raw);
+
+               public Gst.PadTemplate PadTemplate { 
+                       get {
+                               IntPtr raw_ret = gst_pad_get_pad_template(Handle);
+                               Gst.PadTemplate ret = GLib.Object.GetObject(raw_ret, true) as Gst.PadTemplate;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_pad_template_caps(IntPtr raw);
+
+               public Gst.Caps PadTemplateCaps { 
+                       get {
+                               IntPtr raw_ret = gst_pad_get_pad_template_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_parent_element(IntPtr raw);
+
+               public Gst.Element ParentElement { 
+                       get {
+                               IntPtr raw_ret = gst_pad_get_parent_element(Handle);
+                               Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_get_range(IntPtr raw, ulong offset, uint size, out IntPtr buffer);
+
+               public Gst.FlowReturn GetRange(ulong offset, uint size, out Gst.Buffer buffer) {
+                       IntPtr native_buffer;
+                       int raw_ret = gst_pad_get_range(Handle, offset, size, out native_buffer);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_sticky_event(IntPtr raw, int event_type, uint idx);
+
+               public Gst.Event GetStickyEvent(Gst.EventType event_type, uint idx) {
+                       IntPtr raw_ret = gst_pad_get_sticky_event(Handle, (int) event_type, idx);
+                       Gst.Event ret = raw_ret == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Event), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_stream(IntPtr raw);
+
+               public Gst.Stream Stream { 
+                       get {
+                               IntPtr raw_ret = gst_pad_get_stream(Handle);
+                               Gst.Stream ret = GLib.Object.GetObject(raw_ret, true) as Gst.Stream;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_get_stream_id(IntPtr raw);
+
+               public string StreamId { 
+                       get {
+                               IntPtr raw_ret = gst_pad_get_stream_id(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_get_task_state(IntPtr raw);
+
+               public Gst.TaskState TaskState { 
+                       get {
+                               int raw_ret = gst_pad_get_task_state(Handle);
+                               Gst.TaskState ret = (Gst.TaskState) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_has_current_caps(IntPtr raw);
+
+               public bool HasCurrentCaps { 
+                       get {
+                               bool raw_ret = gst_pad_has_current_caps(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_is_active(IntPtr raw);
+
+               public bool IsActive { 
+                       get {
+                               bool raw_ret = gst_pad_is_active(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_is_blocked(IntPtr raw);
+
+               public bool IsBlocked { 
+                       get {
+                               bool raw_ret = gst_pad_is_blocked(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_is_blocking(IntPtr raw);
+
+               public bool IsBlocking { 
+                       get {
+                               bool raw_ret = gst_pad_is_blocking(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_is_linked(IntPtr raw);
+
+               public bool IsLinked { 
+                       get {
+                               bool raw_ret = gst_pad_is_linked(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_iterate_internal_links(IntPtr raw);
+
+               public Gst.Iterator IterateInternalLinks() {
+                       IntPtr raw_ret = gst_pad_iterate_internal_links(Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_iterate_internal_links_default(IntPtr raw, IntPtr parent);
+
+               public Gst.Iterator IterateInternalLinksDefault(Gst.Object parent) {
+                       IntPtr raw_ret = gst_pad_iterate_internal_links_default(Handle, parent == null ? IntPtr.Zero : parent.Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               public Gst.Iterator IterateInternalLinksDefault() {
+                       return IterateInternalLinksDefault (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_link(IntPtr raw, IntPtr sinkpad);
+
+               public Gst.PadLinkReturn Link(Gst.Pad sinkpad) {
+                       int raw_ret = gst_pad_link(Handle, sinkpad == null ? IntPtr.Zero : sinkpad.Handle);
+                       Gst.PadLinkReturn ret = (Gst.PadLinkReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_link_full(IntPtr raw, IntPtr sinkpad, int flags);
+
+               public Gst.PadLinkReturn LinkFull(Gst.Pad sinkpad, Gst.PadLinkCheck flags) {
+                       int raw_ret = gst_pad_link_full(Handle, sinkpad == null ? IntPtr.Zero : sinkpad.Handle, (int) flags);
+                       Gst.PadLinkReturn ret = (Gst.PadLinkReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_link_maybe_ghosting(IntPtr raw, IntPtr sink);
+
+               public bool LinkMaybeGhosting(Gst.Pad sink) {
+                       bool raw_ret = gst_pad_link_maybe_ghosting(Handle, sink == null ? IntPtr.Zero : sink.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_link_maybe_ghosting_full(IntPtr raw, IntPtr sink, int flags);
+
+               public bool LinkMaybeGhostingFull(Gst.Pad sink, Gst.PadLinkCheck flags) {
+                       bool raw_ret = gst_pad_link_maybe_ghosting_full(Handle, sink == null ? IntPtr.Zero : sink.Handle, (int) flags);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_mark_reconfigure(IntPtr raw);
+
+               public void MarkReconfigure() {
+                       gst_pad_mark_reconfigure(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_needs_reconfigure(IntPtr raw);
+
+               public bool NeedsReconfigure() {
+                       bool raw_ret = gst_pad_needs_reconfigure(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_pause_task(IntPtr raw);
+
+               public bool PauseTask() {
+                       bool raw_ret = gst_pad_pause_task(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_peer_query(IntPtr raw, IntPtr query);
+
+               public bool PeerQuery(Gst.Query query) {
+                       bool raw_ret = gst_pad_peer_query(Handle, query == null ? IntPtr.Zero : query.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_peer_query_accept_caps(IntPtr raw, IntPtr caps);
+
+               public bool PeerQueryAcceptCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_pad_peer_query_accept_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_peer_query_caps(IntPtr raw, IntPtr filter);
+
+               public Gst.Caps PeerQueryCaps(Gst.Caps filter) {
+                       IntPtr raw_ret = gst_pad_peer_query_caps(Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public Gst.Caps PeerQueryCaps() {
+                       return PeerQueryCaps (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_peer_query_convert(IntPtr raw, int src_format, long src_val, int dest_format, out long dest_val);
+
+               public bool PeerQueryConvert(Gst.Format src_format, long src_val, Gst.Format dest_format, out long dest_val) {
+                       bool raw_ret = gst_pad_peer_query_convert(Handle, (int) src_format, src_val, (int) dest_format, out dest_val);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_peer_query_duration(IntPtr raw, int format, out long duration);
+
+               public bool PeerQueryDuration(Gst.Format format, out long duration) {
+                       bool raw_ret = gst_pad_peer_query_duration(Handle, (int) format, out duration);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_peer_query_position(IntPtr raw, int format, out long cur);
+
+               public bool PeerQueryPosition(Gst.Format format, out long cur) {
+                       bool raw_ret = gst_pad_peer_query_position(Handle, (int) format, out cur);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_proxy_query_accept_caps(IntPtr raw, IntPtr query);
+
+               public bool ProxyQueryAcceptCaps(Gst.Query query) {
+                       bool raw_ret = gst_pad_proxy_query_accept_caps(Handle, query == null ? IntPtr.Zero : query.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_proxy_query_caps(IntPtr raw, IntPtr query);
+
+               public bool ProxyQueryCaps(Gst.Query query) {
+                       bool raw_ret = gst_pad_proxy_query_caps(Handle, query == null ? IntPtr.Zero : query.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_pull_range(IntPtr raw, ulong offset, uint size, out IntPtr buffer);
+
+               public Gst.FlowReturn PullRange(ulong offset, uint size, out Gst.Buffer buffer) {
+                       IntPtr native_buffer;
+                       int raw_ret = gst_pad_pull_range(Handle, offset, size, out native_buffer);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_push(IntPtr raw, IntPtr buffer);
+
+               public Gst.FlowReturn Push(Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       int raw_ret = gst_pad_push(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_push_event(IntPtr raw, IntPtr evnt);
+
+               public bool PushEvent(Gst.Event evnt) {
+                       evnt.Owned = false;
+                       bool raw_ret = gst_pad_push_event(Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_push_list(IntPtr raw, IntPtr list);
+
+               public Gst.FlowReturn PushList(Gst.BufferList list) {
+                       list.Owned = false;
+                       int raw_ret = gst_pad_push_list(Handle, list == null ? IntPtr.Zero : list.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_query(IntPtr raw, IntPtr query);
+
+               public bool Query(Gst.Query query) {
+                       bool raw_ret = gst_pad_query(Handle, query == null ? IntPtr.Zero : query.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_query_accept_caps(IntPtr raw, IntPtr caps);
+
+               public bool QueryAcceptCaps(Gst.Caps caps) {
+                       bool raw_ret = gst_pad_query_accept_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_query_caps(IntPtr raw, IntPtr filter);
+
+               public Gst.Caps QueryCaps(Gst.Caps filter) {
+                       IntPtr raw_ret = gst_pad_query_caps(Handle, filter == null ? IntPtr.Zero : filter.Handle);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       return ret;
+               }
+
+               public Gst.Caps QueryCaps() {
+                       return QueryCaps (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_query_convert(IntPtr raw, int src_format, long src_val, int dest_format, out long dest_val);
+
+               public bool QueryConvert(Gst.Format src_format, long src_val, Gst.Format dest_format, out long dest_val) {
+                       bool raw_ret = gst_pad_query_convert(Handle, (int) src_format, src_val, (int) dest_format, out dest_val);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_query_default(IntPtr raw, IntPtr parent, IntPtr query);
+
+               public bool QueryDefault(Gst.Object parent, Gst.Query query) {
+                       bool raw_ret = gst_pad_query_default(Handle, parent == null ? IntPtr.Zero : parent.Handle, query == null ? IntPtr.Zero : query.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool QueryDefault(Gst.Query query) {
+                       return QueryDefault (null, query);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_query_duration(IntPtr raw, int format, out long duration);
+
+               public bool QueryDuration(Gst.Format format, out long duration) {
+                       bool raw_ret = gst_pad_query_duration(Handle, (int) format, out duration);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_query_position(IntPtr raw, int format, out long cur);
+
+               public bool QueryPosition(Gst.Format format, out long cur) {
+                       bool raw_ret = gst_pad_query_position(Handle, (int) format, out cur);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_remove_probe(IntPtr raw, UIntPtr id);
+
+               public void RemoveProbe(ulong id) {
+                       gst_pad_remove_probe(Handle, new UIntPtr (id));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_send_event(IntPtr raw, IntPtr evnt);
+
+               public bool SendEvent(Gst.Event evnt) {
+                       evnt.Owned = false;
+                       bool raw_ret = gst_pad_send_event(Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_activate_function_full(IntPtr raw, GstSharp.PadActivateFunctionNative activate, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadActivateFunction ActivateFunctionFull { 
+                       set {
+                               GstSharp.PadActivateFunctionWrapper value_wrapper = new GstSharp.PadActivateFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_activate_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_activatemode_function_full(IntPtr raw, GstSharp.PadActivateModeFunctionNative activatemode, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadActivateModeFunction ActivatemodeFunctionFull { 
+                       set {
+                               GstSharp.PadActivateModeFunctionWrapper value_wrapper = new GstSharp.PadActivateModeFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_activatemode_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_set_active(IntPtr raw, bool active);
+
+               public bool SetActive(bool active) {
+                       bool raw_ret = gst_pad_set_active(Handle, active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_chain_function_full(IntPtr raw, GstSharp.PadChainFunctionNative chain, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadChainFunction ChainFunctionFull { 
+                       set {
+                               GstSharp.PadChainFunctionWrapper value_wrapper = new GstSharp.PadChainFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_chain_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_chain_list_function_full(IntPtr raw, GstSharp.PadChainListFunctionNative chainlist, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadChainListFunction ChainListFunctionFull { 
+                       set {
+                               GstSharp.PadChainListFunctionWrapper value_wrapper = new GstSharp.PadChainListFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_chain_list_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_event_full_function_full(IntPtr raw, GstSharp.PadEventFullFunctionNative evnt, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadEventFullFunction EventFullFunctionFull { 
+                       set {
+                               GstSharp.PadEventFullFunctionWrapper value_wrapper = new GstSharp.PadEventFullFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_event_full_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_event_function_full(IntPtr raw, GstSharp.PadEventFunctionNative evnt, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadEventFunction EventFunctionFull { 
+                       set {
+                               GstSharp.PadEventFunctionWrapper value_wrapper = new GstSharp.PadEventFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_event_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_getrange_function_full(IntPtr raw, GstSharp.PadGetRangeFunctionNative get, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadGetRangeFunction GetrangeFunctionFull { 
+                       set {
+                               GstSharp.PadGetRangeFunctionWrapper value_wrapper = new GstSharp.PadGetRangeFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_getrange_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_iterate_internal_links_function_full(IntPtr raw, GstSharp.PadIterIntLinkFunctionNative iterintlink, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadIterIntLinkFunction IterateInternalLinksFunctionFull { 
+                       set {
+                               GstSharp.PadIterIntLinkFunctionWrapper value_wrapper = new GstSharp.PadIterIntLinkFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_iterate_internal_links_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_link_function_full(IntPtr raw, GstSharp.PadLinkFunctionNative link, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadLinkFunction LinkFunctionFull { 
+                       set {
+                               GstSharp.PadLinkFunctionWrapper value_wrapper = new GstSharp.PadLinkFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_link_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_query_function_full(IntPtr raw, GstSharp.PadQueryFunctionNative query, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadQueryFunction QueryFunctionFull { 
+                       set {
+                               GstSharp.PadQueryFunctionWrapper value_wrapper = new GstSharp.PadQueryFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_query_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_set_unlink_function_full(IntPtr raw, GstSharp.PadUnlinkFunctionNative unlink, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.PadUnlinkFunction UnlinkFunctionFull { 
+                       set {
+                               GstSharp.PadUnlinkFunctionWrapper value_wrapper = new GstSharp.PadUnlinkFunctionWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_pad_set_unlink_function_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_start_task(IntPtr raw, GstSharp.TaskFunctionNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public bool StartTask(Gst.TaskFunction func) {
+                       GstSharp.TaskFunctionWrapper func_wrapper = new GstSharp.TaskFunctionWrapper (func);
+                       IntPtr user_data;
+                       GLib.DestroyNotify notify;
+                       if (func == null) {
+                               user_data = IntPtr.Zero;
+                               notify = null;
+                       } else {
+                               user_data = (IntPtr) GCHandle.Alloc (func_wrapper);
+                               notify = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       bool raw_ret = gst_pad_start_task(Handle, func_wrapper.NativeDelegate, user_data, notify);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_sticky_events_foreach(IntPtr raw, GstSharp.PadStickyEventsForeachFunctionNative foreach_func, IntPtr user_data);
+
+               public void StickyEventsForeach(Gst.PadStickyEventsForeachFunction foreach_func) {
+                       GstSharp.PadStickyEventsForeachFunctionWrapper foreach_func_wrapper = new GstSharp.PadStickyEventsForeachFunctionWrapper (foreach_func);
+                       gst_pad_sticky_events_foreach(Handle, foreach_func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_stop_task(IntPtr raw);
+
+               public bool StopTask() {
+                       bool raw_ret = gst_pad_stop_task(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_pad_store_sticky_event(IntPtr raw, IntPtr evnt);
+
+               public Gst.FlowReturn StoreStickyEvent(Gst.Event evnt) {
+                       int raw_ret = gst_pad_store_sticky_event(Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pad_unlink(IntPtr raw, IntPtr sinkpad);
+
+               public bool Unlink(Gst.Pad sinkpad) {
+                       bool raw_ret = gst_pad_unlink(Handle, sinkpad == null ? IntPtr.Zero : sinkpad.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_use_fixed_caps(IntPtr raw);
+
+               public void UseFixedCaps() {
+                       gst_pad_use_fixed_caps(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_mode_get_name(int mode);
+
+               public static string ModeGetName(Gst.PadMode mode) {
+                       IntPtr raw_ret = gst_pad_mode_get_name((int) mode);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("element_private"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // element_private
+                                                       , null
+                                                       , "padtemplate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("padtemplate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // padtemplate
+                                                       , "element_private"
+                                                       , "direction"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("direction"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.PadDirection))) // direction
+                                                       , "padtemplate"
+                                                       , "stream_rec_lock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_directionAlign), "direction")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stream_rec_lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.RecMutex.ABI)) // stream_rec_lock
+                                                       , "direction"
+                                                       , "task"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_stream_rec_lockAlign), "stream_rec_lock")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("task"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // task
+                                                       , "stream_rec_lock"
+                                                       , "block_cond"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("block_cond"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Cond.ABI)) // block_cond
+                                                       , "task"
+                                                       , "probes"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_block_condAlign), "block_cond")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("probes"
+                                                       , -1
+                                                       , GLib.HookList.abi_info.Size // probes
+                                                       , "block_cond"
+                                                       , "mode"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_probesAlign), "probes")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("mode"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.PadMode))) // mode
+                                                       , "probes"
+                                                       , "activatefunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_modeAlign), "mode")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("activatefunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // activatefunc
+                                                       , "mode"
+                                                       , "activatedata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("activatedata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // activatedata
+                                                       , "activatefunc"
+                                                       , "activatenotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("activatenotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // activatenotify
+                                                       , "activatedata"
+                                                       , "activatemodefunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_activatenotifyAlign), "activatenotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("activatemodefunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // activatemodefunc
+                                                       , "activatenotify"
+                                                       , "activatemodedata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("activatemodedata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // activatemodedata
+                                                       , "activatemodefunc"
+                                                       , "activatemodenotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("activatemodenotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // activatemodenotify
+                                                       , "activatemodedata"
+                                                       , "peer"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_activatemodenotifyAlign), "activatemodenotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("peer"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // peer
+                                                       , "activatemodenotify"
+                                                       , "linkfunc"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("linkfunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // linkfunc
+                                                       , "peer"
+                                                       , "linkdata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("linkdata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // linkdata
+                                                       , "linkfunc"
+                                                       , "linknotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("linknotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // linknotify
+                                                       , "linkdata"
+                                                       , "unlinkfunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_linknotifyAlign), "linknotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unlinkfunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unlinkfunc
+                                                       , "linknotify"
+                                                       , "unlinkdata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unlinkdata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unlinkdata
+                                                       , "unlinkfunc"
+                                                       , "unlinknotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unlinknotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unlinknotify
+                                                       , "unlinkdata"
+                                                       , "chainfunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_unlinknotifyAlign), "unlinknotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("chainfunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // chainfunc
+                                                       , "unlinknotify"
+                                                       , "chaindata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("chaindata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // chaindata
+                                                       , "chainfunc"
+                                                       , "chainnotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("chainnotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // chainnotify
+                                                       , "chaindata"
+                                                       , "chainlistfunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_chainnotifyAlign), "chainnotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("chainlistfunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // chainlistfunc
+                                                       , "chainnotify"
+                                                       , "chainlistdata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("chainlistdata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // chainlistdata
+                                                       , "chainlistfunc"
+                                                       , "chainlistnotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("chainlistnotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // chainlistnotify
+                                                       , "chainlistdata"
+                                                       , "getrangefunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_chainlistnotifyAlign), "chainlistnotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("getrangefunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // getrangefunc
+                                                       , "chainlistnotify"
+                                                       , "getrangedata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("getrangedata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // getrangedata
+                                                       , "getrangefunc"
+                                                       , "getrangenotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("getrangenotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // getrangenotify
+                                                       , "getrangedata"
+                                                       , "eventfunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_getrangenotifyAlign), "getrangenotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("eventfunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // eventfunc
+                                                       , "getrangenotify"
+                                                       , "eventdata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("eventdata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // eventdata
+                                                       , "eventfunc"
+                                                       , "eventnotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("eventnotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // eventnotify
+                                                       , "eventdata"
+                                                       , "offset"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_eventnotifyAlign), "eventnotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("offset"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(long)) // offset
+                                                       , "eventnotify"
+                                                       , "queryfunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_offsetAlign), "offset")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("queryfunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // queryfunc
+                                                       , "offset"
+                                                       , "querydata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("querydata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // querydata
+                                                       , "queryfunc"
+                                                       , "querynotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("querynotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // querynotify
+                                                       , "querydata"
+                                                       , "iterintlinkfunc"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_querynotifyAlign), "querynotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("iterintlinkfunc"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // iterintlinkfunc
+                                                       , "querynotify"
+                                                       , "iterintlinkdata"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("iterintlinkdata"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // iterintlinkdata
+                                                       , "iterintlinkfunc"
+                                                       , "iterintlinknotify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("iterintlinknotify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // iterintlinknotify
+                                                       , "iterintlinkdata"
+                                                       , "num_probes"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_iterintlinknotifyAlign), "iterintlinknotify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("num_probes"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // num_probes
+                                                       , "iterintlinknotify"
+                                                       , "num_blocked"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_num_probesAlign), "num_probes")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("num_blocked"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(int)) // num_blocked
+                                                       , "num_probes"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPad_num_blockedAlign), "num_blocked")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "num_blocked"
+                                                       , "ABI"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               // union struct ABI
+                                                       new GLib.AbiField("ABI._gst_reserved"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // ABI._gst_reserved
+                                                               , "priv"
+                                                               , null
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                               , 0
+                                                               ),
+                                               // End ABI
+
+                                               // union struct ABI.abi
+                                                       new GLib.AbiField("ABI.abi.last_flowret"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.FlowReturn))) // ABI.abi.last_flowret
+                                                               , "priv"
+                                                               , "ABI.abi.eventfullfunc"
+                                                               , (long) Marshal.OffsetOf(typeof(GstPad_ABI_abi_last_flowretAlign), "ABI_abi_last_flowret")
+                                                               , 0
+                                                               ),
+                                                       new GLib.AbiField("ABI.abi.eventfullfunc"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr)) // ABI.abi.eventfullfunc
+                                                               , "ABI.abi.last_flowret"
+                                                               , null
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                               , 0
+                                                               ),
+                                               // End ABI.abi
+
+                                               new GLib.AbiField("ABI"
+                                                       , -1
+                                                       , new List<List<string>>() {  // union ABI
+                                               new List<string>() {"ABI._gst_reserved"},
+                                               new List<string>() {"ABI.abi.last_flowret","ABI.abi.eventfullfunc"}
+                                         }
+                                                       , "priv"
+                                                       , null
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_directionAlign
+               {
+                       sbyte f1;
+                       private Gst.PadDirection direction;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_stream_rec_lockAlign
+               {
+                       sbyte f1;
+                       private GLib.RecMutex.ABI stream_rec_lock;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_block_condAlign
+               {
+                       sbyte f1;
+                       private GLib.Cond.ABI block_cond;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_probesAlign
+               {
+                       sbyte f1;
+                       private GLib.HookList probes;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_modeAlign
+               {
+                       sbyte f1;
+                       private Gst.PadMode mode;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_activatenotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify activatenotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_activatemodenotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify activatemodenotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_linknotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify linknotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_unlinknotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify unlinknotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_chainnotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify chainnotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_chainlistnotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify chainlistnotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_getrangenotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify getrangenotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_eventnotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify eventnotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_offsetAlign
+               {
+                       sbyte f1;
+                       private long offset;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_querynotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify querynotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_iterintlinknotifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify iterintlinknotify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_num_probesAlign
+               {
+                       sbyte f1;
+                       private int num_probes;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_num_blockedAlign
+               {
+                       sbyte f1;
+                       private int num_blocked;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPad_ABI_abi_last_flowretAlign
+               {
+                       sbyte f1;
+                       private Gst.FlowReturn ABI_abi_last_flowret;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PadActivateFunction.cs b/sources/generated/Gst_PadActivateFunction.cs
new file mode 100644 (file)
index 0000000..17e6e00
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PadActivateFunction(Gst.Pad pad, Gst.Object parent);
+
+}
diff --git a/sources/generated/Gst_PadActivateModeFunction.cs b/sources/generated/Gst_PadActivateModeFunction.cs
new file mode 100644 (file)
index 0000000..d608ac2
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PadActivateModeFunction(Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active);
+
+}
diff --git a/sources/generated/Gst_PadAddedHandler.cs b/sources/generated/Gst_PadAddedHandler.cs
new file mode 100644 (file)
index 0000000..8ab31ee
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void PadAddedHandler(object o, PadAddedArgs args);
+
+       public class PadAddedArgs : GLib.SignalArgs {
+               public Gst.Pad NewPad{
+                       get {
+                               return (Gst.Pad) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_PadChainFunction.cs b/sources/generated/Gst_PadChainFunction.cs
new file mode 100644 (file)
index 0000000..235c68a
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.FlowReturn PadChainFunction(Gst.Pad pad, Gst.Object parent, Gst.Buffer buffer);
+
+}
diff --git a/sources/generated/Gst_PadChainListFunction.cs b/sources/generated/Gst_PadChainListFunction.cs
new file mode 100644 (file)
index 0000000..e61d9fc
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.FlowReturn PadChainListFunction(Gst.Pad pad, Gst.Object parent, Gst.BufferList list);
+
+}
diff --git a/sources/generated/Gst_PadCreatedEventHandler.cs b/sources/generated/Gst_PadCreatedEventHandler.cs
new file mode 100644 (file)
index 0000000..78a614c
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void PadCreatedEventHandler(object o, PadCreatedEventArgs args);
+
+       public class PadCreatedEventArgs : GLib.SignalArgs {
+               public Gst.Pad Pad{
+                       get {
+                               return (Gst.Pad) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_PadDirection.cs b/sources/generated/Gst_PadDirection.cs
new file mode 100644 (file)
index 0000000..a7814d1
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PadDirectionGType))]
+       public enum PadDirection {
+
+               Unknown = 0,
+               Src = 1,
+               Sink = 2,
+       }
+
+       internal class PadDirectionGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_direction_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_direction_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadEventFullFunction.cs b/sources/generated/Gst_PadEventFullFunction.cs
new file mode 100644 (file)
index 0000000..d654e29
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.FlowReturn PadEventFullFunction(Gst.Pad pad, Gst.Object parent, Gst.Event evnt);
+
+}
diff --git a/sources/generated/Gst_PadEventFunction.cs b/sources/generated/Gst_PadEventFunction.cs
new file mode 100644 (file)
index 0000000..8432f77
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PadEventFunction(Gst.Pad pad, Gst.Object parent, Gst.Event evnt);
+
+}
diff --git a/sources/generated/Gst_PadFlags.cs b/sources/generated/Gst_PadFlags.cs
new file mode 100644 (file)
index 0000000..09fa0c3
--- /dev/null
@@ -0,0 +1,41 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.PadFlagsGType))]
+       public enum PadFlags {
+
+               Blocked = 16,
+               Flushing = 32,
+               Eos = 64,
+               Blocking = 128,
+               NeedParent = 256,
+               NeedReconfigure = 512,
+               PendingEvents = 1024,
+               FixedCaps = 2048,
+               ProxyCaps = 4096,
+               ProxyAllocation = 8192,
+               ProxyScheduling = 16384,
+               AcceptIntersect = 32768,
+               AcceptTemplate = 65536,
+               Last = 1048576,
+       }
+
+       internal class PadFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadForwardFunction.cs b/sources/generated/Gst_PadForwardFunction.cs
new file mode 100644 (file)
index 0000000..44e26d1
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PadForwardFunction(Gst.Pad pad);
+
+}
diff --git a/sources/generated/Gst_PadGetRangeFunction.cs b/sources/generated/Gst_PadGetRangeFunction.cs
new file mode 100644 (file)
index 0000000..6d70db3
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.FlowReturn PadGetRangeFunction(Gst.Pad pad, Gst.Object parent, ulong offset, uint length, Gst.Buffer buffer);
+
+}
diff --git a/sources/generated/Gst_PadIterIntLinkFunction.cs b/sources/generated/Gst_PadIterIntLinkFunction.cs
new file mode 100644 (file)
index 0000000..f8c37b9
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.Iterator PadIterIntLinkFunction(Gst.Pad pad, Gst.Object parent);
+
+}
diff --git a/sources/generated/Gst_PadLinkCheck.cs b/sources/generated/Gst_PadLinkCheck.cs
new file mode 100644 (file)
index 0000000..bb98d43
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.PadLinkCheckGType))]
+       public enum PadLinkCheck {
+
+               Nothing = 0,
+               Hierarchy = 1,
+               TemplateCaps = 2,
+               Caps = 4,
+               Default = 5,
+               NoReconfigure = 8,
+       }
+
+       internal class PadLinkCheckGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_link_check_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_link_check_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadLinkFunction.cs b/sources/generated/Gst_PadLinkFunction.cs
new file mode 100644 (file)
index 0000000..231346e
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.PadLinkReturn PadLinkFunction(Gst.Pad pad, Gst.Object parent, Gst.Pad peer);
+
+}
diff --git a/sources/generated/Gst_PadLinkReturn.cs b/sources/generated/Gst_PadLinkReturn.cs
new file mode 100644 (file)
index 0000000..df2d2e1
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PadLinkReturnGType))]
+       public enum PadLinkReturn {
+
+               Refused = -6,
+               Nosched = -5,
+               Noformat = -4,
+               WrongDirection = -3,
+               WasLinked = -2,
+               WrongHierarchy = -1,
+               Ok = 0,
+       }
+
+       internal class PadLinkReturnGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_link_return_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_link_return_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadMode.cs b/sources/generated/Gst_PadMode.cs
new file mode 100644 (file)
index 0000000..583bac3
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PadModeGType))]
+       public enum PadMode {
+
+               None = 0,
+               Push = 1,
+               Pull = 2,
+       }
+
+       internal class PadModeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadPresence.cs b/sources/generated/Gst_PadPresence.cs
new file mode 100644 (file)
index 0000000..6ec3e92
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PadPresenceGType))]
+       public enum PadPresence {
+
+               Always = 0,
+               Sometimes = 1,
+               Request = 2,
+       }
+
+       internal class PadPresenceGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_presence_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_presence_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadProbeCallback.cs b/sources/generated/Gst_PadProbeCallback.cs
new file mode 100644 (file)
index 0000000..6117a85
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate Gst.PadProbeReturn PadProbeCallback(Gst.Pad pad, Gst.PadProbeInfo info);
+
+}
diff --git a/sources/generated/Gst_PadProbeInfo.cs b/sources/generated/Gst_PadProbeInfo.cs
new file mode 100644 (file)
index 0000000..0b211f8
--- /dev/null
@@ -0,0 +1,122 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct PadProbeInfo : IEquatable<PadProbeInfo> {
+
+               public Gst.PadProbeType Type;
+               private UIntPtr id;
+               public ulong Id {
+                       get {
+                               return (ulong) id;
+                       }
+                       set {
+                               id = new UIntPtr (value);
+                       }
+               }
+               private IntPtr _data;
+               public ulong Offset;
+               public uint Size;
+
+               public static Gst.PadProbeInfo Zero = new Gst.PadProbeInfo ();
+
+               public static Gst.PadProbeInfo New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.PadProbeInfo.Zero;
+                       return (Gst.PadProbeInfo) Marshal.PtrToStructure (raw, typeof (Gst.PadProbeInfo));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_probe_info_get_buffer(IntPtr raw);
+
+               public Gst.Buffer Buffer { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_pad_probe_info_get_buffer(this_as_native);
+                               Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_probe_info_get_buffer_list(IntPtr raw);
+
+               public Gst.BufferList BufferList { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_pad_probe_info_get_buffer_list(this_as_native);
+                               Gst.BufferList ret = raw_ret == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.BufferList), false);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_probe_info_get_event(IntPtr raw);
+
+               public Gst.Event Event { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_pad_probe_info_get_event(this_as_native);
+                               Gst.Event ret = raw_ret == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Event), false);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_probe_info_get_query(IntPtr raw);
+
+               public Gst.Query Query { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_pad_probe_info_get_query(this_as_native);
+                               Gst.Query ret = raw_ret == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Query), false);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.PadProbeInfo target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (PadProbeInfo other)
+               {
+                       return true && Type.Equals (other.Type) && Id.Equals (other.Id) && _data.Equals (other._data) && Offset.Equals (other.Offset) && Size.Equals (other.Size);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is PadProbeInfo && Equals ((PadProbeInfo) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Type.GetHashCode () ^ Id.GetHashCode () ^ _data.GetHashCode () ^ Offset.GetHashCode () ^ Size.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PadProbeReturn.cs b/sources/generated/Gst_PadProbeReturn.cs
new file mode 100644 (file)
index 0000000..f89f085
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PadProbeReturnGType))]
+       public enum PadProbeReturn {
+
+               Drop = 0,
+               Ok = 1,
+               Remove = 2,
+               Pass = 3,
+               Handled = 4,
+       }
+
+       internal class PadProbeReturnGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_probe_return_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_probe_return_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadProbeType.cs b/sources/generated/Gst_PadProbeType.cs
new file mode 100644 (file)
index 0000000..d5b8790
--- /dev/null
@@ -0,0 +1,49 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.PadProbeTypeGType))]
+       public enum PadProbeType {
+
+               Invalid = 0,
+               Idle = 1,
+               Block = 2,
+               Blocking = 3,
+               Buffer = 16,
+               BufferList = 32,
+               EventDownstream = 64,
+               DataDownstream = 112,
+               BlockDownstream = 114,
+               EventUpstream = 128,
+               DataUpstream = 128,
+               BlockUpstream = 130,
+               EventBoth = 192,
+               DataBoth = 240,
+               EventFlush = 256,
+               QueryDownstream = 512,
+               QueryUpstream = 1024,
+               QueryBoth = 1536,
+               AllBoth = 1776,
+               Push = 4096,
+               Pull = 8192,
+               Scheduling = 12288,
+       }
+
+       internal class PadProbeTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_probe_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_probe_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadQueryFunction.cs b/sources/generated/Gst_PadQueryFunction.cs
new file mode 100644 (file)
index 0000000..9b25c2d
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PadQueryFunction(Gst.Pad pad, Gst.Object parent, Gst.Query query);
+
+}
diff --git a/sources/generated/Gst_PadRemovedHandler.cs b/sources/generated/Gst_PadRemovedHandler.cs
new file mode 100644 (file)
index 0000000..b49d36f
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void PadRemovedHandler(object o, PadRemovedArgs args);
+
+       public class PadRemovedArgs : GLib.SignalArgs {
+               public Gst.Pad OldPad{
+                       get {
+                               return (Gst.Pad) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_PadStickyEventsForeachFunction.cs b/sources/generated/Gst_PadStickyEventsForeachFunction.cs
new file mode 100644 (file)
index 0000000..850e1b7
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PadStickyEventsForeachFunction(Gst.Pad pad, Gst.Event evnt);
+
+}
diff --git a/sources/generated/Gst_PadTemplate.cs b/sources/generated/Gst_PadTemplate.cs
new file mode 100644 (file)
index 0000000..baa7de9
--- /dev/null
@@ -0,0 +1,388 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class PadTemplate : Gst.Object {
+
+               public PadTemplate (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_template_new(IntPtr name_template, int direction, int presence, IntPtr caps);
+
+               public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (PadTemplate)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name_template");
+                               vals.Add (new GLib.Value (name_template));
+                               names.Add ("direction");
+                               vals.Add (new GLib.Value (direction));
+                               names.Add ("presence");
+                               vals.Add (new GLib.Value (presence));
+                               if (caps != null) {
+                                       names.Add ("caps");
+                                       vals.Add (new GLib.Value (caps));
+                               }
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name_template = GLib.Marshaller.StringToPtrGStrdup (name_template);
+                       Raw = gst_pad_template_new(native_name_template, (int) direction, (int) presence, caps == null ? IntPtr.Zero : caps.Handle);
+                       GLib.Marshaller.Free (native_name_template);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_template_new_from_static_pad_template_with_gtype(IntPtr pad_template, IntPtr pad_type);
+
+               public PadTemplate (Gst.StaticPadTemplate pad_template, GLib.GType pad_type) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (PadTemplate)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_pad_template = GLib.Marshaller.StructureToPtrAlloc (pad_template);
+                       Raw = gst_pad_template_new_from_static_pad_template_with_gtype(native_pad_template, pad_type.Val);
+                       Marshal.FreeHGlobal (native_pad_template);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_template_new_with_gtype(IntPtr name_template, int direction, int presence, IntPtr caps, IntPtr pad_type);
+
+               public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps, GLib.GType pad_type) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (PadTemplate)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name_template");
+                               vals.Add (new GLib.Value (name_template));
+                               names.Add ("direction");
+                               vals.Add (new GLib.Value (direction));
+                               names.Add ("presence");
+                               vals.Add (new GLib.Value (presence));
+                               if (caps != null) {
+                                       names.Add ("caps");
+                                       vals.Add (new GLib.Value (caps));
+                               }
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name_template = GLib.Marshaller.StringToPtrGStrdup (name_template);
+                       Raw = gst_pad_template_new_with_gtype(native_name_template, (int) direction, (int) presence, caps == null ? IntPtr.Zero : caps.Handle, pad_type.Val);
+                       GLib.Marshaller.Free (native_name_template);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_template_get_caps(IntPtr raw);
+
+               [GLib.Property ("caps")]
+               public Gst.Caps Caps {
+                       get  {
+                               IntPtr raw_ret = gst_pad_template_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("direction")]
+               public Gst.PadDirection Direction {
+                       get {
+                               GLib.Value val = GetProperty ("direction");
+                               Gst.PadDirection ret = (Gst.PadDirection) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("gtype")]
+               public GLib.GType Gtype {
+                       get {
+                               GLib.Value val = GetProperty ("gtype");
+                               GLib.GType ret = (GLib.GType) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("name-template")]
+               public string NameTemplate {
+                       get {
+                               GLib.Value val = GetProperty ("name-template");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("presence")]
+               public Gst.PadPresence Presence {
+                       get {
+                               GLib.Value val = GetProperty ("presence");
+                               Gst.PadPresence ret = (Gst.PadPresence) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               public string NameTemplateField {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("name_template"));
+                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
+                               }
+                       }
+               }
+
+               public Gst.PadDirection DirectionField {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("direction"));
+                                       return (Gst.PadDirection) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.PadPresence PresenceField {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("presence"));
+                                       return (Gst.PadPresence) (*raw_ptr);
+                               }
+                       }
+               }
+
+               public Gst.Caps CapsField {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("caps"));
+                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Caps), false);
+                               }
+                       }
+               }
+
+               [GLib.Signal("pad-created")]
+               public event Gst.PadCreatedEventHandler PadCreatedEvent {
+                       add {
+                               this.AddSignalHandler ("pad-created", value, typeof (Gst.PadCreatedEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pad-created", value);
+                       }
+               }
+
+               static PadCreatedEventNativeDelegate PadCreatedEvent_cb_delegate;
+               static PadCreatedEventNativeDelegate PadCreatedEventVMCallback {
+                       get {
+                               if (PadCreatedEvent_cb_delegate == null)
+                                       PadCreatedEvent_cb_delegate = new PadCreatedEventNativeDelegate (PadCreatedEvent_cb);
+                               return PadCreatedEvent_cb_delegate;
+                       }
+               }
+
+               static void OverridePadCreatedEvent (GLib.GType gtype)
+               {
+                       OverridePadCreatedEvent (gtype, PadCreatedEventVMCallback);
+               }
+
+               static void OverridePadCreatedEvent (GLib.GType gtype, PadCreatedEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pad_created"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void PadCreatedEventNativeDelegate (IntPtr inst, IntPtr pad);
+
+               static void PadCreatedEvent_cb (IntPtr inst, IntPtr pad)
+               {
+                       try {
+                               PadTemplate __obj = GLib.Object.GetObject (inst, false) as PadTemplate;
+                               __obj.OnPadCreatedEvent (GLib.Object.GetObject(pad) as Gst.Pad);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.PadTemplate), ConnectionMethod="OverridePadCreatedEvent")]
+               protected virtual void OnPadCreatedEvent (Gst.Pad pad)
+               {
+                       InternalPadCreatedEvent (pad);
+               }
+
+               private void InternalPadCreatedEvent (Gst.Pad pad)
+               {
+                       PadCreatedEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pad_created"));
+                               unmanaged = (PadCreatedEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PadCreatedEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, pad == null ? IntPtr.Zero : pad.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("pad_created"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pad_created
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "pad_created"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_template_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_pad_template_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pad_template_pad_created(IntPtr raw, IntPtr pad);
+
+               public void PadCreated(Gst.Pad pad) {
+                       gst_pad_template_pad_created(Handle, pad == null ? IntPtr.Zero : pad.Handle);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("name_template"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // name_template
+                                                       , null
+                                                       , "direction"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("direction"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.PadDirection))) // direction
+                                                       , "name_template"
+                                                       , "presence"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPadTemplate_directionAlign), "direction")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("presence"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.PadPresence))) // presence
+                                                       , "direction"
+                                                       , "caps"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPadTemplate_presenceAlign), "presence")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("caps"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // caps
+                                                       , "presence"
+                                                       , "ABI"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               // union struct ABI
+                                                       new GLib.AbiField("ABI._gst_reserved"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // ABI._gst_reserved
+                                                               , "caps"
+                                                               , null
+                                                               , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                               , 0
+                                                               ),
+                                               // End ABI
+
+                                               // union struct ABI.abi
+                                                       new GLib.AbiField("ABI.abi.gtype"
+                                                               , -1
+                                                               , (uint) Marshal.SizeOf(typeof(GLib.GType)) // ABI.abi.gtype
+                                                               , "caps"
+                                                               , null
+                                                               , (long) Marshal.OffsetOf(typeof(GstPadTemplate_ABI_abi_gtypeAlign), "ABI_abi_gtype")
+                                                               , 0
+                                                               ),
+                                               // End ABI.abi
+
+                                               new GLib.AbiField("ABI"
+                                                       , -1
+                                                       , new List<List<string>>() {  // union ABI
+                                               new List<string>() {"ABI._gst_reserved"},
+                                               new List<string>() {"ABI.abi.gtype"}
+                                         }
+                                                       , "caps"
+                                                       , null
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPadTemplate_directionAlign
+               {
+                       sbyte f1;
+                       private Gst.PadDirection direction;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPadTemplate_presenceAlign
+               {
+                       sbyte f1;
+                       private Gst.PadPresence presence;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPadTemplate_ABI_abi_gtypeAlign
+               {
+                       sbyte f1;
+                       private GLib.GType ABI_abi_gtype;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PadTemplateFlags.cs b/sources/generated/Gst_PadTemplateFlags.cs
new file mode 100644 (file)
index 0000000..e9372c9
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.PadTemplateFlagsGType))]
+       public enum PadTemplateFlags {
+
+               Last = 256,
+       }
+
+       internal class PadTemplateFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pad_template_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pad_template_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PadUnlinkFunction.cs b/sources/generated/Gst_PadUnlinkFunction.cs
new file mode 100644 (file)
index 0000000..09f7cec
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void PadUnlinkFunction(Gst.Pad pad, Gst.Object parent);
+
+}
diff --git a/sources/generated/Gst_ParamArray.cs b/sources/generated/Gst_ParamArray.cs
new file mode 100644 (file)
index 0000000..3156897
--- /dev/null
@@ -0,0 +1,45 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ParamArray : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_param_spec_array_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_param_spec_array_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public ParamArray(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ParamFraction.cs b/sources/generated/Gst_ParamFraction.cs
new file mode 100644 (file)
index 0000000..78930eb
--- /dev/null
@@ -0,0 +1,45 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ParamFraction : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_param_spec_fraction_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_param_spec_fraction_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public ParamFraction(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ParentBufferMeta.cs b/sources/generated/Gst_ParentBufferMeta.cs
new file mode 100644 (file)
index 0000000..2ff56fd
--- /dev/null
@@ -0,0 +1,65 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct ParentBufferMeta : IEquatable<ParentBufferMeta> {
+
+               public Gst.Meta Parent;
+               private IntPtr _buffer;
+               public Gst.Buffer Buffer {
+                       get {
+                               return _buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_buffer, typeof (Gst.Buffer), false);
+                       }
+                       set {
+                               _buffer = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+
+               public static Gst.ParentBufferMeta Zero = new Gst.ParentBufferMeta ();
+
+               public static Gst.ParentBufferMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.ParentBufferMeta.Zero;
+                       return (Gst.ParentBufferMeta) Marshal.PtrToStructure (raw, typeof (Gst.ParentBufferMeta));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parent_buffer_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_parent_buffer_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (ParentBufferMeta other)
+               {
+                       return true && Parent.Equals (other.Parent) && Buffer.Equals (other.Buffer);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is ParentBufferMeta && Equals ((ParentBufferMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Parent.GetHashCode () ^ Buffer.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Parse.cs b/sources/generated/Gst_Parse.cs
new file mode 100644 (file)
index 0000000..b115b7b
--- /dev/null
@@ -0,0 +1,127 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Parse {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_parse_bin_from_description(IntPtr bin_description, bool ghost_unlinked_pads, out IntPtr error);
+
+               public static unsafe Gst.Bin BinFromDescription(string bin_description, bool ghost_unlinked_pads) {
+                       IntPtr native_bin_description = GLib.Marshaller.StringToPtrGStrdup (bin_description);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_parse_bin_from_description(native_bin_description, ghost_unlinked_pads, out error);
+                       Gst.Bin ret = GLib.Object.GetObject(raw_ret) as Gst.Bin;
+                       GLib.Marshaller.Free (native_bin_description);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_parse_bin_from_description_full(IntPtr bin_description, bool ghost_unlinked_pads, IntPtr context, int flags, out IntPtr error);
+
+               public static unsafe Gst.Element BinFromDescriptionFull(string bin_description, bool ghost_unlinked_pads, Gst.ParseContext context, Gst.ParseFlags flags) {
+                       IntPtr native_bin_description = GLib.Marshaller.StringToPtrGStrdup (bin_description);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_parse_bin_from_description_full(native_bin_description, ghost_unlinked_pads, context == null ? IntPtr.Zero : context.Handle, (int) flags, out error);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       GLib.Marshaller.Free (native_bin_description);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public static Gst.Element BinFromDescriptionFull(string bin_description, bool ghost_unlinked_pads, Gst.ParseFlags flags) {
+                       return BinFromDescriptionFull (bin_description, ghost_unlinked_pads, null, flags);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_parse_error_quark();
+
+               public static uint ErrorQuark() {
+                       uint raw_ret = gst_parse_error_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_parse_launch(IntPtr pipeline_description, out IntPtr error);
+
+               public static unsafe Gst.Element Launch(string pipeline_description) {
+                       IntPtr native_pipeline_description = GLib.Marshaller.StringToPtrGStrdup (pipeline_description);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_parse_launch(native_pipeline_description, out error);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       GLib.Marshaller.Free (native_pipeline_description);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_parse_launch_full(IntPtr pipeline_description, IntPtr context, int flags, out IntPtr error);
+
+               public static unsafe Gst.Element LaunchFull(string pipeline_description, Gst.ParseContext context, Gst.ParseFlags flags) {
+                       IntPtr native_pipeline_description = GLib.Marshaller.StringToPtrGStrdup (pipeline_description);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_parse_launch_full(native_pipeline_description, context == null ? IntPtr.Zero : context.Handle, (int) flags, out error);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       GLib.Marshaller.Free (native_pipeline_description);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public static Gst.Element LaunchFull(string pipeline_description, Gst.ParseFlags flags) {
+                       return LaunchFull (pipeline_description, null, flags);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_parse_launchv(IntPtr[] argv, out IntPtr error);
+
+               public static unsafe Gst.Element Launchv(string[] argv) {
+                       int cnt_argv = argv == null ? 0 : argv.Length;
+                       IntPtr[] native_argv = new IntPtr [cnt_argv + 1];
+                       for (int i = 0; i < cnt_argv; i++)
+                               native_argv [i] = GLib.Marshaller.StringToPtrGStrdup (argv[i]);
+                       native_argv [cnt_argv] = IntPtr.Zero;
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_parse_launchv(native_argv, out error);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       for (int i = 0; i < native_argv.Length - 1; i++) {
+                               argv [i] = GLib.Marshaller.Utf8PtrToString (native_argv[i]);
+                               GLib.Marshaller.Free (native_argv[i]);
+                       }
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_parse_launchv_full(IntPtr[] argv, IntPtr context, int flags, out IntPtr error);
+
+               public static unsafe Gst.Element LaunchvFull(string[] argv, Gst.ParseContext context, Gst.ParseFlags flags) {
+                       int cnt_argv = argv == null ? 0 : argv.Length;
+                       IntPtr[] native_argv = new IntPtr [cnt_argv + 1];
+                       for (int i = 0; i < cnt_argv; i++)
+                               native_argv [i] = GLib.Marshaller.StringToPtrGStrdup (argv[i]);
+                       native_argv [cnt_argv] = IntPtr.Zero;
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_parse_launchv_full(native_argv, context == null ? IntPtr.Zero : context.Handle, (int) flags, out error);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       for (int i = 0; i < native_argv.Length - 1; i++) {
+                               argv [i] = GLib.Marshaller.Utf8PtrToString (native_argv[i]);
+                               GLib.Marshaller.Free (native_argv[i]);
+                       }
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public static Gst.Element LaunchvFull(string[] argv, Gst.ParseFlags flags) {
+                       return LaunchvFull (argv, null, flags);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ParseContext.cs b/sources/generated/Gst_ParseContext.cs
new file mode 100644 (file)
index 0000000..9ee90e5
--- /dev/null
@@ -0,0 +1,104 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ParseContext : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parse_context_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_parse_context_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parse_context_copy(IntPtr raw);
+
+               public Gst.ParseContext Copy() {
+                       IntPtr raw_ret = gst_parse_context_copy(Handle);
+                       Gst.ParseContext ret = raw_ret == IntPtr.Zero ? null : (Gst.ParseContext) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.ParseContext), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parse_context_get_missing_elements(IntPtr raw);
+
+               public string[] MissingElements { 
+                       get {
+                               IntPtr raw_ret = gst_parse_context_get_missing_elements(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               public ParseContext(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parse_context_new();
+
+               public ParseContext () 
+               {
+                       Raw = gst_parse_context_new();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_parse_context_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_parse_context_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_parse_context_free (handle);
+                               return false;
+                       }
+               }
+
+               ~ParseContext ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ParseError.cs b/sources/generated/Gst_ParseError.cs
new file mode 100644 (file)
index 0000000..af19ac8
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.ParseErrorGType))]
+       public enum ParseError {
+
+               Syntax = 0,
+               NoSuchElement = 1,
+               NoSuchProperty = 2,
+               Link = 3,
+               CouldNotSetProperty = 4,
+               EmptyBin = 5,
+               Empty = 6,
+               DelayedLink = 7,
+       }
+
+       internal class ParseErrorGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parse_error_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_parse_error_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ParseFlags.cs b/sources/generated/Gst_ParseFlags.cs
new file mode 100644 (file)
index 0000000..437c739
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.ParseFlagsGType))]
+       public enum ParseFlags {
+
+               None = 0,
+               FatalErrors = 1,
+               NoSingleElementBins = 2,
+               PlaceInBin = 4,
+       }
+
+       internal class ParseFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_parse_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_parse_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Pipeline.cs b/sources/generated/Gst_Pipeline.cs
new file mode 100644 (file)
index 0000000..064e0e6
--- /dev/null
@@ -0,0 +1,262 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Pipeline : Gst.Bin {
+
+               public Pipeline (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pipeline_new(IntPtr name);
+
+               public Pipeline (string name) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Pipeline)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("name");
+                               vals.Add (new GLib.Value (name));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_pipeline_new(native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_pipeline_get_auto_flush_bus(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pipeline_set_auto_flush_bus(IntPtr raw, bool auto_flush);
+
+               [GLib.Property ("auto-flush-bus")]
+               public bool AutoFlushBus {
+                       get  {
+                               bool raw_ret = gst_pipeline_get_auto_flush_bus(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_pipeline_set_auto_flush_bus(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_pipeline_get_delay(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pipeline_set_delay(IntPtr raw, ulong delay);
+
+               [GLib.Property ("delay")]
+               public ulong Delay {
+                       get  {
+                               ulong raw_ret = gst_pipeline_get_delay(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_pipeline_set_delay(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_pipeline_get_latency(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pipeline_set_latency(IntPtr raw, ulong latency);
+
+               [GLib.Property ("latency")]
+               public ulong Latency {
+                       get  {
+                               ulong raw_ret = gst_pipeline_get_latency(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_pipeline_set_latency(Handle, value);
+                       }
+               }
+
+               public Gst.Clock FixedClock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("fixed_clock"));
+                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Clock;
+                               }
+                       }
+               }
+
+               public ulong StreamTime {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("stream_time"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public ulong DelayField {
+                       get {
+                               unsafe {
+                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("delay"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Bin.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pipeline_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_pipeline_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pipeline_auto_clock(IntPtr raw);
+
+               public void AutoClock() {
+                       gst_pipeline_auto_clock(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pipeline_get_bus(IntPtr raw);
+
+               public new Gst.Bus Bus { 
+                       get {
+                               IntPtr raw_ret = gst_pipeline_get_bus(Handle);
+                               Gst.Bus ret = GLib.Object.GetObject(raw_ret, true) as Gst.Bus;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pipeline_get_pipeline_clock(IntPtr raw);
+
+               public Gst.Clock PipelineClock { 
+                       get {
+                               IntPtr raw_ret = gst_pipeline_get_pipeline_clock(Handle);
+                               Gst.Clock ret = GLib.Object.GetObject(raw_ret, true) as Gst.Clock;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_pipeline_use_clock(IntPtr raw, IntPtr clock);
+
+               public void UseClock(Gst.Clock clock) {
+                       gst_pipeline_use_clock(Handle, clock == null ? IntPtr.Zero : clock.Handle);
+               }
+
+               public void UseClock() {
+                       UseClock (null);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("fixed_clock"
+                                                       , Gst.Bin.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // fixed_clock
+                                                       , null
+                                                       , "stream_time"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("stream_time"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // stream_time
+                                                       , "fixed_clock"
+                                                       , "delay"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPipeline_stream_timeAlign), "stream_time")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("delay"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // delay
+                                                       , "stream_time"
+                                                       , "priv"
+                                                       , (long) Marshal.OffsetOf(typeof(GstPipeline_delayAlign), "delay")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "delay"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPipeline_stream_timeAlign
+               {
+                       sbyte f1;
+                       private ulong stream_time;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstPipeline_delayAlign
+               {
+                       sbyte f1;
+                       private ulong delay;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PipelineFlags.cs b/sources/generated/Gst_PipelineFlags.cs
new file mode 100644 (file)
index 0000000..d5b0e24
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.PipelineFlagsGType))]
+       public enum PipelineFlags {
+
+               FixedClock = 524288,
+               Last = 8388608,
+       }
+
+       internal class PipelineFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_pipeline_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_pipeline_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Plugin.cs b/sources/generated/Gst_Plugin.cs
new file mode 100644 (file)
index 0000000..c1c5299
--- /dev/null
@@ -0,0 +1,324 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Plugin : Gst.Object {
+
+               public Plugin (IntPtr raw) : base(raw) {}
+
+               protected Plugin() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_plugin_list_free(IntPtr list);
+
+               public static void ListFree(GLib.List list) {
+                       gst_plugin_list_free(list == null ? IntPtr.Zero : list.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_load_by_name(IntPtr name);
+
+               public static Gst.Plugin LoadByName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_plugin_load_by_name(native_name);
+                       Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_plugin_load_file(IntPtr filename, out IntPtr error);
+
+               public static unsafe Gst.Plugin LoadFile(string filename) {
+                       IntPtr native_filename = GLib.Marshaller.StringToFilenamePtr (filename);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_plugin_load_file(native_filename, out error);
+                       Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
+                       GLib.Marshaller.Free (native_filename);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_plugin_register_static(int major_version, int minor_version, IntPtr name, IntPtr description, GstSharp.PluginInitFuncNative init_func, IntPtr version, IntPtr license, IntPtr source, IntPtr package, IntPtr origin);
+
+               public static bool RegisterStatic(int major_version, int minor_version, string name, string description, Gst.PluginInitFunc init_func, string version, string license, string source, string package, string origin) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+                       GstSharp.PluginInitFuncWrapper init_func_wrapper = new GstSharp.PluginInitFuncWrapper (init_func);
+                       IntPtr native_version = GLib.Marshaller.StringToPtrGStrdup (version);
+                       IntPtr native_license = GLib.Marshaller.StringToPtrGStrdup (license);
+                       IntPtr native_source = GLib.Marshaller.StringToPtrGStrdup (source);
+                       IntPtr native_package = GLib.Marshaller.StringToPtrGStrdup (package);
+                       IntPtr native_origin = GLib.Marshaller.StringToPtrGStrdup (origin);
+                       bool raw_ret = gst_plugin_register_static(major_version, minor_version, native_name, native_description, init_func_wrapper.NativeDelegate, native_version, native_license, native_source, native_package, native_origin);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_description);
+                       GLib.Marshaller.Free (native_version);
+                       GLib.Marshaller.Free (native_license);
+                       GLib.Marshaller.Free (native_source);
+                       GLib.Marshaller.Free (native_package);
+                       GLib.Marshaller.Free (native_origin);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_plugin_register_static_full(int major_version, int minor_version, IntPtr name, IntPtr description, GstSharp.PluginInitFullFuncNative init_full_func, IntPtr version, IntPtr license, IntPtr source, IntPtr package, IntPtr origin, IntPtr user_data);
+
+               public static bool RegisterStaticFull(int major_version, int minor_version, string name, string description, Gst.PluginInitFullFunc init_full_func, string version, string license, string source, string package, string origin) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+                       GstSharp.PluginInitFullFuncWrapper init_full_func_wrapper = new GstSharp.PluginInitFullFuncWrapper (init_full_func);
+                       IntPtr native_version = GLib.Marshaller.StringToPtrGStrdup (version);
+                       IntPtr native_license = GLib.Marshaller.StringToPtrGStrdup (license);
+                       IntPtr native_source = GLib.Marshaller.StringToPtrGStrdup (source);
+                       IntPtr native_package = GLib.Marshaller.StringToPtrGStrdup (package);
+                       IntPtr native_origin = GLib.Marshaller.StringToPtrGStrdup (origin);
+                       bool raw_ret = gst_plugin_register_static_full(major_version, minor_version, native_name, native_description, init_full_func_wrapper.NativeDelegate, native_version, native_license, native_source, native_package, native_origin, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_description);
+                       GLib.Marshaller.Free (native_version);
+                       GLib.Marshaller.Free (native_license);
+                       GLib.Marshaller.Free (native_source);
+                       GLib.Marshaller.Free (native_package);
+                       GLib.Marshaller.Free (native_origin);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_plugin_add_dependency(IntPtr raw, IntPtr[] env_vars, IntPtr[] paths, IntPtr[] names, int flags);
+
+               public void AddDependency(string[] env_vars, string[] paths, string[] names, Gst.PluginDependencyFlags flags) {
+                       int cnt_env_vars = env_vars == null ? 0 : env_vars.Length;
+                       IntPtr[] native_env_vars = new IntPtr [cnt_env_vars + 1];
+                       for (int i = 0; i < cnt_env_vars; i++)
+                               native_env_vars [i] = GLib.Marshaller.StringToPtrGStrdup (env_vars[i]);
+                       native_env_vars [cnt_env_vars] = IntPtr.Zero;
+                       int cnt_paths = paths == null ? 0 : paths.Length;
+                       IntPtr[] native_paths = new IntPtr [cnt_paths + 1];
+                       for (int i = 0; i < cnt_paths; i++)
+                               native_paths [i] = GLib.Marshaller.StringToPtrGStrdup (paths[i]);
+                       native_paths [cnt_paths] = IntPtr.Zero;
+                       int cnt_names = names == null ? 0 : names.Length;
+                       IntPtr[] native_names = new IntPtr [cnt_names + 1];
+                       for (int i = 0; i < cnt_names; i++)
+                               native_names [i] = GLib.Marshaller.StringToPtrGStrdup (names[i]);
+                       native_names [cnt_names] = IntPtr.Zero;
+                       gst_plugin_add_dependency(Handle, native_env_vars, native_paths, native_names, (int) flags);
+                       for (int i = 0; i < native_env_vars.Length - 1; i++) {
+                               env_vars [i] = GLib.Marshaller.Utf8PtrToString (native_env_vars[i]);
+                               GLib.Marshaller.Free (native_env_vars[i]);
+                       }
+                       for (int i = 0; i < native_paths.Length - 1; i++) {
+                               paths [i] = GLib.Marshaller.Utf8PtrToString (native_paths[i]);
+                               GLib.Marshaller.Free (native_paths[i]);
+                       }
+                       for (int i = 0; i < native_names.Length - 1; i++) {
+                               names [i] = GLib.Marshaller.Utf8PtrToString (native_names[i]);
+                               GLib.Marshaller.Free (native_names[i]);
+                       }
+               }
+
+               public void AddDependency(Gst.PluginDependencyFlags flags) {
+                       AddDependency (null, null, null, flags);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_plugin_add_dependency_simple(IntPtr raw, IntPtr env_vars, IntPtr paths, IntPtr names, int flags);
+
+               public void AddDependencySimple(string env_vars, string paths, string names, Gst.PluginDependencyFlags flags) {
+                       IntPtr native_env_vars = GLib.Marshaller.StringToPtrGStrdup (env_vars);
+                       IntPtr native_paths = GLib.Marshaller.StringToPtrGStrdup (paths);
+                       IntPtr native_names = GLib.Marshaller.StringToPtrGStrdup (names);
+                       gst_plugin_add_dependency_simple(Handle, native_env_vars, native_paths, native_names, (int) flags);
+                       GLib.Marshaller.Free (native_env_vars);
+                       GLib.Marshaller.Free (native_paths);
+                       GLib.Marshaller.Free (native_names);
+               }
+
+               public void AddDependencySimple(Gst.PluginDependencyFlags flags) {
+                       AddDependencySimple (null, null, null, flags);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_cache_data(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_plugin_set_cache_data(IntPtr raw, IntPtr cache_data);
+
+               public Gst.Structure CacheData { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_cache_data(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+                       set {
+                               value.Owned = false;
+                               gst_plugin_set_cache_data(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_description(IntPtr raw);
+
+               public string Description { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_description(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_filename(IntPtr raw);
+
+               public string Filename { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_filename(Handle);
+                               string ret = GLib.Marshaller.FilenamePtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_license(IntPtr raw);
+
+               public string License { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_license(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_origin(IntPtr raw);
+
+               public string Origin { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_origin(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_package(IntPtr raw);
+
+               public string Package { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_package(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_release_date_string(IntPtr raw);
+
+               public string ReleaseDateString { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_release_date_string(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_source(IntPtr raw);
+
+               public string Source { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_source(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_get_version(IntPtr raw);
+
+               public string Version { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_get_version(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_plugin_is_loaded(IntPtr raw);
+
+               public bool IsLoaded { 
+                       get {
+                               bool raw_ret = gst_plugin_is_loaded(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_load(IntPtr raw);
+
+               public Gst.Plugin Load() {
+                       IntPtr raw_ret = gst_plugin_load(Handle);
+                       Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.Object.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PluginAddedHandler.cs b/sources/generated/Gst_PluginAddedHandler.cs
new file mode 100644 (file)
index 0000000..3db31d7
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void PluginAddedHandler(object o, PluginAddedArgs args);
+
+       public class PluginAddedArgs : GLib.SignalArgs {
+               public Gst.Plugin Plugin{
+                       get {
+                               return (Gst.Plugin) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_PluginDependencyFlags.cs b/sources/generated/Gst_PluginDependencyFlags.cs
new file mode 100644 (file)
index 0000000..8eec71a
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.PluginDependencyFlagsGType))]
+       public enum PluginDependencyFlags {
+
+               None = 0,
+               Recurse = 1,
+               PathsAreDefaultOnly = 2,
+               FileNameIsSuffix = 4,
+               FileNameIsPrefix = 8,
+               PathsAreRelativeToExe = 16,
+       }
+
+       internal class PluginDependencyFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_dependency_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_plugin_dependency_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PluginDesc.cs b/sources/generated/Gst_PluginDesc.cs
new file mode 100644 (file)
index 0000000..7a22938
--- /dev/null
@@ -0,0 +1,62 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct PluginDesc : IEquatable<PluginDesc> {
+
+               public int MajorVersion;
+               public int MinorVersion;
+               public string Name;
+               public string Description;
+               private GstSharp.PluginInitFuncNative _plugin_init;
+               public Gst.PluginInitFunc PluginInit {
+                       get {
+                               return GstSharp.PluginInitFuncWrapper.GetManagedDelegate (_plugin_init);
+                       }
+               }
+               public string Version;
+               public string License;
+               public string Source;
+               public string Package;
+               public string Origin;
+               public string ReleaseDatetime;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.PluginDesc Zero = new Gst.PluginDesc ();
+
+               public static Gst.PluginDesc New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.PluginDesc.Zero;
+                       return (Gst.PluginDesc) Marshal.PtrToStructure (raw, typeof (Gst.PluginDesc));
+               }
+
+               public bool Equals (PluginDesc other)
+               {
+                       return true && MajorVersion.Equals (other.MajorVersion) && MinorVersion.Equals (other.MinorVersion) && Name.Equals (other.Name) && Description.Equals (other.Description) && PluginInit.Equals (other.PluginInit) && Version.Equals (other.Version) && License.Equals (other.License) && Source.Equals (other.Source) && Package.Equals (other.Package) && Origin.Equals (other.Origin) && ReleaseDatetime.Equals (other.ReleaseDatetime);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is PluginDesc && Equals ((PluginDesc) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ MajorVersion.GetHashCode () ^ MinorVersion.GetHashCode () ^ Name.GetHashCode () ^ Description.GetHashCode () ^ PluginInit.GetHashCode () ^ Version.GetHashCode () ^ License.GetHashCode () ^ Source.GetHashCode () ^ Package.GetHashCode () ^ Origin.GetHashCode () ^ ReleaseDatetime.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PluginError.cs b/sources/generated/Gst_PluginError.cs
new file mode 100644 (file)
index 0000000..5d5fe66
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PluginErrorGType))]
+       public enum PluginError {
+
+               Module = 0,
+               Dependencies = 1,
+               NameMismatch = 2,
+       }
+
+       internal class PluginErrorGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_error_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_plugin_error_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PluginFeature.cs b/sources/generated/Gst_PluginFeature.cs
new file mode 100644 (file)
index 0000000..0656eb0
--- /dev/null
@@ -0,0 +1,157 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class PluginFeature : Gst.Object {
+
+               protected PluginFeature (IntPtr raw) : base(raw) {}
+
+               protected PluginFeature() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_feature_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_feature_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_feature_list_copy(IntPtr list);
+
+               public static Gst.PluginFeature[] ListCopy(GLib.List list) {
+                       IntPtr raw_ret = gst_plugin_feature_list_copy(list == null ? IntPtr.Zero : list.Handle);
+                       Gst.PluginFeature[] ret = (Gst.PluginFeature[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PluginFeature));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_plugin_feature_list_debug(IntPtr list);
+
+               public static void ListDebug(GLib.List list) {
+                       gst_plugin_feature_list_debug(list == null ? IntPtr.Zero : list.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_plugin_feature_list_free(IntPtr list);
+
+               public static void ListFree(GLib.List list) {
+                       gst_plugin_feature_list_free(list == null ? IntPtr.Zero : list.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_plugin_feature_rank_compare_func(IntPtr p1, IntPtr p2);
+
+               public static int RankCompareFunc(IntPtr p1, IntPtr p2) {
+                       int raw_ret = gst_plugin_feature_rank_compare_func(p1, p2);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               public static int RankCompareFunc() {
+                       return RankCompareFunc (IntPtr.Zero, IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_plugin_feature_check_version(IntPtr raw, uint min_major, uint min_minor, uint min_micro);
+
+               public bool CheckVersion(uint min_major, uint min_minor, uint min_micro) {
+                       bool raw_ret = gst_plugin_feature_check_version(Handle, min_major, min_minor, min_micro);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_feature_get_plugin(IntPtr raw);
+
+               public Gst.Plugin Plugin { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_feature_get_plugin(Handle);
+                               Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_feature_get_plugin_name(IntPtr raw);
+
+               public string PluginName { 
+                       get {
+                               IntPtr raw_ret = gst_plugin_feature_get_plugin_name(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_plugin_feature_get_rank(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_plugin_feature_set_rank(IntPtr raw, uint rank);
+
+               public uint Rank { 
+                       get {
+                               uint raw_ret = gst_plugin_feature_get_rank(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_plugin_feature_set_rank(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_feature_load(IntPtr raw);
+
+               public Gst.PluginFeature Load() {
+                       IntPtr raw_ret = gst_plugin_feature_load(Handle);
+                       Gst.PluginFeature ret = GLib.Object.GetObject(raw_ret, true) as Gst.PluginFeature;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.Object.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PluginFeatureFilter.cs b/sources/generated/Gst_PluginFeatureFilter.cs
new file mode 100644 (file)
index 0000000..baa20f5
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PluginFeatureFilter(Gst.PluginFeature feature);
+
+}
diff --git a/sources/generated/Gst_PluginFilter.cs b/sources/generated/Gst_PluginFilter.cs
new file mode 100644 (file)
index 0000000..961bd60
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PluginFilter(Gst.Plugin plugin);
+
+}
diff --git a/sources/generated/Gst_PluginFlags.cs b/sources/generated/Gst_PluginFlags.cs
new file mode 100644 (file)
index 0000000..af1ebbc
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.PluginFlagsGType))]
+       public enum PluginFlags {
+
+               Cached = 16,
+               Blacklisted = 32,
+       }
+
+       internal class PluginFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_plugin_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_plugin_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_PluginInitFullFunc.cs b/sources/generated/Gst_PluginInitFullFunc.cs
new file mode 100644 (file)
index 0000000..3d9c9f5
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PluginInitFullFunc(Gst.Plugin plugin);
+
+}
diff --git a/sources/generated/Gst_PluginInitFunc.cs b/sources/generated/Gst_PluginInitFunc.cs
new file mode 100644 (file)
index 0000000..d3d4c51
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool PluginInitFunc(Gst.Plugin plugin);
+
+}
diff --git a/sources/generated/Gst_Poll.cs b/sources/generated/Gst_Poll.cs
new file mode 100644 (file)
index 0000000..ecc0a28
--- /dev/null
@@ -0,0 +1,225 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Poll : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_add_fd(IntPtr raw, IntPtr fd);
+
+               public bool AddFd(Gst.PollFD fd) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       bool raw_ret = gst_poll_add_fd(Handle, native_fd);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_fd);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_fd_can_read(IntPtr raw, IntPtr fd);
+
+               public bool FdCanRead(Gst.PollFD fd) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       bool raw_ret = gst_poll_fd_can_read(Handle, native_fd);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_fd);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_fd_can_write(IntPtr raw, IntPtr fd);
+
+               public bool FdCanWrite(Gst.PollFD fd) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       bool raw_ret = gst_poll_fd_can_write(Handle, native_fd);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_fd);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_fd_ctl_read(IntPtr raw, IntPtr fd, bool active);
+
+               public bool FdCtlRead(Gst.PollFD fd, bool active) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       bool raw_ret = gst_poll_fd_ctl_read(Handle, native_fd, active);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_fd);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_fd_ctl_write(IntPtr raw, IntPtr fd, bool active);
+
+               public bool FdCtlWrite(Gst.PollFD fd, bool active) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       bool raw_ret = gst_poll_fd_ctl_write(Handle, native_fd, active);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_fd);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_fd_has_closed(IntPtr raw, IntPtr fd);
+
+               public bool FdHasClosed(Gst.PollFD fd) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       bool raw_ret = gst_poll_fd_has_closed(Handle, native_fd);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_fd);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_fd_has_error(IntPtr raw, IntPtr fd);
+
+               public bool FdHasError(Gst.PollFD fd) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       bool raw_ret = gst_poll_fd_has_error(Handle, native_fd);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_fd);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_poll_fd_ignored(IntPtr raw, IntPtr fd);
+
+               public void FdIgnored(Gst.PollFD fd) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       gst_poll_fd_ignored(Handle, native_fd);
+                       Marshal.FreeHGlobal (native_fd);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_poll_get_read_gpollfd(IntPtr raw, out GLib.PollFD fd);
+
+               public GLib.PollFD ReadGpollfd { 
+                       get {
+                               GLib.PollFD fd;
+                               gst_poll_get_read_gpollfd(Handle, out fd);
+                               return fd;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_read_control(IntPtr raw);
+
+               public bool ReadControl() {
+                       bool raw_ret = gst_poll_read_control(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_remove_fd(IntPtr raw, IntPtr fd);
+
+               public bool RemoveFd(Gst.PollFD fd) {
+                       IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+                       bool raw_ret = gst_poll_remove_fd(Handle, native_fd);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_fd);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_poll_restart(IntPtr raw);
+
+               public void Restart() {
+                       gst_poll_restart(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_set_controllable(IntPtr raw, bool controllable);
+
+               public bool SetControllable(bool controllable) {
+                       bool raw_ret = gst_poll_set_controllable(Handle, controllable);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_poll_set_flushing(IntPtr raw, bool flushing);
+
+               public bool Flushing { 
+                       set {
+                               gst_poll_set_flushing(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_poll_wait(IntPtr raw, ulong timeout);
+
+               public int Wait(ulong timeout) {
+                       int raw_ret = gst_poll_wait(Handle, timeout);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_poll_write_control(IntPtr raw);
+
+               public bool WriteControl() {
+                       bool raw_ret = gst_poll_write_control(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public Poll(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_poll_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_poll_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_poll_free (handle);
+                               return false;
+                       }
+               }
+
+               ~Poll ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PollFD.cs b/sources/generated/Gst_PollFD.cs
new file mode 100644 (file)
index 0000000..4484f74
--- /dev/null
@@ -0,0 +1,62 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct PollFD : IEquatable<PollFD> {
+
+               public int Fd;
+               private int idx;
+
+               public static Gst.PollFD Zero = new Gst.PollFD ();
+
+               public static Gst.PollFD New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.PollFD.Zero;
+                       return (Gst.PollFD) Marshal.PtrToStructure (raw, typeof (Gst.PollFD));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_poll_fd_init(IntPtr raw);
+
+               public void Init() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_poll_fd_init(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.PollFD target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (PollFD other)
+               {
+                       return true && Fd.Equals (other.Fd) && idx.Equals (other.idx);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is PollFD && Equals ((PollFD) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Fd.GetHashCode () ^ idx.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PresetAdapter.cs b/sources/generated/Gst_PresetAdapter.cs
new file mode 100644 (file)
index 0000000..9eb130c
--- /dev/null
@@ -0,0 +1,409 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class PresetAdapter : GLib.GInterfaceAdapter, Gst.IPreset {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstPresetInterface {
+                       public GetPresetNamesNativeDelegate GetPresetNames;
+                       public GetPropertyNamesNativeDelegate GetPropertyNames;
+                       public LoadPresetNativeDelegate LoadPreset;
+                       public SavePresetNativeDelegate SavePreset;
+                       public RenamePresetNativeDelegate RenamePreset;
+                       public DeletePresetNativeDelegate DeletePreset;
+                       public SetMetaNativeDelegate SetMeta;
+                       public GetMetaNativeDelegate GetMeta;
+                       [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+                       private IntPtr[] _gstGstReserved;
+               }
+
+               static GstPresetInterface iface;
+
+               static PresetAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (PresetAdapter));
+                       iface.GetPresetNames = new GetPresetNamesNativeDelegate (GetPresetNames_cb);
+                       iface.GetPropertyNames = new GetPropertyNamesNativeDelegate (GetPropertyNames_cb);
+                       iface.LoadPreset = new LoadPresetNativeDelegate (LoadPreset_cb);
+                       iface.SavePreset = new SavePresetNativeDelegate (SavePreset_cb);
+                       iface.RenamePreset = new RenamePresetNativeDelegate (RenamePreset_cb);
+                       iface.DeletePreset = new DeletePresetNativeDelegate (DeletePreset_cb);
+                       iface.SetMeta = new SetMetaNativeDelegate (SetMeta_cb);
+                       iface.GetMeta = new GetMetaNativeDelegate (GetMeta_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetPresetNamesNativeDelegate (IntPtr inst);
+
+               static IntPtr GetPresetNames_cb (IntPtr inst)
+               {
+                       try {
+                               IPresetImplementor __obj = GLib.Object.GetObject (inst, false) as IPresetImplementor;
+                               string[] __result;
+                               __result = __obj.PresetNames;
+                               return GLib.Marshaller.StringArrayToNullTermStrvPointer (__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetPropertyNamesNativeDelegate (IntPtr inst);
+
+               static IntPtr GetPropertyNames_cb (IntPtr inst)
+               {
+                       try {
+                               IPresetImplementor __obj = GLib.Object.GetObject (inst, false) as IPresetImplementor;
+                               string[] __result;
+                               __result = __obj.PropertyNames;
+                               return GLib.Marshaller.StringArrayToNullTermStrvPointer (__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool LoadPresetNativeDelegate (IntPtr inst, IntPtr name);
+
+               static bool LoadPreset_cb (IntPtr inst, IntPtr name)
+               {
+                       try {
+                               IPresetImplementor __obj = GLib.Object.GetObject (inst, false) as IPresetImplementor;
+                               bool __result;
+                               __result = __obj.LoadPreset (GLib.Marshaller.Utf8PtrToString (name));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SavePresetNativeDelegate (IntPtr inst, IntPtr name);
+
+               static bool SavePreset_cb (IntPtr inst, IntPtr name)
+               {
+                       try {
+                               IPresetImplementor __obj = GLib.Object.GetObject (inst, false) as IPresetImplementor;
+                               bool __result;
+                               __result = __obj.SavePreset (GLib.Marshaller.Utf8PtrToString (name));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool RenamePresetNativeDelegate (IntPtr inst, IntPtr old_name, IntPtr new_name);
+
+               static bool RenamePreset_cb (IntPtr inst, IntPtr old_name, IntPtr new_name)
+               {
+                       try {
+                               IPresetImplementor __obj = GLib.Object.GetObject (inst, false) as IPresetImplementor;
+                               bool __result;
+                               __result = __obj.RenamePreset (GLib.Marshaller.Utf8PtrToString (old_name), GLib.Marshaller.Utf8PtrToString (new_name));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool DeletePresetNativeDelegate (IntPtr inst, IntPtr name);
+
+               static bool DeletePreset_cb (IntPtr inst, IntPtr name)
+               {
+                       try {
+                               IPresetImplementor __obj = GLib.Object.GetObject (inst, false) as IPresetImplementor;
+                               bool __result;
+                               __result = __obj.DeletePreset (GLib.Marshaller.Utf8PtrToString (name));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetMetaNativeDelegate (IntPtr inst, IntPtr name, IntPtr tag, IntPtr value);
+
+               static bool SetMeta_cb (IntPtr inst, IntPtr name, IntPtr tag, IntPtr value)
+               {
+                       try {
+                               IPresetImplementor __obj = GLib.Object.GetObject (inst, false) as IPresetImplementor;
+                               bool __result;
+                               __result = __obj.SetMeta (GLib.Marshaller.Utf8PtrToString (name), GLib.Marshaller.Utf8PtrToString (tag), GLib.Marshaller.Utf8PtrToString (value));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool GetMetaNativeDelegate (IntPtr inst, IntPtr name, IntPtr tag, out IntPtr value);
+
+               static bool GetMeta_cb (IntPtr inst, IntPtr name, IntPtr tag, out IntPtr value)
+               {
+                       try {
+                               IPresetImplementor __obj = GLib.Object.GetObject (inst, false) as IPresetImplementor;
+                               bool __result;
+                               string myvalue;
+                               __result = __obj.GetMeta (GLib.Marshaller.Utf8PtrToString (name), GLib.Marshaller.Utf8PtrToString (tag), out myvalue);
+                               value = GLib.Marshaller.StringToPtrGStrdup(myvalue);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GstPresetInterface native_iface = (GstPresetInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstPresetInterface));
+                       native_iface.GetPresetNames = iface.GetPresetNames;
+                       native_iface.GetPropertyNames = iface.GetPropertyNames;
+                       native_iface.LoadPreset = iface.LoadPreset;
+                       native_iface.SavePreset = iface.SavePreset;
+                       native_iface.RenamePreset = iface.RenamePreset;
+                       native_iface.DeletePreset = iface.DeletePreset;
+                       native_iface.SetMeta = iface.SetMeta;
+                       native_iface.GetMeta = iface.GetMeta;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public PresetAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public PresetAdapter (IPresetImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public PresetAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_preset_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IPreset GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IPreset GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IPresetImplementor)
+                               return new PresetAdapter (obj as IPresetImplementor);
+                       else if (obj as IPreset == null)
+                               return new PresetAdapter (obj.Handle);
+                       else
+                               return obj as IPreset;
+               }
+
+               public IPresetImplementor Implementor {
+                       get {
+                               return implementor as IPresetImplementor;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_app_dir();
+
+               public static string AppDir { 
+                       get {
+                               IntPtr raw_ret = gst_preset_get_app_dir();
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_set_app_dir(IntPtr app_dir);
+
+               public static bool SetAppDir(string app_dir) {
+                       IntPtr native_app_dir = GLib.Marshaller.StringToPtrGStrdup (app_dir);
+                       bool raw_ret = gst_preset_set_app_dir(native_app_dir);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_app_dir);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_delete_preset(IntPtr raw, IntPtr name);
+
+               public bool DeletePreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_delete_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_get_meta(IntPtr raw, IntPtr name, IntPtr tag, out IntPtr value);
+
+               public bool GetMeta(string name, string tag, out string value) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_preset_get_meta(Handle, native_name, native_tag, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_tag);
+                       value = GLib.Marshaller.PtrToStringGFree(native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_preset_names(IntPtr raw);
+
+               public string[] PresetNames { 
+                       get {
+                               IntPtr raw_ret = gst_preset_get_preset_names(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_preset_get_property_names(IntPtr raw);
+
+               public string[] PropertyNames { 
+                       get {
+                               IntPtr raw_ret = gst_preset_get_property_names(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_is_editable(IntPtr raw);
+
+               public bool IsEditable { 
+                       get {
+                               bool raw_ret = gst_preset_is_editable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_load_preset(IntPtr raw, IntPtr name);
+
+               public bool LoadPreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_load_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_rename_preset(IntPtr raw, IntPtr old_name, IntPtr new_name);
+
+               public bool RenamePreset(string old_name, string new_name) {
+                       IntPtr native_old_name = GLib.Marshaller.StringToPtrGStrdup (old_name);
+                       IntPtr native_new_name = GLib.Marshaller.StringToPtrGStrdup (new_name);
+                       bool raw_ret = gst_preset_rename_preset(Handle, native_old_name, native_new_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_old_name);
+                       GLib.Marshaller.Free (native_new_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_save_preset(IntPtr raw, IntPtr name);
+
+               public bool SavePreset(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_preset_save_preset(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_preset_set_meta(IntPtr raw, IntPtr name, IntPtr tag, IntPtr value);
+
+               public bool SetMeta(string name, string tag, string value) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = gst_preset_set_meta(Handle, native_name, native_tag, native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_tag);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               public bool SetMeta(string name, string tag) {
+                       return SetMeta (name, tag, null);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ProgressType.cs b/sources/generated/Gst_ProgressType.cs
new file mode 100644 (file)
index 0000000..13c828c
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.ProgressTypeGType))]
+       public enum ProgressType {
+
+               Start = 0,
+               Continue = 1,
+               Complete = 2,
+               Canceled = 3,
+               Error = 4,
+       }
+
+       internal class ProgressTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_progress_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_progress_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Promise.cs b/sources/generated/Gst_Promise.cs
new file mode 100644 (file)
index 0000000..10ffd34
--- /dev/null
@@ -0,0 +1,101 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Promise : Gst.MiniObject {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_promise_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_promise_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_promise_expire(IntPtr raw);
+
+               public void Expire() {
+                       gst_promise_expire(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_promise_get_reply(IntPtr raw);
+
+               public Gst.Structure RetrieveReply() {
+                       IntPtr raw_ret = gst_promise_get_reply(Handle);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_promise_interrupt(IntPtr raw);
+
+               public void Interrupt() {
+                       gst_promise_interrupt(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_promise_reply(IntPtr raw, IntPtr s);
+
+               public void Reply(Gst.Structure s) {
+                       s.Owned = false;
+                       gst_promise_reply(Handle, s == null ? IntPtr.Zero : s.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_promise_wait(IntPtr raw);
+
+               public Gst.PromiseResult Wait() {
+                       int raw_ret = gst_promise_wait(Handle);
+                       Gst.PromiseResult ret = (Gst.PromiseResult) raw_ret;
+                       return ret;
+               }
+
+               public Promise(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_promise_new();
+
+               public Promise () 
+               {
+                       Raw = gst_promise_new();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_promise_new_with_change_func(GstSharp.PromiseChangeFuncNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Promise (Gst.PromiseChangeFunc func, IntPtr user_data, GLib.DestroyNotify notify) 
+               {
+                       GstSharp.PromiseChangeFuncWrapper func_wrapper = new GstSharp.PromiseChangeFuncWrapper (func);
+                       Raw = gst_promise_new_with_change_func(func_wrapper.NativeDelegate, user_data, notify);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.MiniObject.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_PromiseChangeFunc.cs b/sources/generated/Gst_PromiseChangeFunc.cs
new file mode 100644 (file)
index 0000000..fcea538
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void PromiseChangeFunc(Gst.Promise promise);
+
+}
diff --git a/sources/generated/Gst_PromiseResult.cs b/sources/generated/Gst_PromiseResult.cs
new file mode 100644 (file)
index 0000000..fc2c193
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.PromiseResultGType))]
+       public enum PromiseResult {
+
+               Pending = 0,
+               Interrupted = 1,
+               Replied = 2,
+               Expired = 3,
+       }
+
+       internal class PromiseResultGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_promise_result_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_promise_result_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ProtectionMeta.cs b/sources/generated/Gst_ProtectionMeta.cs
new file mode 100644 (file)
index 0000000..0bfcfff
--- /dev/null
@@ -0,0 +1,54 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct ProtectionMeta : IEquatable<ProtectionMeta> {
+
+               public Gst.Meta Meta;
+               private IntPtr _info;
+               public Gst.Structure Info {
+                       get {
+                               return _info == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (_info, typeof (Gst.Structure), false);
+                       }
+                       set {
+                               _info = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+
+               public static Gst.ProtectionMeta Zero = new Gst.ProtectionMeta ();
+
+               public static Gst.ProtectionMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.ProtectionMeta.Zero;
+                       return (Gst.ProtectionMeta) Marshal.PtrToStructure (raw, typeof (Gst.ProtectionMeta));
+               }
+
+               public bool Equals (ProtectionMeta other)
+               {
+                       return true && Meta.Equals (other.Meta) && Info.Equals (other.Info);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is ProtectionMeta && Equals ((ProtectionMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Info.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ProviderHiddenHandler.cs b/sources/generated/Gst_ProviderHiddenHandler.cs
new file mode 100644 (file)
index 0000000..e3a4aaf
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void ProviderHiddenHandler(object o, ProviderHiddenArgs args);
+
+       public class ProviderHiddenArgs : GLib.SignalArgs {
+               public string Object{
+                       get {
+                               return (string) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_ProviderUnhiddenHandler.cs b/sources/generated/Gst_ProviderUnhiddenHandler.cs
new file mode 100644 (file)
index 0000000..9a04f00
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void ProviderUnhiddenHandler(object o, ProviderUnhiddenArgs args);
+
+       public class ProviderUnhiddenArgs : GLib.SignalArgs {
+               public string Object{
+                       get {
+                               return (string) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_ProxyPad.cs b/sources/generated/Gst_ProxyPad.cs
new file mode 100644 (file)
index 0000000..c849c14
--- /dev/null
@@ -0,0 +1,145 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ProxyPad : Gst.Pad {
+
+               public ProxyPad (IntPtr raw) : base(raw) {}
+
+               protected ProxyPad() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Pad.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 1 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_proxy_pad_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_proxy_pad_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_proxy_pad_chain_default(IntPtr pad, IntPtr parent, IntPtr buffer);
+
+               public static Gst.FlowReturn ChainDefault(Gst.Pad pad, Gst.Object parent, Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       int raw_ret = gst_proxy_pad_chain_default(pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               public static Gst.FlowReturn ChainDefault(Gst.Pad pad, Gst.Buffer buffer) {
+                       return ChainDefault (pad, null, buffer);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_proxy_pad_chain_list_default(IntPtr pad, IntPtr parent, IntPtr list);
+
+               public static Gst.FlowReturn ChainListDefault(Gst.Pad pad, Gst.Object parent, Gst.BufferList list) {
+                       list.Owned = false;
+                       int raw_ret = gst_proxy_pad_chain_list_default(pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, list == null ? IntPtr.Zero : list.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               public static Gst.FlowReturn ChainListDefault(Gst.Pad pad, Gst.BufferList list) {
+                       return ChainListDefault (pad, null, list);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_proxy_pad_getrange_default(IntPtr pad, IntPtr parent, ulong offset, uint size, out IntPtr buffer);
+
+               public static Gst.FlowReturn GetrangeDefault(Gst.Pad pad, Gst.Object parent, ulong offset, uint size, out Gst.Buffer buffer) {
+                       IntPtr native_buffer;
+                       int raw_ret = gst_proxy_pad_getrange_default(pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, offset, size, out native_buffer);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_proxy_pad_iterate_internal_links_default(IntPtr pad, IntPtr parent);
+
+               public static Gst.Iterator IterateInternalLinksDefault(Gst.Pad pad, Gst.Object parent) {
+                       IntPtr raw_ret = gst_proxy_pad_iterate_internal_links_default(pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle);
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               public static Gst.Iterator IterateInternalLinksDefault(Gst.Pad pad) {
+                       return IterateInternalLinksDefault (pad, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_proxy_pad_get_internal(IntPtr raw);
+
+               public Gst.ProxyPad Internal { 
+                       get {
+                               IntPtr raw_ret = gst_proxy_pad_get_internal(Handle);
+                               Gst.ProxyPad ret = GLib.Object.GetObject(raw_ret, true) as Gst.ProxyPad;
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Pad.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_QOSType.cs b/sources/generated/Gst_QOSType.cs
new file mode 100644 (file)
index 0000000..688dcaf
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.QOSTypeGType))]
+       public enum QOSType {
+
+               Overflow = 0,
+               Underflow = 1,
+               Throttle = 2,
+       }
+
+       internal class QOSTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_qos_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_qos_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Query.cs b/sources/generated/Gst_Query.cs
new file mode 100644 (file)
index 0000000..06fe512
--- /dev/null
@@ -0,0 +1,815 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Query : Gst.MiniObject {
+
+               public Gst.QueryType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (Gst.QueryType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_query_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_add_allocation_meta(IntPtr raw, IntPtr api, IntPtr parms);
+
+               public void AddAllocationMeta(GLib.GType api, Gst.Structure parms) {
+                       gst_query_add_allocation_meta(Handle, api.Val, parms == null ? IntPtr.Zero : parms.Handle);
+               }
+
+               public void AddAllocationMeta(GLib.GType api) {
+                       AddAllocationMeta (api, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_add_allocation_param(IntPtr raw, IntPtr allocator, IntPtr parms);
+
+               public void AddAllocationParam(Gst.Allocator allocator, Gst.AllocationParams parms) {
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       gst_query_add_allocation_param(Handle, allocator == null ? IntPtr.Zero : allocator.Handle, native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               public void AddAllocationParam() {
+                       AddAllocationParam (null, Gst.AllocationParams.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_add_allocation_pool(IntPtr raw, IntPtr pool, uint size, uint min_buffers, uint max_buffers);
+
+               public void AddAllocationPool(Gst.BufferPool pool, uint size, uint min_buffers, uint max_buffers) {
+                       gst_query_add_allocation_pool(Handle, pool == null ? IntPtr.Zero : pool.Handle, size, min_buffers, max_buffers);
+               }
+
+               public void AddAllocationPool(uint size, uint min_buffers, uint max_buffers) {
+                       AddAllocationPool (null, size, min_buffers, max_buffers);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_query_add_buffering_range(IntPtr raw, long start, long stop);
+
+               public bool AddBufferingRange(long start, long stop) {
+                       bool raw_ret = gst_query_add_buffering_range(Handle, start, stop);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_add_scheduling_mode(IntPtr raw, int mode);
+
+               public void AddSchedulingMode(Gst.PadMode mode) {
+                       gst_query_add_scheduling_mode(Handle, (int) mode);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_query_find_allocation_meta(IntPtr raw, IntPtr api, out uint index);
+
+               public bool FindAllocationMeta(GLib.GType api, out uint index) {
+                       bool raw_ret = gst_query_find_allocation_meta(Handle, api.Val, out index);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_query_get_n_allocation_metas(IntPtr raw);
+
+               public uint NAllocationMetas { 
+                       get {
+                               uint raw_ret = gst_query_get_n_allocation_metas(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_query_get_n_allocation_params(IntPtr raw);
+
+               public uint NAllocationParams { 
+                       get {
+                               uint raw_ret = gst_query_get_n_allocation_params(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_query_get_n_allocation_pools(IntPtr raw);
+
+               public uint NAllocationPools { 
+                       get {
+                               uint raw_ret = gst_query_get_n_allocation_pools(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_query_get_n_buffering_ranges(IntPtr raw);
+
+               public uint NBufferingRanges { 
+                       get {
+                               uint raw_ret = gst_query_get_n_buffering_ranges(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_query_get_n_scheduling_modes(IntPtr raw);
+
+               public uint NSchedulingModes { 
+                       get {
+                               uint raw_ret = gst_query_get_n_scheduling_modes(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_get_structure(IntPtr raw);
+
+               public Gst.Structure Structure { 
+                       get {
+                               IntPtr raw_ret = gst_query_get_structure(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_query_has_scheduling_mode(IntPtr raw, int mode);
+
+               public bool HasSchedulingMode(Gst.PadMode mode) {
+                       bool raw_ret = gst_query_has_scheduling_mode(Handle, (int) mode);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_query_has_scheduling_mode_with_flags(IntPtr raw, int mode, int flags);
+
+               public bool HasSchedulingModeWithFlags(Gst.PadMode mode, Gst.SchedulingFlags flags) {
+                       bool raw_ret = gst_query_has_scheduling_mode_with_flags(Handle, (int) mode, (int) flags);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_accept_caps(IntPtr raw, out IntPtr caps);
+
+               public Gst.Caps ParseAcceptCaps() {
+                       Gst.Caps caps;
+                       IntPtr native_caps;
+                       gst_query_parse_accept_caps(Handle, out native_caps);
+                       caps = native_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_caps, typeof (Gst.Caps), false);
+                       return caps;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_accept_caps_result(IntPtr raw, bool _result);
+
+               public void ParseAcceptCapsResult(bool _result) {
+                       gst_query_parse_accept_caps_result(Handle, _result);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_allocation(IntPtr raw, out IntPtr caps, out bool need_pool);
+
+               public void ParseAllocation(out Gst.Caps caps, out bool need_pool) {
+                       IntPtr native_caps;
+                       gst_query_parse_allocation(Handle, out native_caps, out need_pool);
+                       caps = native_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_caps, typeof (Gst.Caps), false);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_buffering_percent(IntPtr raw, out bool busy, out int percent);
+
+               public void ParseBufferingPercent(out bool busy, out int percent) {
+                       gst_query_parse_buffering_percent(Handle, out busy, out percent);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_buffering_range(IntPtr raw, out int format, out long start, out long stop, out long estimated_total);
+
+               public void ParseBufferingRange(out Gst.Format format, out long start, out long stop, out long estimated_total) {
+                       int native_format;
+                       gst_query_parse_buffering_range(Handle, out native_format, out start, out stop, out estimated_total);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_buffering_stats(IntPtr raw, out int mode, out int avg_in, out int avg_out, out long buffering_left);
+
+               public void ParseBufferingStats(out Gst.BufferingMode mode, out int avg_in, out int avg_out, out long buffering_left) {
+                       int native_mode;
+                       gst_query_parse_buffering_stats(Handle, out native_mode, out avg_in, out avg_out, out buffering_left);
+                       mode = (Gst.BufferingMode) native_mode;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_caps(IntPtr raw, out IntPtr filter);
+
+               public Gst.Caps ParseCaps() {
+                       Gst.Caps filter;
+                       IntPtr native_filter;
+                       gst_query_parse_caps(Handle, out native_filter);
+                       filter = native_filter == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_filter, typeof (Gst.Caps), false);
+                       return filter;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_caps_result(IntPtr raw, out IntPtr caps);
+
+               public Gst.Caps ParseCapsResult() {
+                       Gst.Caps caps;
+                       IntPtr native_caps;
+                       gst_query_parse_caps_result(Handle, out native_caps);
+                       caps = native_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_caps, typeof (Gst.Caps), false);
+                       return caps;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_context(IntPtr raw, IntPtr context);
+
+               public Gst.Context ParseContext() {
+                       Gst.Context context;
+                       IntPtr native_context = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Context)));
+                       gst_query_parse_context(Handle, native_context);
+                       context = Gst.Context.New (native_context);
+                       Marshal.FreeHGlobal (native_context);
+                       return context;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_query_parse_context_type(IntPtr raw, out IntPtr context_type);
+
+               public bool ParseContextType(out string context_type) {
+                       IntPtr native_context_type;
+                       bool raw_ret = gst_query_parse_context_type(Handle, out native_context_type);
+                       bool ret = raw_ret;
+                       context_type = GLib.Marshaller.Utf8PtrToString (native_context_type);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_convert(IntPtr raw, out int src_format, out long src_value, out int dest_format, out long dest_value);
+
+               public void ParseConvert(out Gst.Format src_format, out long src_value, out Gst.Format dest_format, out long dest_value) {
+                       int native_src_format;
+                       int native_dest_format;
+                       gst_query_parse_convert(Handle, out native_src_format, out src_value, out native_dest_format, out dest_value);
+                       src_format = (Gst.Format) native_src_format;
+                       dest_format = (Gst.Format) native_dest_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_duration(IntPtr raw, out int format, out long duration);
+
+               public void ParseDuration(out Gst.Format format, out long duration) {
+                       int native_format;
+                       gst_query_parse_duration(Handle, out native_format, out duration);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_latency(IntPtr raw, out bool live, out ulong min_latency, out ulong max_latency);
+
+               public void ParseLatency(out bool live, out ulong min_latency, out ulong max_latency) {
+                       gst_query_parse_latency(Handle, out live, out min_latency, out max_latency);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_n_formats(IntPtr raw, out uint n_formats);
+
+               public uint ParseNFormats() {
+                       uint n_formats;
+                       gst_query_parse_n_formats(Handle, out n_formats);
+                       return n_formats;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_parse_nth_allocation_meta(IntPtr raw, uint index, out IntPtr parms);
+
+               public GLib.GType ParseNthAllocationMeta(uint index, out Gst.Structure parms) {
+                       IntPtr native_parms;
+                       IntPtr raw_ret = gst_query_parse_nth_allocation_meta(Handle, index, out native_parms);
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       parms = native_parms == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (native_parms, typeof (Gst.Structure), false);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_nth_allocation_param(IntPtr raw, uint index, out IntPtr allocator, IntPtr parms);
+
+               public void ParseNthAllocationParam(uint index, out Gst.Allocator allocator, out Gst.AllocationParams parms) {
+                       IntPtr native_allocator;
+                       IntPtr native_parms = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.AllocationParams)));
+                       gst_query_parse_nth_allocation_param(Handle, index, out native_allocator, native_parms);
+                       allocator = GLib.Object.GetObject(native_allocator, true) as Gst.Allocator;
+                       parms = Gst.AllocationParams.New (native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_nth_allocation_pool(IntPtr raw, uint index, out IntPtr pool, out uint size, out uint min_buffers, out uint max_buffers);
+
+               public void ParseNthAllocationPool(uint index, out Gst.BufferPool pool, out uint size, out uint min_buffers, out uint max_buffers) {
+                       IntPtr native_pool;
+                       gst_query_parse_nth_allocation_pool(Handle, index, out native_pool, out size, out min_buffers, out max_buffers);
+                       pool = GLib.Object.GetObject(native_pool, true) as Gst.BufferPool;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_query_parse_nth_buffering_range(IntPtr raw, uint index, out long start, out long stop);
+
+               public bool ParseNthBufferingRange(uint index, out long start, out long stop) {
+                       bool raw_ret = gst_query_parse_nth_buffering_range(Handle, index, out start, out stop);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_nth_format(IntPtr raw, out uint nth, out int format);
+
+               public void ParseNthFormat(out uint nth, out Gst.Format format) {
+                       int native_format;
+                       gst_query_parse_nth_format(Handle, out nth, out native_format);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_query_parse_nth_scheduling_mode(IntPtr raw, uint index);
+
+               public Gst.PadMode ParseNthSchedulingMode(uint index) {
+                       int raw_ret = gst_query_parse_nth_scheduling_mode(Handle, index);
+                       Gst.PadMode ret = (Gst.PadMode) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_position(IntPtr raw, out int format, out long cur);
+
+               public void ParsePosition(out Gst.Format format, out long cur) {
+                       int native_format;
+                       gst_query_parse_position(Handle, out native_format, out cur);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_scheduling(IntPtr raw, out int flags, out int minsize, out int maxsize, out int align);
+
+               public void ParseScheduling(out Gst.SchedulingFlags flags, out int minsize, out int maxsize, out int align) {
+                       int native_flags;
+                       gst_query_parse_scheduling(Handle, out native_flags, out minsize, out maxsize, out align);
+                       flags = (Gst.SchedulingFlags) native_flags;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_seeking(IntPtr raw, out int format, out bool seekable, out long segment_start, out long segment_end);
+
+               public void ParseSeeking(out Gst.Format format, out bool seekable, out long segment_start, out long segment_end) {
+                       int native_format;
+                       gst_query_parse_seeking(Handle, out native_format, out seekable, out segment_start, out segment_end);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_segment(IntPtr raw, out double rate, out int format, out long start_value, out long stop_value);
+
+               public void ParseSegment(out double rate, out Gst.Format format, out long start_value, out long stop_value) {
+                       int native_format;
+                       gst_query_parse_segment(Handle, out rate, out native_format, out start_value, out stop_value);
+                       format = (Gst.Format) native_format;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_uri(IntPtr raw, out IntPtr uri);
+
+               public string ParseUri() {
+                       string uri;
+                       IntPtr native_uri;
+                       gst_query_parse_uri(Handle, out native_uri);
+                       uri = GLib.Marshaller.PtrToStringGFree(native_uri);
+                       return uri;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_uri_redirection(IntPtr raw, out IntPtr uri);
+
+               public string ParseUriRedirection() {
+                       string uri;
+                       IntPtr native_uri;
+                       gst_query_parse_uri_redirection(Handle, out native_uri);
+                       uri = GLib.Marshaller.PtrToStringGFree(native_uri);
+                       return uri;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_parse_uri_redirection_permanent(IntPtr raw, out bool permanent);
+
+               public bool ParseUriRedirectionPermanent() {
+                       bool permanent;
+                       gst_query_parse_uri_redirection_permanent(Handle, out permanent);
+                       return permanent;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_remove_nth_allocation_meta(IntPtr raw, uint index);
+
+               public void RemoveNthAllocationMeta(uint index) {
+                       gst_query_remove_nth_allocation_meta(Handle, index);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_remove_nth_allocation_param(IntPtr raw, uint index);
+
+               public void RemoveNthAllocationParam(uint index) {
+                       gst_query_remove_nth_allocation_param(Handle, index);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_remove_nth_allocation_pool(IntPtr raw, uint index);
+
+               public void RemoveNthAllocationPool(uint index) {
+                       gst_query_remove_nth_allocation_pool(Handle, index);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_accept_caps_result(IntPtr raw, bool _result);
+
+               public bool AcceptCapsResult { 
+                       set {
+                               gst_query_set_accept_caps_result(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_buffering_percent(IntPtr raw, bool busy, int percent);
+
+               public void SetBufferingPercent(bool busy, int percent) {
+                       gst_query_set_buffering_percent(Handle, busy, percent);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_buffering_range(IntPtr raw, int format, long start, long stop, long estimated_total);
+
+               public void SetBufferingRange(Gst.Format format, long start, long stop, long estimated_total) {
+                       gst_query_set_buffering_range(Handle, (int) format, start, stop, estimated_total);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_buffering_stats(IntPtr raw, int mode, int avg_in, int avg_out, long buffering_left);
+
+               public void SetBufferingStats(Gst.BufferingMode mode, int avg_in, int avg_out, long buffering_left) {
+                       gst_query_set_buffering_stats(Handle, (int) mode, avg_in, avg_out, buffering_left);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_caps_result(IntPtr raw, IntPtr caps);
+
+               public Gst.Caps CapsResult { 
+                       set {
+                               gst_query_set_caps_result(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_context(IntPtr raw, IntPtr value);
+
+               public Gst.Context Context { 
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                               gst_query_set_context(Handle, native_value);
+                               Marshal.FreeHGlobal (native_value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_convert(IntPtr raw, int src_format, long src_value, int dest_format, long dest_value);
+
+               public void SetConvert(Gst.Format src_format, long src_value, Gst.Format dest_format, long dest_value) {
+                       gst_query_set_convert(Handle, (int) src_format, src_value, (int) dest_format, dest_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_duration(IntPtr raw, int format, long duration);
+
+               public void SetDuration(Gst.Format format, long duration) {
+                       gst_query_set_duration(Handle, (int) format, duration);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_formatsv(IntPtr raw, int n_formats, int[] formats);
+
+               public Gst.Format[] Formatsv { 
+                       set {
+                               int cnt_value = value == null ? 0 : value.Length;
+                               int[] native_value = new int [cnt_value];
+                               for (int i = 0; i < cnt_value; i++)
+                                       native_value [i] = (int) value[i];
+                               gst_query_set_formatsv(Handle, (value == null ? 0 : value.Length), native_value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_latency(IntPtr raw, bool live, ulong min_latency, ulong max_latency);
+
+               public void SetLatency(bool live, ulong min_latency, ulong max_latency) {
+                       gst_query_set_latency(Handle, live, min_latency, max_latency);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_nth_allocation_param(IntPtr raw, uint index, IntPtr allocator, IntPtr parms);
+
+               public void SetNthAllocationParam(uint index, Gst.Allocator allocator, Gst.AllocationParams parms) {
+                       IntPtr native_parms = GLib.Marshaller.StructureToPtrAlloc (parms);
+                       gst_query_set_nth_allocation_param(Handle, index, allocator == null ? IntPtr.Zero : allocator.Handle, native_parms);
+                       Marshal.FreeHGlobal (native_parms);
+               }
+
+               public void SetNthAllocationParam(uint index) {
+                       SetNthAllocationParam (index, null, Gst.AllocationParams.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_nth_allocation_pool(IntPtr raw, uint index, IntPtr pool, uint size, uint min_buffers, uint max_buffers);
+
+               public void SetNthAllocationPool(uint index, Gst.BufferPool pool, uint size, uint min_buffers, uint max_buffers) {
+                       gst_query_set_nth_allocation_pool(Handle, index, pool == null ? IntPtr.Zero : pool.Handle, size, min_buffers, max_buffers);
+               }
+
+               public void SetNthAllocationPool(uint index, uint size, uint min_buffers, uint max_buffers) {
+                       SetNthAllocationPool (index, null, size, min_buffers, max_buffers);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_position(IntPtr raw, int format, long cur);
+
+               public void SetPosition(Gst.Format format, long cur) {
+                       gst_query_set_position(Handle, (int) format, cur);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_scheduling(IntPtr raw, int flags, int minsize, int maxsize, int align);
+
+               public void SetScheduling(Gst.SchedulingFlags flags, int minsize, int maxsize, int align) {
+                       gst_query_set_scheduling(Handle, (int) flags, minsize, maxsize, align);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_seeking(IntPtr raw, int format, bool seekable, long segment_start, long segment_end);
+
+               public void SetSeeking(Gst.Format format, bool seekable, long segment_start, long segment_end) {
+                       gst_query_set_seeking(Handle, (int) format, seekable, segment_start, segment_end);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_segment(IntPtr raw, double rate, int format, long start_value, long stop_value);
+
+               public void SetSegment(double rate, Gst.Format format, long start_value, long stop_value) {
+                       gst_query_set_segment(Handle, rate, (int) format, start_value, stop_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_uri(IntPtr raw, IntPtr uri);
+
+               public string Uri { 
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_query_set_uri(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_uri_redirection(IntPtr raw, IntPtr uri);
+
+               public string UriRedirection { 
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_query_set_uri_redirection(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_query_set_uri_redirection_permanent(IntPtr raw, bool permanent);
+
+               public bool UriRedirectionPermanent { 
+                       set {
+                               gst_query_set_uri_redirection_permanent(Handle, value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_writable_structure(IntPtr raw);
+
+               public Gst.Structure WritableStructure() {
+                       IntPtr raw_ret = gst_query_writable_structure(Handle);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       return ret;
+               }
+
+               public Query(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_accept_caps(IntPtr caps);
+
+               public Query (Gst.Caps caps) 
+               {
+                       Raw = gst_query_new_accept_caps(caps == null ? IntPtr.Zero : caps.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_allocation(IntPtr caps, bool need_pool);
+
+               public Query (Gst.Caps caps, bool need_pool) 
+               {
+                       Raw = gst_query_new_allocation(caps == null ? IntPtr.Zero : caps.Handle, need_pool);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_buffering(int format);
+
+               public Query (Gst.Format format) 
+               {
+                       Raw = gst_query_new_buffering((int) format);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_caps(IntPtr filter);
+
+               public static Query NewCaps(Gst.Caps filter)
+               {
+                       Query result = new Query (gst_query_new_caps(filter == null ? IntPtr.Zero : filter.Handle));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_context(IntPtr context_type);
+
+               public Query (string context_type) 
+               {
+                       IntPtr native_context_type = GLib.Marshaller.StringToPtrGStrdup (context_type);
+                       Raw = gst_query_new_context(native_context_type);
+                       GLib.Marshaller.Free (native_context_type);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_convert(int src_format, long value, int dest_format);
+
+               public Query (Gst.Format src_format, long value, Gst.Format dest_format) 
+               {
+                       Raw = gst_query_new_convert((int) src_format, value, (int) dest_format);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_custom(int type, IntPtr structure);
+
+               public Query (Gst.QueryType type, Gst.Structure structure) 
+               {
+                       structure.Owned = false;
+                       Raw = gst_query_new_custom((int) type, structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_drain();
+
+               public Query () 
+               {
+                       Raw = gst_query_new_drain();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_duration(int format);
+
+               public static Query NewDuration(Gst.Format format)
+               {
+                       Query result = new Query (gst_query_new_duration((int) format));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_formats();
+
+               public static Query NewFormats()
+               {
+                       Query result = new Query (gst_query_new_formats());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_latency();
+
+               public static Query NewLatency()
+               {
+                       Query result = new Query (gst_query_new_latency());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_position(int format);
+
+               public static Query NewPosition(Gst.Format format)
+               {
+                       Query result = new Query (gst_query_new_position((int) format));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_scheduling();
+
+               public static Query NewScheduling()
+               {
+                       Query result = new Query (gst_query_new_scheduling());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_seeking(int format);
+
+               public static Query NewSeeking(Gst.Format format)
+               {
+                       Query result = new Query (gst_query_new_seeking((int) format));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_segment(int format);
+
+               public static Query NewSegment(Gst.Format format)
+               {
+                       Query result = new Query (gst_query_new_segment((int) format));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_new_uri();
+
+               public static Query NewUri()
+               {
+                       Query result = new Query (gst_query_new_uri());
+                       return result;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("type"
+                                                       , Gst.MiniObject.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.QueryType))) // type
+                                                       , null
+                                                       , null
+                                                       , (long) Marshal.OffsetOf(typeof(GstQuery_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstQuery_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.QueryType type;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_QueryType.cs b/sources/generated/Gst_QueryType.cs
new file mode 100644 (file)
index 0000000..612d761
--- /dev/null
@@ -0,0 +1,45 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.QueryTypeGType))]
+       public enum QueryType {
+
+               Unknown = 0,
+               Position = 2563,
+               Duration = 5123,
+               Latency = 7683,
+               Jitter = 10243,
+               Rate = 12803,
+               Seeking = 15363,
+               Segment = 17923,
+               Convert = 20483,
+               Formats = 23043,
+               Buffering = 28163,
+               Custom = 30723,
+               Uri = 33283,
+               Allocation = 35846,
+               Scheduling = 38401,
+               AcceptCaps = 40963,
+               Caps = 43523,
+               Drain = 46086,
+               Context = 48643,
+       }
+
+       internal class QueryTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_query_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_QueryTypeFlags.cs b/sources/generated/Gst_QueryTypeFlags.cs
new file mode 100644 (file)
index 0000000..10b1543
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.QueryTypeFlagsGType))]
+       public enum QueryTypeFlags {
+
+               Upstream = 1,
+               Downstream = 2,
+               Serialized = 4,
+       }
+
+       internal class QueryTypeFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_query_type_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_query_type_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Rank.cs b/sources/generated/Gst_Rank.cs
new file mode 100644 (file)
index 0000000..c6c4c5a
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.RankGType))]
+       public enum Rank {
+
+               None = 0,
+               Marginal = 64,
+               Secondary = 128,
+               Primary = 256,
+       }
+
+       internal class RankGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rank_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rank_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_ReferenceTimestampMeta.cs b/sources/generated/Gst_ReferenceTimestampMeta.cs
new file mode 100644 (file)
index 0000000..12af6d2
--- /dev/null
@@ -0,0 +1,67 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct ReferenceTimestampMeta : IEquatable<ReferenceTimestampMeta> {
+
+               public Gst.Meta Parent;
+               private IntPtr _reference;
+               public Gst.Caps Reference {
+                       get {
+                               return _reference == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (_reference, typeof (Gst.Caps), false);
+                       }
+                       set {
+                               _reference = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public ulong Timestamp;
+               public ulong Duration;
+
+               public static Gst.ReferenceTimestampMeta Zero = new Gst.ReferenceTimestampMeta ();
+
+               public static Gst.ReferenceTimestampMeta New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.ReferenceTimestampMeta.Zero;
+                       return (Gst.ReferenceTimestampMeta) Marshal.PtrToStructure (raw, typeof (Gst.ReferenceTimestampMeta));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_reference_timestamp_meta_get_info();
+
+               public static Gst.MetaInfo Info { 
+                       get {
+                               IntPtr raw_ret = gst_reference_timestamp_meta_get_info();
+                               Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (ReferenceTimestampMeta other)
+               {
+                       return true && Parent.Equals (other.Parent) && Reference.Equals (other.Reference) && Timestamp.Equals (other.Timestamp) && Duration.Equals (other.Duration);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is ReferenceTimestampMeta && Equals ((ReferenceTimestampMeta) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Parent.GetHashCode () ^ Reference.GetHashCode () ^ Timestamp.GetHashCode () ^ Duration.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Registry.cs b/sources/generated/Gst_Registry.cs
new file mode 100644 (file)
index 0000000..25c985a
--- /dev/null
@@ -0,0 +1,389 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Registry : Gst.Object {
+
+               public Registry (IntPtr raw) : base(raw) {}
+
+               protected Registry() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Signal("plugin-added")]
+               public event Gst.PluginAddedHandler PluginAdded {
+                       add {
+                               this.AddSignalHandler ("plugin-added", value, typeof (Gst.PluginAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("plugin-added", value);
+                       }
+               }
+
+               [GLib.Signal("feature-added")]
+               public event Gst.FeatureAddedHandler FeatureAdded {
+                       add {
+                               this.AddSignalHandler ("feature-added", value, typeof (Gst.FeatureAddedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("feature-added", value);
+                       }
+               }
+
+               static FeatureAddedNativeDelegate FeatureAdded_cb_delegate;
+               static FeatureAddedNativeDelegate FeatureAddedVMCallback {
+                       get {
+                               if (FeatureAdded_cb_delegate == null)
+                                       FeatureAdded_cb_delegate = new FeatureAddedNativeDelegate (FeatureAdded_cb);
+                               return FeatureAdded_cb_delegate;
+                       }
+               }
+
+               static void OverrideFeatureAdded (GLib.GType gtype)
+               {
+                       OverrideFeatureAdded (gtype, FeatureAddedVMCallback);
+               }
+
+               static void OverrideFeatureAdded (GLib.GType gtype, FeatureAddedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "feature-added", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void FeatureAddedNativeDelegate (IntPtr inst, IntPtr feature);
+
+               static void FeatureAdded_cb (IntPtr inst, IntPtr feature)
+               {
+                       try {
+                               Registry __obj = GLib.Object.GetObject (inst, false) as Registry;
+                               __obj.OnFeatureAdded (GLib.Object.GetObject(feature) as Gst.PluginFeature);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Registry), ConnectionMethod="OverrideFeatureAdded")]
+               protected virtual void OnFeatureAdded (Gst.PluginFeature feature)
+               {
+                       InternalFeatureAdded (feature);
+               }
+
+               private void InternalFeatureAdded (Gst.PluginFeature feature)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (feature);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static PluginAddedNativeDelegate PluginAdded_cb_delegate;
+               static PluginAddedNativeDelegate PluginAddedVMCallback {
+                       get {
+                               if (PluginAdded_cb_delegate == null)
+                                       PluginAdded_cb_delegate = new PluginAddedNativeDelegate (PluginAdded_cb);
+                               return PluginAdded_cb_delegate;
+                       }
+               }
+
+               static void OverridePluginAdded (GLib.GType gtype)
+               {
+                       OverridePluginAdded (gtype, PluginAddedVMCallback);
+               }
+
+               static void OverridePluginAdded (GLib.GType gtype, PluginAddedNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "plugin-added", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void PluginAddedNativeDelegate (IntPtr inst, IntPtr plugin);
+
+               static void PluginAdded_cb (IntPtr inst, IntPtr plugin)
+               {
+                       try {
+                               Registry __obj = GLib.Object.GetObject (inst, false) as Registry;
+                               __obj.OnPluginAdded (GLib.Object.GetObject(plugin) as Gst.Plugin);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.Registry), ConnectionMethod="OverridePluginAdded")]
+               protected virtual void OnPluginAdded (Gst.Plugin plugin)
+               {
+                       InternalPluginAdded (plugin);
+               }
+
+               private void InternalPluginAdded (Gst.Plugin plugin)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (plugin);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_registry_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_registry_fork_is_enabled();
+
+               public static bool ForkIsEnabled() {
+                       bool raw_ret = gst_registry_fork_is_enabled();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_registry_fork_set_enabled(bool enabled);
+
+               public static void ForkSetEnabled(bool enabled) {
+                       gst_registry_fork_set_enabled(enabled);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_get();
+
+               public static Gst.Registry Get() {
+                       IntPtr raw_ret = gst_registry_get();
+                       Gst.Registry ret = GLib.Object.GetObject(raw_ret) as Gst.Registry;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_registry_add_feature(IntPtr raw, IntPtr feature);
+
+               public bool AddFeature(Gst.PluginFeature feature) {
+                       bool raw_ret = gst_registry_add_feature(Handle, feature == null ? IntPtr.Zero : feature.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_registry_add_plugin(IntPtr raw, IntPtr plugin);
+
+               public bool AddPlugin(Gst.Plugin plugin) {
+                       bool raw_ret = gst_registry_add_plugin(Handle, plugin == null ? IntPtr.Zero : plugin.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_registry_check_feature_version(IntPtr raw, IntPtr feature_name, uint min_major, uint min_minor, uint min_micro);
+
+               public bool CheckFeatureVersion(string feature_name, uint min_major, uint min_minor, uint min_micro) {
+                       IntPtr native_feature_name = GLib.Marshaller.StringToPtrGStrdup (feature_name);
+                       bool raw_ret = gst_registry_check_feature_version(Handle, native_feature_name, min_major, min_minor, min_micro);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_feature_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_feature_filter(IntPtr raw, GstSharp.PluginFeatureFilterNative filter, bool first, IntPtr user_data);
+
+               public Gst.PluginFeature[] FeatureFilter(Gst.PluginFeatureFilter filter, bool first) {
+                       GstSharp.PluginFeatureFilterWrapper filter_wrapper = new GstSharp.PluginFeatureFilterWrapper (filter);
+                       IntPtr raw_ret = gst_registry_feature_filter(Handle, filter_wrapper.NativeDelegate, first, IntPtr.Zero);
+                       Gst.PluginFeature[] ret = (Gst.PluginFeature[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PluginFeature));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_find_feature(IntPtr raw, IntPtr name, IntPtr type);
+
+               public Gst.PluginFeature FindFeature(string name, GLib.GType type) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_registry_find_feature(Handle, native_name, type.Val);
+                       Gst.PluginFeature ret = GLib.Object.GetObject(raw_ret, true) as Gst.PluginFeature;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_find_plugin(IntPtr raw, IntPtr name);
+
+               public Gst.Plugin FindPlugin(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_registry_find_plugin(Handle, native_name);
+                       Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_get_feature_list(IntPtr raw, IntPtr type);
+
+               public Gst.PluginFeature[] GetFeatureList(GLib.GType type) {
+                       IntPtr raw_ret = gst_registry_get_feature_list(Handle, type.Val);
+                       Gst.PluginFeature[] ret = (Gst.PluginFeature[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PluginFeature));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_get_feature_list_by_plugin(IntPtr raw, IntPtr name);
+
+               public Gst.PluginFeature[] GetFeatureListByPlugin(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_registry_get_feature_list_by_plugin(Handle, native_name);
+                       Gst.PluginFeature[] ret = (Gst.PluginFeature[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.PluginFeature));
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_registry_get_feature_list_cookie(IntPtr raw);
+
+               public uint FeatureListCookie { 
+                       get {
+                               uint raw_ret = gst_registry_get_feature_list_cookie(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_get_plugin_list(IntPtr raw);
+
+               public Gst.Plugin[] PluginList { 
+                       get {
+                               IntPtr raw_ret = gst_registry_get_plugin_list(Handle);
+                               Gst.Plugin[] ret = (Gst.Plugin[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.Plugin));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_lookup(IntPtr raw, IntPtr filename);
+
+               public Gst.Plugin Lookup(string filename) {
+                       IntPtr native_filename = GLib.Marshaller.StringToPtrGStrdup (filename);
+                       IntPtr raw_ret = gst_registry_lookup(Handle, native_filename);
+                       Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
+                       GLib.Marshaller.Free (native_filename);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_lookup_feature(IntPtr raw, IntPtr name);
+
+               public Gst.PluginFeature LookupFeature(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr raw_ret = gst_registry_lookup_feature(Handle, native_name);
+                       Gst.PluginFeature ret = GLib.Object.GetObject(raw_ret, true) as Gst.PluginFeature;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_registry_plugin_filter(IntPtr raw, GstSharp.PluginFilterNative filter, bool first, IntPtr user_data);
+
+               public Gst.Plugin[] PluginFilter(Gst.PluginFilter filter, bool first) {
+                       GstSharp.PluginFilterWrapper filter_wrapper = new GstSharp.PluginFilterWrapper (filter);
+                       IntPtr raw_ret = gst_registry_plugin_filter(Handle, filter_wrapper.NativeDelegate, first, IntPtr.Zero);
+                       Gst.Plugin[] ret = (Gst.Plugin[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.Plugin));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_registry_remove_feature(IntPtr raw, IntPtr feature);
+
+               public void RemoveFeature(Gst.PluginFeature feature) {
+                       gst_registry_remove_feature(Handle, feature == null ? IntPtr.Zero : feature.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_registry_remove_plugin(IntPtr raw, IntPtr plugin);
+
+               public void RemovePlugin(Gst.Plugin plugin) {
+                       gst_registry_remove_plugin(Handle, plugin == null ? IntPtr.Zero : plugin.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_registry_scan_path(IntPtr raw, IntPtr path);
+
+               public bool ScanPath(string path) {
+                       IntPtr native_path = GLib.Marshaller.StringToFilenamePtr (path);
+                       bool raw_ret = gst_registry_scan_path(Handle, native_path);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_update_registry();
+
+               public static bool UpdateRegistry() {
+                       bool raw_ret = gst_update_registry();
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ResourceError.cs b/sources/generated/Gst_ResourceError.cs
new file mode 100644 (file)
index 0000000..2743179
--- /dev/null
@@ -0,0 +1,42 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.ResourceErrorGType))]
+       public enum ResourceError {
+
+               Failed = 1,
+               TooLazy = 2,
+               NotFound = 3,
+               Busy = 4,
+               OpenRead = 5,
+               OpenWrite = 6,
+               OpenReadWrite = 7,
+               Close = 8,
+               Read = 9,
+               Write = 10,
+               Seek = 11,
+               Sync = 12,
+               Settings = 13,
+               NoSpaceLeft = 14,
+               NotAuthorized = 15,
+               NumErrors = 16,
+       }
+
+       internal class ResourceErrorGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_resource_error_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_resource_error_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Sample.cs b/sources/generated/Gst_Sample.cs
new file mode 100644 (file)
index 0000000..54af4d0
--- /dev/null
@@ -0,0 +1,116 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Sample : Gst.MiniObject {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sample_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_sample_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sample_get_buffer(IntPtr raw);
+
+               public Gst.Buffer Buffer { 
+                       get {
+                               IntPtr raw_ret = gst_sample_get_buffer(Handle);
+                               Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sample_get_buffer_list(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_sample_set_buffer_list(IntPtr raw, IntPtr buffer_list);
+
+               public Gst.BufferList BufferList { 
+                       get {
+                               IntPtr raw_ret = gst_sample_get_buffer_list(Handle);
+                               Gst.BufferList ret = raw_ret == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.BufferList), false);
+                               return ret;
+                       }
+                       set {
+                               gst_sample_set_buffer_list(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sample_get_caps(IntPtr raw);
+
+               public Gst.Caps Caps { 
+                       get {
+                               IntPtr raw_ret = gst_sample_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sample_get_info(IntPtr raw);
+
+               public Gst.Structure Info { 
+                       get {
+                               IntPtr raw_ret = gst_sample_get_info(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sample_get_segment(IntPtr raw);
+
+               public Gst.Segment Segment { 
+                       get {
+                               IntPtr raw_ret = gst_sample_get_segment(Handle);
+                               Gst.Segment ret = Gst.Segment.New (raw_ret);
+                               return ret;
+                       }
+               }
+
+               public Sample(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_sample_new(IntPtr buffer, IntPtr caps, IntPtr segment, IntPtr info);
+
+               public Sample (Gst.Buffer buffer, Gst.Caps caps, Gst.Segment segment, Gst.Structure info) 
+               {
+                       IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+                       info.Owned = false;
+                       Raw = gst_sample_new(buffer == null ? IntPtr.Zero : buffer.Handle, caps == null ? IntPtr.Zero : caps.Handle, native_segment, info == null ? IntPtr.Zero : info.Handle);
+                       Marshal.FreeHGlobal (native_segment);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.MiniObject.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_SchedulingFlags.cs b/sources/generated/Gst_SchedulingFlags.cs
new file mode 100644 (file)
index 0000000..0d3f274
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.SchedulingFlagsGType))]
+       public enum SchedulingFlags {
+
+               Seekable = 1,
+               Sequential = 2,
+               BandwidthLimited = 4,
+       }
+
+       internal class SchedulingFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_scheduling_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_scheduling_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_SearchMode.cs b/sources/generated/Gst_SearchMode.cs
new file mode 100644 (file)
index 0000000..accf386
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.SearchModeGType))]
+       public enum SearchMode {
+
+               Exact = 0,
+               Before = 1,
+               After = 2,
+       }
+
+       internal class SearchModeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_search_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_search_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_SeekFlags.cs b/sources/generated/Gst_SeekFlags.cs
new file mode 100644 (file)
index 0000000..e32ded2
--- /dev/null
@@ -0,0 +1,39 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.SeekFlagsGType))]
+       public enum SeekFlags {
+
+               None = 0,
+               Flush = 1,
+               Accurate = 2,
+               KeyUnit = 4,
+               Segment = 8,
+               Trickmode = 16,
+               Skip = 16,
+               SnapBefore = 32,
+               SnapAfter = 64,
+               SnapNearest = 96,
+               TrickmodeKeyUnits = 128,
+               TrickmodeNoAudio = 256,
+       }
+
+       internal class SeekFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_seek_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_seek_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_SeekType.cs b/sources/generated/Gst_SeekType.cs
new file mode 100644 (file)
index 0000000..2148b57
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.SeekTypeGType))]
+       public enum SeekType {
+
+               None = 0,
+               Set = 1,
+               End = 2,
+       }
+
+       internal class SeekTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_seek_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_seek_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Segment.cs b/sources/generated/Gst_Segment.cs
new file mode 100644 (file)
index 0000000..51611fa
--- /dev/null
@@ -0,0 +1,299 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct Segment : IEquatable<Segment> {
+
+               public Gst.SegmentFlags Flags;
+               public double Rate;
+               public double AppliedRate;
+               public Gst.Format Format;
+               public ulong Base;
+               public ulong Offset;
+               public ulong Start;
+               public ulong Stop;
+               public ulong Time;
+               public ulong Position;
+               public ulong Duration;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.Segment Zero = new Gst.Segment ();
+
+               public static Gst.Segment New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Segment.Zero;
+                       return (Gst.Segment) Marshal.PtrToStructure (raw, typeof (Gst.Segment));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_segment_new();
+
+               public static Segment New()
+               {
+                       Segment result = Segment.New (gst_segment_new());
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_segment_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_segment_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_segment_clip(IntPtr raw, int format, ulong start, ulong stop, out ulong clip_start, out ulong clip_stop);
+
+               public bool Clip(Gst.Format format, ulong start, ulong stop, out ulong clip_start, out ulong clip_stop) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_segment_clip(this_as_native, (int) format, start, stop, out clip_start, out clip_stop);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_segment_copy_into(IntPtr raw, IntPtr dest);
+
+               public void CopyInto(Gst.Segment dest) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       gst_segment_copy_into(this_as_native, native_dest);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_dest);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_segment_do_seek(IntPtr raw, double rate, int format, int flags, int start_type, ulong start, int stop_type, ulong stop, out bool update);
+
+               public bool DoSeek(double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, ulong start, Gst.SeekType stop_type, ulong stop, out bool update) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_segment_do_seek(this_as_native, rate, (int) format, (int) flags, (int) start_type, start, (int) stop_type, stop, out update);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_segment_init(IntPtr raw, int format);
+
+               public void Init(Gst.Format format) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_segment_init(this_as_native, (int) format);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_segment_is_equal(IntPtr raw, IntPtr s1);
+
+               public bool IsEqual(Gst.Segment s1) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_s1 = GLib.Marshaller.StructureToPtrAlloc (s1);
+                       bool raw_ret = gst_segment_is_equal(this_as_native, native_s1);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_s1);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_segment_offset_running_time(IntPtr raw, int format, long offset);
+
+               public bool OffsetRunningTime(Gst.Format format, long offset) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_segment_offset_running_time(this_as_native, (int) format, offset);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_segment_position_from_running_time(IntPtr raw, int format, ulong running_time);
+
+               public ulong PositionFromRunningTime(Gst.Format format, ulong running_time) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ulong raw_ret = gst_segment_position_from_running_time(this_as_native, (int) format, running_time);
+                       ulong ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_segment_position_from_running_time_full(IntPtr raw, int format, ulong running_time, out ulong position);
+
+               public int PositionFromRunningTimeFull(Gst.Format format, ulong running_time, out ulong position) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_segment_position_from_running_time_full(this_as_native, (int) format, running_time, out position);
+                       int ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_segment_position_from_stream_time(IntPtr raw, int format, ulong stream_time);
+
+               public ulong PositionFromStreamTime(Gst.Format format, ulong stream_time) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ulong raw_ret = gst_segment_position_from_stream_time(this_as_native, (int) format, stream_time);
+                       ulong ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_segment_position_from_stream_time_full(IntPtr raw, int format, ulong stream_time, out ulong position);
+
+               public int PositionFromStreamTimeFull(Gst.Format format, ulong stream_time, out ulong position) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_segment_position_from_stream_time_full(this_as_native, (int) format, stream_time, out position);
+                       int ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_segment_set_running_time(IntPtr raw, int format, ulong running_time);
+
+               public bool SetRunningTime(Gst.Format format, ulong running_time) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_segment_set_running_time(this_as_native, (int) format, running_time);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_segment_to_position(IntPtr raw, int format, ulong running_time);
+
+               public ulong ToPosition(Gst.Format format, ulong running_time) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ulong raw_ret = gst_segment_to_position(this_as_native, (int) format, running_time);
+                       ulong ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_segment_to_running_time(IntPtr raw, int format, ulong position);
+
+               public ulong ToRunningTime(Gst.Format format, ulong position) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ulong raw_ret = gst_segment_to_running_time(this_as_native, (int) format, position);
+                       ulong ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_segment_to_running_time_full(IntPtr raw, int format, ulong position, out ulong running_time);
+
+               public int ToRunningTimeFull(Gst.Format format, ulong position, out ulong running_time) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_segment_to_running_time_full(this_as_native, (int) format, position, out running_time);
+                       int ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_segment_to_stream_time(IntPtr raw, int format, ulong position);
+
+               public ulong ToStreamTime(Gst.Format format, ulong position) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       ulong raw_ret = gst_segment_to_stream_time(this_as_native, (int) format, position);
+                       ulong ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_segment_to_stream_time_full(IntPtr raw, int format, ulong position, out ulong stream_time);
+
+               public int ToStreamTimeFull(Gst.Format format, ulong position, out ulong stream_time) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int raw_ret = gst_segment_to_stream_time_full(this_as_native, (int) format, position, out stream_time);
+                       int ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Segment target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (Segment other)
+               {
+                       return true && Flags.Equals (other.Flags) && Rate.Equals (other.Rate) && AppliedRate.Equals (other.AppliedRate) && Format.Equals (other.Format) && Base.Equals (other.Base) && Offset.Equals (other.Offset) && Start.Equals (other.Start) && Stop.Equals (other.Stop) && Time.Equals (other.Time) && Position.Equals (other.Position) && Duration.Equals (other.Duration);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is Segment && Equals ((Segment) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Flags.GetHashCode () ^ Rate.GetHashCode () ^ AppliedRate.GetHashCode () ^ Format.GetHashCode () ^ Base.GetHashCode () ^ Offset.GetHashCode () ^ Start.GetHashCode () ^ Stop.GetHashCode () ^ Time.GetHashCode () ^ Position.GetHashCode () ^ Duration.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Segment boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Segment.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Segment (GLib.Value val)
+               {
+                       return (Gst.Segment) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_SegmentFlags.cs b/sources/generated/Gst_SegmentFlags.cs
new file mode 100644 (file)
index 0000000..59cf7ba
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.SegmentFlagsGType))]
+       public enum SegmentFlags {
+
+               None = 0,
+               Reset = 1,
+               Segment = 8,
+               Trickmode = 16,
+               Skip = 16,
+               TrickmodeKeyUnits = 128,
+               TrickmodeNoAudio = 256,
+       }
+
+       internal class SegmentFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_segment_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_segment_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_StackTraceFlags.cs b/sources/generated/Gst_StackTraceFlags.cs
new file mode 100644 (file)
index 0000000..8b08f09
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.StackTraceFlagsGType))]
+       public enum StackTraceFlags {
+
+               Full = 1,
+       }
+
+       internal class StackTraceFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stack_trace_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_stack_trace_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_State.cs b/sources/generated/Gst_State.cs
new file mode 100644 (file)
index 0000000..ba5ca0e
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.StateGType))]
+       public enum State {
+
+               VoidPending = 0,
+               Null = 1,
+               Ready = 2,
+               Paused = 3,
+               Playing = 4,
+       }
+
+       internal class StateGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_state_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_state_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_StateChange.cs b/sources/generated/Gst_StateChange.cs
new file mode 100644 (file)
index 0000000..bb90b65
--- /dev/null
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.StateChangeGType))]
+       public enum StateChange {
+
+               NullToNull = 9,
+               NullToReady = 10,
+               ReadyToNull = 17,
+               ReadyToReady = 18,
+               ReadyToPaused = 19,
+               PausedToReady = 26,
+               PausedToPaused = 27,
+               PausedToPlaying = 28,
+               PlayingToPaused = 35,
+               PlayingToPlaying = 36,
+       }
+
+       internal class StateChangeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_state_change_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_state_change_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_StateChangeReturn.cs b/sources/generated/Gst_StateChangeReturn.cs
new file mode 100644 (file)
index 0000000..94dfc1c
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.StateChangeReturnGType))]
+       public enum StateChangeReturn {
+
+               Failure = 0,
+               Success = 1,
+               Async = 2,
+               NoPreroll = 3,
+       }
+
+       internal class StateChangeReturnGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_state_change_return_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_state_change_return_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_StaticCaps.cs b/sources/generated/Gst_StaticCaps.cs
new file mode 100644 (file)
index 0000000..d58c3a5
--- /dev/null
@@ -0,0 +1,85 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct StaticCaps : IEquatable<StaticCaps> {
+
+               private IntPtr _caps;
+               public Gst.Caps Caps {
+                       get {
+                               return _caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (_caps, typeof (Gst.Caps), false);
+                       }
+                       set {
+                               _caps = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public string String;
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.StaticCaps Zero = new Gst.StaticCaps ();
+
+               public static Gst.StaticCaps New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.StaticCaps.Zero;
+                       return (Gst.StaticCaps) Marshal.PtrToStructure (raw, typeof (Gst.StaticCaps));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_static_caps_cleanup(IntPtr raw);
+
+               public void Cleanup() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_static_caps_cleanup(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_static_caps_get(IntPtr raw);
+
+               public Gst.Caps Get() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_static_caps_get(this_as_native);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.StaticCaps target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (StaticCaps other)
+               {
+                       return true && Caps.Equals (other.Caps) && String.Equals (other.String);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is StaticCaps && Equals ((StaticCaps) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Caps.GetHashCode () ^ String.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_StaticPadTemplate.cs b/sources/generated/Gst_StaticPadTemplate.cs
new file mode 100644 (file)
index 0000000..d9b46fe
--- /dev/null
@@ -0,0 +1,81 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct StaticPadTemplate : IEquatable<StaticPadTemplate> {
+
+               public string NameTemplate;
+               public Gst.PadDirection Direction;
+               public Gst.PadPresence Presence;
+               public Gst.StaticCaps StaticCaps;
+
+               public static Gst.StaticPadTemplate Zero = new Gst.StaticPadTemplate ();
+
+               public static Gst.StaticPadTemplate New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.StaticPadTemplate.Zero;
+                       return (Gst.StaticPadTemplate) Marshal.PtrToStructure (raw, typeof (Gst.StaticPadTemplate));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_static_pad_template_get(IntPtr raw);
+
+               public Gst.PadTemplate Get() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_static_pad_template_get(this_as_native);
+                       Gst.PadTemplate ret = GLib.Object.GetObject(raw_ret) as Gst.PadTemplate;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_static_pad_template_get_caps(IntPtr raw);
+
+               public Gst.Caps Caps { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_static_pad_template_get_caps(this_as_native);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.StaticPadTemplate target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (StaticPadTemplate other)
+               {
+                       return true && NameTemplate.Equals (other.NameTemplate) && Direction.Equals (other.Direction) && Presence.Equals (other.Presence) && StaticCaps.Equals (other.StaticCaps);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is StaticPadTemplate && Equals ((StaticPadTemplate) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ NameTemplate.GetHashCode () ^ Direction.GetHashCode () ^ Presence.GetHashCode () ^ StaticCaps.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Stream.cs b/sources/generated/Gst_Stream.cs
new file mode 100644 (file)
index 0000000..4e0f294
--- /dev/null
@@ -0,0 +1,208 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Stream : Gst.Object {
+
+               public Stream (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_new(IntPtr stream_id, IntPtr caps, int type, int flags);
+
+               public Stream (string stream_id, Gst.Caps caps, Gst.StreamType type, Gst.StreamFlags flags) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Stream)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("stream_id");
+                               vals.Add (new GLib.Value (stream_id));
+                               if (caps != null) {
+                                       names.Add ("caps");
+                                       vals.Add (new GLib.Value (caps));
+                               }
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_stream_id = GLib.Marshaller.StringToPtrGStrdup (stream_id);
+                       Raw = gst_stream_new(native_stream_id, caps == null ? IntPtr.Zero : caps.Handle, (int) type, (int) flags);
+                       GLib.Marshaller.Free (native_stream_id);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_get_caps(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_stream_set_caps(IntPtr raw, IntPtr caps);
+
+               [GLib.Property ("caps")]
+               public Gst.Caps Caps {
+                       get  {
+                               IntPtr raw_ret = gst_stream_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+                       set  {
+                               gst_stream_set_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_stream_get_stream_flags(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_stream_set_stream_flags(IntPtr raw, int flags);
+
+               [GLib.Property ("stream-flags")]
+               public Gst.StreamFlags StreamFlags {
+                       get  {
+                               int raw_ret = gst_stream_get_stream_flags(Handle);
+                               Gst.StreamFlags ret = (Gst.StreamFlags) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_stream_set_stream_flags(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_get_stream_id(IntPtr raw);
+
+               [GLib.Property ("stream-id")]
+               public string StreamId {
+                       get  {
+                               IntPtr raw_ret = gst_stream_get_stream_id(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_stream_get_stream_type(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_stream_set_stream_type(IntPtr raw, int stream_type);
+
+               [GLib.Property ("stream-type")]
+               public Gst.StreamType StreamType {
+                       get  {
+                               int raw_ret = gst_stream_get_stream_type(Handle);
+                               Gst.StreamType ret = (Gst.StreamType) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_stream_set_stream_type(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_get_tags(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_stream_set_tags(IntPtr raw, IntPtr tags);
+
+               [GLib.Property ("tags")]
+               public Gst.TagList Tags {
+                       get  {
+                               IntPtr raw_ret = gst_stream_get_tags(Handle);
+                               Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                               return ret;
+                       }
+                       set  {
+                               gst_stream_set_tags(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               public string StreamIdField {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("stream_id"));
+                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
+                               }
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_stream_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("stream_id"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stream_id
+                                                       , null
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "stream_id"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_StreamCollection.cs b/sources/generated/Gst_StreamCollection.cs
new file mode 100644 (file)
index 0000000..a266e6a
--- /dev/null
@@ -0,0 +1,228 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class StreamCollection : Gst.Object {
+
+               public StreamCollection (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_collection_new(IntPtr upstream_id);
+
+               public StreamCollection (string upstream_id) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (StreamCollection)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("upstream_id");
+                               vals.Add (new GLib.Value (upstream_id));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_upstream_id = GLib.Marshaller.StringToPtrGStrdup (upstream_id);
+                       Raw = gst_stream_collection_new(native_upstream_id);
+                       GLib.Marshaller.Free (native_upstream_id);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_collection_get_upstream_id(IntPtr raw);
+
+               [GLib.Property ("upstream-id")]
+               public string UpstreamId {
+                       get  {
+                               IntPtr raw_ret = gst_stream_collection_get_upstream_id(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("upstream-id", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Signal("stream-notify")]
+               public event Gst.StreamNotifyHandler StreamNotify {
+                       add {
+                               this.AddSignalHandler ("stream-notify", value, typeof (Gst.StreamNotifyArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("stream-notify", value);
+                       }
+               }
+
+               static StreamNotifyNativeDelegate StreamNotify_cb_delegate;
+               static StreamNotifyNativeDelegate StreamNotifyVMCallback {
+                       get {
+                               if (StreamNotify_cb_delegate == null)
+                                       StreamNotify_cb_delegate = new StreamNotifyNativeDelegate (StreamNotify_cb);
+                               return StreamNotify_cb_delegate;
+                       }
+               }
+
+               static void OverrideStreamNotify (GLib.GType gtype)
+               {
+                       OverrideStreamNotify (gtype, StreamNotifyVMCallback);
+               }
+
+               static void OverrideStreamNotify (GLib.GType gtype, StreamNotifyNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stream_notify"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void StreamNotifyNativeDelegate (IntPtr inst, IntPtr _object, IntPtr p0);
+
+               static void StreamNotify_cb (IntPtr inst, IntPtr _object, IntPtr p0)
+               {
+                       try {
+                               StreamCollection __obj = GLib.Object.GetObject (inst, false) as StreamCollection;
+                               __obj.OnStreamNotify (GLib.Object.GetObject(_object) as Gst.Stream, p0);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.StreamCollection), ConnectionMethod="OverrideStreamNotify")]
+               protected virtual void OnStreamNotify (Gst.Stream _object, IntPtr p0)
+               {
+                       InternalStreamNotify (_object, p0);
+               }
+
+               private void InternalStreamNotify (Gst.Stream _object, IntPtr p0)
+               {
+                       StreamNotifyNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stream_notify"));
+                               unmanaged = (StreamNotifyNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StreamNotifyNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.Handle, p0);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("stream_notify"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // stream_notify
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "stream_notify"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_collection_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_stream_collection_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_stream_collection_add_stream(IntPtr raw, IntPtr stream);
+
+               public bool AddStream(Gst.Stream stream) {
+                       bool raw_ret = gst_stream_collection_add_stream(Handle, stream == null ? IntPtr.Zero : stream.OwnedHandle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_stream_collection_get_size(IntPtr raw);
+
+               public uint Size { 
+                       get {
+                               uint raw_ret = gst_stream_collection_get_size(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_collection_get_stream(IntPtr raw, uint index);
+
+               public Gst.Stream GetStream(uint index) {
+                       IntPtr raw_ret = gst_stream_collection_get_stream(Handle, index);
+                       Gst.Stream ret = GLib.Object.GetObject(raw_ret) as Gst.Stream;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("upstream_id"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // upstream_id
+                                                       , null
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "upstream_id"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_StreamError.cs b/sources/generated/Gst_StreamError.cs
new file mode 100644 (file)
index 0000000..9076725
--- /dev/null
@@ -0,0 +1,40 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.StreamErrorGType))]
+       public enum StreamError {
+
+               Failed = 1,
+               TooLazy = 2,
+               NotImplemented = 3,
+               TypeNotFound = 4,
+               WrongType = 5,
+               CodecNotFound = 6,
+               Decode = 7,
+               Encode = 8,
+               Demux = 9,
+               Mux = 10,
+               Format = 11,
+               Decrypt = 12,
+               DecryptNokey = 13,
+               NumErrors = 14,
+       }
+
+       internal class StreamErrorGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_error_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_stream_error_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_StreamFlags.cs b/sources/generated/Gst_StreamFlags.cs
new file mode 100644 (file)
index 0000000..fbaa8c4
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.StreamFlagsGType))]
+       public enum StreamFlags {
+
+               None = 0,
+               Sparse = 1,
+               Select = 2,
+               Unselect = 4,
+       }
+
+       internal class StreamFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_stream_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_StreamNotifyHandler.cs b/sources/generated/Gst_StreamNotifyHandler.cs
new file mode 100644 (file)
index 0000000..1aef38d
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void StreamNotifyHandler(object o, StreamNotifyArgs args);
+
+       public class StreamNotifyArgs : GLib.SignalArgs {
+               public Gst.Stream Object{
+                       get {
+                               return (Gst.Stream) Args [0];
+                       }
+               }
+
+               public IntPtr P0{
+                       get {
+                               return (IntPtr) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_StreamStatusType.cs b/sources/generated/Gst_StreamStatusType.cs
new file mode 100644 (file)
index 0000000..902fbaa
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.StreamStatusTypeGType))]
+       public enum StreamStatusType {
+
+               Create = 0,
+               Enter = 1,
+               Leave = 2,
+               Destroy = 3,
+               Start = 8,
+               Pause = 9,
+               Stop = 10,
+       }
+
+       internal class StreamStatusTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_status_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_stream_status_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_StreamType.cs b/sources/generated/Gst_StreamType.cs
new file mode 100644 (file)
index 0000000..3c15b60
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.StreamTypeGType))]
+       public enum StreamType {
+
+               Unknown = 1,
+               Audio = 2,
+               Video = 4,
+               Container = 8,
+               Text = 16,
+       }
+
+       internal class StreamTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_stream_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_stream_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_Structure.cs b/sources/generated/Gst_Structure.cs
new file mode 100644 (file)
index 0000000..180ab93
--- /dev/null
@@ -0,0 +1,706 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Structure : GLib.Opaque {
+
+               public GLib.GType Type {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return new GLib.GType((*raw_ptr));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = value.Val;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_get_name(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_set_name(IntPtr raw, IntPtr name);
+
+               public string Name {
+                       get  {
+                               IntPtr raw_ret = gst_structure_get_name(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_structure_set_name(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_structure_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_can_intersect(IntPtr raw, IntPtr struct2);
+
+               public bool CanIntersect(Gst.Structure struct2) {
+                       bool raw_ret = gst_structure_can_intersect(Handle, struct2 == null ? IntPtr.Zero : struct2.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_copy(IntPtr raw);
+
+               public Gst.Structure Copy() {
+                       IntPtr raw_ret = gst_structure_copy(Handle);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_filter_and_map_in_place(IntPtr raw, GstSharp.StructureFilterMapFuncNative func, IntPtr user_data);
+
+               public void FilterAndMapInPlace(Gst.StructureFilterMapFunc func) {
+                       GstSharp.StructureFilterMapFuncWrapper func_wrapper = new GstSharp.StructureFilterMapFuncWrapper (func);
+                       gst_structure_filter_and_map_in_place(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_fixate(IntPtr raw);
+
+               public void Fixate() {
+                       gst_structure_fixate(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_fixate_field(IntPtr raw, IntPtr field_name);
+
+               public bool FixateField(string field_name) {
+                       IntPtr native_field_name = GLib.Marshaller.StringToPtrGStrdup (field_name);
+                       bool raw_ret = gst_structure_fixate_field(Handle, native_field_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_field_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_fixate_field_boolean(IntPtr raw, IntPtr field_name, bool target);
+
+               public bool FixateFieldBoolean(string field_name, bool target) {
+                       IntPtr native_field_name = GLib.Marshaller.StringToPtrGStrdup (field_name);
+                       bool raw_ret = gst_structure_fixate_field_boolean(Handle, native_field_name, target);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_field_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_fixate_field_nearest_double(IntPtr raw, IntPtr field_name, double target);
+
+               public bool FixateFieldNearestDouble(string field_name, double target) {
+                       IntPtr native_field_name = GLib.Marshaller.StringToPtrGStrdup (field_name);
+                       bool raw_ret = gst_structure_fixate_field_nearest_double(Handle, native_field_name, target);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_field_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_fixate_field_nearest_fraction(IntPtr raw, IntPtr field_name, int target_numerator, int target_denominator);
+
+               public bool FixateFieldNearestFraction(string field_name, int target_numerator, int target_denominator) {
+                       IntPtr native_field_name = GLib.Marshaller.StringToPtrGStrdup (field_name);
+                       bool raw_ret = gst_structure_fixate_field_nearest_fraction(Handle, native_field_name, target_numerator, target_denominator);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_field_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_fixate_field_nearest_int(IntPtr raw, IntPtr field_name, int target);
+
+               public bool FixateFieldNearestInt(string field_name, int target) {
+                       IntPtr native_field_name = GLib.Marshaller.StringToPtrGStrdup (field_name);
+                       bool raw_ret = gst_structure_fixate_field_nearest_int(Handle, native_field_name, target);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_field_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_fixate_field_string(IntPtr raw, IntPtr field_name, IntPtr target);
+
+               public bool FixateFieldString(string field_name, string target) {
+                       IntPtr native_field_name = GLib.Marshaller.StringToPtrGStrdup (field_name);
+                       IntPtr native_target = GLib.Marshaller.StringToPtrGStrdup (target);
+                       bool raw_ret = gst_structure_fixate_field_string(Handle, native_field_name, native_target);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_field_name);
+                       GLib.Marshaller.Free (native_target);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_foreach(IntPtr raw, GstSharp.StructureForeachFuncNative func, IntPtr user_data);
+
+               public bool Foreach(Gst.StructureForeachFunc func) {
+                       GstSharp.StructureForeachFuncWrapper func_wrapper = new GstSharp.StructureForeachFuncWrapper (func);
+                       bool raw_ret = gst_structure_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_array(IntPtr raw, IntPtr fieldname, out IntPtr array);
+
+               public bool GetArray(string fieldname, out GLib.ValueArray array) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr native_array;
+                       bool raw_ret = gst_structure_get_array(Handle, native_fieldname, out native_array);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       array = new GLib.ValueArray(native_array);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_boolean(IntPtr raw, IntPtr fieldname, out bool value);
+
+               public bool GetBoolean(string fieldname, out bool value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_boolean(Handle, native_fieldname, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_clock_time(IntPtr raw, IntPtr fieldname, out ulong value);
+
+               public bool GetClockTime(string fieldname, out ulong value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_clock_time(Handle, native_fieldname, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_date(IntPtr raw, IntPtr fieldname, out IntPtr value);
+
+               public bool GetDate(string fieldname, out GLib.Date value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr native_value;
+                       bool raw_ret = gst_structure_get_date(Handle, native_fieldname, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       value = new GLib.Date(native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_date_time(IntPtr raw, IntPtr fieldname, out IntPtr value);
+
+               public bool GetDateTime(string fieldname, out Gst.DateTime value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr native_value;
+                       bool raw_ret = gst_structure_get_date_time(Handle, native_fieldname, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       value = native_value == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_value, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_double(IntPtr raw, IntPtr fieldname, out double value);
+
+               public bool GetDouble(string fieldname, out double value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_double(Handle, native_fieldname, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_enum(IntPtr raw, IntPtr fieldname, IntPtr enumtype, out int value);
+
+               public bool GetEnum(string fieldname, GLib.GType enumtype, out int value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_enum(Handle, native_fieldname, enumtype.Val, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_get_field_type(IntPtr raw, IntPtr fieldname);
+
+               public GLib.GType GetFieldType(string fieldname) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr raw_ret = gst_structure_get_field_type(Handle, native_fieldname);
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_flagset(IntPtr raw, IntPtr fieldname, out uint value_flags, out uint value_mask);
+
+               public bool GetFlagset(string fieldname, out uint value_flags, out uint value_mask) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_flagset(Handle, native_fieldname, out value_flags, out value_mask);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_fraction(IntPtr raw, IntPtr fieldname, out int value_numerator, out int value_denominator);
+
+               public bool GetFraction(string fieldname, out int value_numerator, out int value_denominator) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_fraction(Handle, native_fieldname, out value_numerator, out value_denominator);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_int(IntPtr raw, IntPtr fieldname, out int value);
+
+               public bool GetInt(string fieldname, out int value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_int(Handle, native_fieldname, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_int64(IntPtr raw, IntPtr fieldname, out long value);
+
+               public bool GetInt64(string fieldname, out long value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_int64(Handle, native_fieldname, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_list(IntPtr raw, IntPtr fieldname, out IntPtr array);
+
+               public bool GetList(string fieldname, out GLib.ValueArray array) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr native_array;
+                       bool raw_ret = gst_structure_get_list(Handle, native_fieldname, out native_array);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       array = new GLib.ValueArray(native_array);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_structure_get_name_id(IntPtr raw);
+
+               public uint NameId { 
+                       get {
+                               uint raw_ret = gst_structure_get_name_id(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_get_string(IntPtr raw, IntPtr fieldname);
+
+               public string GetString(string fieldname) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr raw_ret = gst_structure_get_string(Handle, native_fieldname);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_uint(IntPtr raw, IntPtr fieldname, out uint value);
+
+               public bool GetUint(string fieldname, out uint value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_uint(Handle, native_fieldname, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_get_uint64(IntPtr raw, IntPtr fieldname, out ulong value);
+
+               public bool GetUint64(string fieldname, out ulong value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_get_uint64(Handle, native_fieldname, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_get_value(IntPtr raw, IntPtr fieldname);
+
+               public GLib.Value GetValue(string fieldname) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr raw_ret = gst_structure_get_value(Handle, native_fieldname);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_has_field(IntPtr raw, IntPtr fieldname);
+
+               public bool HasField(string fieldname) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_has_field(Handle, native_fieldname);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_has_field_typed(IntPtr raw, IntPtr fieldname, IntPtr type);
+
+               public bool HasFieldTyped(string fieldname, GLib.GType type) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       bool raw_ret = gst_structure_has_field_typed(Handle, native_fieldname, type.Val);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_fieldname);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_has_name(IntPtr raw, IntPtr name);
+
+               public bool HasName(string name) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_structure_has_name(Handle, native_name);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_id_get_value(IntPtr raw, uint field);
+
+               public GLib.Value IdGetValue(uint field) {
+                       IntPtr raw_ret = gst_structure_id_get_value(Handle, field);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_id_has_field(IntPtr raw, uint field);
+
+               public bool IdHasField(uint field) {
+                       bool raw_ret = gst_structure_id_has_field(Handle, field);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_id_has_field_typed(IntPtr raw, uint field, IntPtr type);
+
+               public bool IdHasFieldTyped(uint field, GLib.GType type) {
+                       bool raw_ret = gst_structure_id_has_field_typed(Handle, field, type.Val);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_id_set_value(IntPtr raw, uint field, IntPtr value);
+
+               public void IdSetValue(uint field, GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_structure_id_set_value(Handle, field, native_value);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_id_take_value(IntPtr raw, uint field, IntPtr value);
+
+               public void IdTakeValue(uint field, GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_structure_id_take_value(Handle, field, native_value);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_intersect(IntPtr raw, IntPtr struct2);
+
+               public Gst.Structure Intersect(Gst.Structure struct2) {
+                       IntPtr raw_ret = gst_structure_intersect(Handle, struct2 == null ? IntPtr.Zero : struct2.Handle);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_is_equal(IntPtr raw, IntPtr structure2);
+
+               public bool IsEqual(Gst.Structure structure2) {
+                       bool raw_ret = gst_structure_is_equal(Handle, structure2 == null ? IntPtr.Zero : structure2.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_is_subset(IntPtr raw, IntPtr superset);
+
+               public bool IsSubset(Gst.Structure superset) {
+                       bool raw_ret = gst_structure_is_subset(Handle, superset == null ? IntPtr.Zero : superset.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_map_in_place(IntPtr raw, GstSharp.StructureMapFuncNative func, IntPtr user_data);
+
+               public bool MapInPlace(Gst.StructureMapFunc func) {
+                       GstSharp.StructureMapFuncWrapper func_wrapper = new GstSharp.StructureMapFuncWrapper (func);
+                       bool raw_ret = gst_structure_map_in_place(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_structure_n_fields(IntPtr raw);
+
+               public int NFields() {
+                       int raw_ret = gst_structure_n_fields(Handle);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_nth_field_name(IntPtr raw, uint index);
+
+               public string NthFieldName(uint index) {
+                       IntPtr raw_ret = gst_structure_nth_field_name(Handle, index);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_remove_all_fields(IntPtr raw);
+
+               public void RemoveAllFields() {
+                       gst_structure_remove_all_fields(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_remove_field(IntPtr raw, IntPtr fieldname);
+
+               public void RemoveField(string fieldname) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       gst_structure_remove_field(Handle, native_fieldname);
+                       GLib.Marshaller.Free (native_fieldname);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_set_array(IntPtr raw, IntPtr fieldname, IntPtr array);
+
+               public void SetArray(string fieldname, GLib.ValueArray array) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       gst_structure_set_array(Handle, native_fieldname, array == null ? IntPtr.Zero : array.Handle);
+                       GLib.Marshaller.Free (native_fieldname);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_set_list(IntPtr raw, IntPtr fieldname, IntPtr array);
+
+               public void SetList(string fieldname, GLib.ValueArray array) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       gst_structure_set_list(Handle, native_fieldname, array == null ? IntPtr.Zero : array.Handle);
+                       GLib.Marshaller.Free (native_fieldname);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_structure_set_parent_refcount(IntPtr raw, int refcount);
+
+               public bool SetParentRefcount(int refcount) {
+                       bool raw_ret = gst_structure_set_parent_refcount(Handle, refcount);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_set_value(IntPtr raw, IntPtr fieldname, IntPtr value);
+
+               public void SetValue(string fieldname, GLib.Value value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_structure_set_value(Handle, native_fieldname, native_value);
+                       GLib.Marshaller.Free (native_fieldname);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_take_value(IntPtr raw, IntPtr fieldname, IntPtr value);
+
+               public void TakeValue(string fieldname, GLib.Value value) {
+                       IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_structure_take_value(Handle, native_fieldname, native_value);
+                       GLib.Marshaller.Free (native_fieldname);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_to_string(IntPtr raw);
+
+               public override string ToString() {
+                       IntPtr raw_ret = gst_structure_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_from_string(IntPtr str1ng, out IntPtr end);
+
+               public static Gst.Structure FromString(string str1ng, out string end) {
+                       IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+                       IntPtr native_end;
+                       IntPtr raw_ret = gst_structure_from_string(native_str1ng, out native_end);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+                       GLib.Marshaller.Free (native_str1ng);
+                       end = GLib.Marshaller.Utf8PtrToString (native_end);
+                       return ret;
+               }
+
+               public Structure(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_new_empty(IntPtr name);
+
+               public Structure (string name) 
+               {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       Raw = gst_structure_new_empty(native_name);
+                       GLib.Marshaller.Free (native_name);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_new_from_string(IntPtr str1ng);
+
+               public static Structure NewFromString(string str1ng)
+               {
+                       IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+                       Structure result = new Structure (gst_structure_new_from_string(native_str1ng));
+                       GLib.Marshaller.Free (native_str1ng);
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_new_id_empty(uint quark);
+
+               public Structure (uint quark) 
+               {
+                       Raw = gst_structure_new_id_empty(quark);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_structure_free(IntPtr raw);
+
+               protected override void Free (IntPtr raw)
+               {
+                       gst_structure_free (raw);
+               }
+
+               class FinalizerInfo {
+                       IntPtr handle;
+
+                       public FinalizerInfo (IntPtr handle)
+                       {
+                               this.handle = handle;
+                       }
+
+                       public bool Handler ()
+                       {
+                               gst_structure_free (handle);
+                               return false;
+                       }
+               }
+
+               ~Structure ()
+               {
+                       if (!Owned)
+                               return;
+                       FinalizerInfo info = new FinalizerInfo (Handle);
+                       GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("type"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.GType)) // type
+                                                       , null
+                                                       , "name"
+                                                       , (long) Marshal.OffsetOf(typeof(GstStructure_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("name"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(uint)) // name
+                                                       , "type"
+                                                       , null
+                                                       , (long) Marshal.OffsetOf(typeof(GstStructure_nameAlign), "name")
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstStructure_typeAlign
+               {
+                       sbyte f1;
+                       private GLib.GType type;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstStructure_nameAlign
+               {
+                       sbyte f1;
+                       private string name;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_StructureChangeType.cs b/sources/generated/Gst_StructureChangeType.cs
new file mode 100644 (file)
index 0000000..86ffe1e
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.StructureChangeTypeGType))]
+       public enum StructureChangeType {
+
+               Link = 0,
+               Unlink = 1,
+       }
+
+       internal class StructureChangeTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_structure_change_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_structure_change_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_StructureFilterMapFunc.cs b/sources/generated/Gst_StructureFilterMapFunc.cs
new file mode 100644 (file)
index 0000000..753acbf
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool StructureFilterMapFunc(uint field_id, GLib.Value value);
+
+}
diff --git a/sources/generated/Gst_StructureForeachFunc.cs b/sources/generated/Gst_StructureForeachFunc.cs
new file mode 100644 (file)
index 0000000..c90af81
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool StructureForeachFunc(uint field_id, GLib.Value value);
+
+}
diff --git a/sources/generated/Gst_StructureMapFunc.cs b/sources/generated/Gst_StructureMapFunc.cs
new file mode 100644 (file)
index 0000000..412eb47
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool StructureMapFunc(uint field_id, GLib.Value value);
+
+}
diff --git a/sources/generated/Gst_SyncMessageHandler.cs b/sources/generated/Gst_SyncMessageHandler.cs
new file mode 100644 (file)
index 0000000..f16365c
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void SyncMessageHandler(object o, SyncMessageArgs args);
+
+       public class SyncMessageArgs : GLib.SignalArgs {
+               public Gst.Message Message{
+                       get {
+                               return (Gst.Message) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_SyncedHandler.cs b/sources/generated/Gst_SyncedHandler.cs
new file mode 100644 (file)
index 0000000..59f5a4b
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void SyncedHandler(object o, SyncedArgs args);
+
+       public class SyncedArgs : GLib.SignalArgs {
+               public bool Synced{
+                       get {
+                               return (bool) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_SystemClock.cs b/sources/generated/Gst_SystemClock.cs
new file mode 100644 (file)
index 0000000..3d551c9
--- /dev/null
@@ -0,0 +1,123 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class SystemClock : Gst.Clock {
+
+               public SystemClock (IntPtr raw) : base(raw) {}
+
+               protected SystemClock() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("clock-type")]
+               public Gst.ClockType ClockType {
+                       get {
+                               GLib.Value val = GetProperty ("clock-type");
+                               Gst.ClockType ret = (Gst.ClockType) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value((Enum) value);
+                               SetProperty("clock-type", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Clock.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_system_clock_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_system_clock_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_system_clock_obtain();
+
+               public static Gst.Clock Obtain() {
+                       IntPtr raw_ret = gst_system_clock_obtain();
+                       Gst.Clock ret = GLib.Object.GetObject(raw_ret, true) as Gst.Clock;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_system_clock_set_default(IntPtr new_clock);
+
+               public static Gst.Clock Default { 
+                       set {
+                               gst_system_clock_set_default(value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Clock.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Tag.cs b/sources/generated/Gst_Tag.cs
new file mode 100644 (file)
index 0000000..7b60f8d
--- /dev/null
@@ -0,0 +1,554 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Tag {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_exists(IntPtr tag);
+
+               public static bool Exists(string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_exists(native_tag);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_description(IntPtr tag);
+
+               public static string GetDescription(string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr raw_ret = gst_tag_get_description(native_tag);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_tag_get_flag(IntPtr tag);
+
+               public static Gst.TagFlag GetFlag(string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       int raw_ret = gst_tag_get_flag(native_tag);
+                       Gst.TagFlag ret = (Gst.TagFlag) raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_nick(IntPtr tag);
+
+               public static string GetNick(string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr raw_ret = gst_tag_get_nick(native_tag);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_type(IntPtr tag);
+
+               public static GLib.GType GetType(string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr raw_ret = gst_tag_get_type(native_tag);
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_is_fixed(IntPtr tag);
+
+               public static bool IsFixed(string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_is_fixed(native_tag);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_copy_value(IntPtr dest, IntPtr list, IntPtr tag);
+
+               public static bool ListCopyValue(ref GLib.Value dest, Gst.TagList list, string tag) {
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_copy_value(native_dest, list == null ? IntPtr.Zero : list.Handle, native_tag);
+                       bool ret = raw_ret;
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_merge_strings_with_comma(IntPtr dest, IntPtr src);
+
+               public static GLib.Value MergeStringsWithComma(GLib.Value src) {
+                       GLib.Value dest;
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       gst_tag_merge_strings_with_comma(native_dest, native_src);
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_src);
+                       return dest;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_merge_use_first(IntPtr dest, IntPtr src);
+
+               public static GLib.Value MergeUseFirst(GLib.Value src) {
+                       GLib.Value dest;
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       gst_tag_merge_use_first(native_dest, native_src);
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_src);
+                       return dest;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_register(IntPtr name, int flag, IntPtr type, IntPtr nick, IntPtr blurb, GstSharp.TagMergeFuncNative func);
+
+               public static void Register(string name, Gst.TagFlag flag, GLib.GType type, string nick, string blurb, Gst.TagMergeFunc func) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_nick = GLib.Marshaller.StringToPtrGStrdup (nick);
+                       IntPtr native_blurb = GLib.Marshaller.StringToPtrGStrdup (blurb);
+                       GstSharp.TagMergeFuncWrapper func_wrapper = new GstSharp.TagMergeFuncWrapper (func);
+                       gst_tag_register(native_name, (int) flag, type.Val, native_nick, native_blurb, func_wrapper.NativeDelegate);
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_nick);
+                       GLib.Marshaller.Free (native_blurb);
+               }
+
+               public static void Register(string name, Gst.TagFlag flag, GLib.GType type, string nick, string blurb) {
+                       Register (name, flag, type, nick, blurb, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_register_static(IntPtr name, int flag, IntPtr type, IntPtr nick, IntPtr blurb, GstSharp.TagMergeFuncNative func);
+
+               public static void RegisterStatic(string name, Gst.TagFlag flag, GLib.GType type, string nick, string blurb, Gst.TagMergeFunc func) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_nick = GLib.Marshaller.StringToPtrGStrdup (nick);
+                       IntPtr native_blurb = GLib.Marshaller.StringToPtrGStrdup (blurb);
+                       GstSharp.TagMergeFuncWrapper func_wrapper = new GstSharp.TagMergeFuncWrapper (func);
+                       gst_tag_register_static(native_name, (int) flag, type.Val, native_nick, native_blurb, func_wrapper.NativeDelegate);
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_nick);
+                       GLib.Marshaller.Free (native_blurb);
+               }
+
+               public static void RegisterStatic(string name, Gst.TagFlag flag, GLib.GType type, string nick, string blurb) {
+                       RegisterStatic (name, flag, type, nick, blurb, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_check_language_code(IntPtr lang_code);
+
+               public static bool CheckLanguageCode(string lang_code) {
+                       IntPtr native_lang_code = GLib.Marshaller.StringToPtrGStrdup (lang_code);
+                       bool raw_ret = gst_tag_check_language_code(native_lang_code);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_lang_code);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_freeform_string_to_utf8(IntPtr data, int size, IntPtr env_vars);
+
+               public static string FreeformStringToUtf8(string data, int size, string env_vars) {
+                       IntPtr native_data = GLib.Marshaller.StringToPtrGStrdup (data);
+                       IntPtr native_env_vars = GLib.Marshaller.StringToPtrGStrdup (env_vars);
+                       IntPtr raw_ret = gst_tag_freeform_string_to_utf8(native_data, size, native_env_vars);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_data);
+                       GLib.Marshaller.Free (native_env_vars);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_from_id3_tag(IntPtr id3_tag);
+
+               public static string FromId3Tag(string id3_tag) {
+                       IntPtr native_id3_tag = GLib.Marshaller.StringToPtrGStrdup (id3_tag);
+                       IntPtr raw_ret = gst_tag_from_id3_tag(native_id3_tag);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_id3_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_from_id3_user_tag(IntPtr type, IntPtr id3_user_tag);
+
+               public static string FromId3UserTag(string type, string id3_user_tag) {
+                       IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+                       IntPtr native_id3_user_tag = GLib.Marshaller.StringToPtrGStrdup (id3_user_tag);
+                       IntPtr raw_ret = gst_tag_from_id3_user_tag(native_type, native_id3_user_tag);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_type);
+                       GLib.Marshaller.Free (native_id3_user_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_from_vorbis_tag(IntPtr vorbis_tag);
+
+               public static string FromVorbisTag(string vorbis_tag) {
+                       IntPtr native_vorbis_tag = GLib.Marshaller.StringToPtrGStrdup (vorbis_tag);
+                       IntPtr raw_ret = gst_tag_from_vorbis_tag(native_vorbis_tag);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_vorbis_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_tag_get_id3v2_tag_size(IntPtr buffer);
+
+               public static uint GetId3v2TagSize(Gst.Buffer buffer) {
+                       uint raw_ret = gst_tag_get_id3v2_tag_size(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_language_code_iso_639_1(IntPtr lang_code);
+
+               public static string GetLanguageCodeIso6391(string lang_code) {
+                       IntPtr native_lang_code = GLib.Marshaller.StringToPtrGStrdup (lang_code);
+                       IntPtr raw_ret = gst_tag_get_language_code_iso_639_1(native_lang_code);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_lang_code);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_language_code_iso_639_2B(IntPtr lang_code);
+
+               public static string GetLanguageCodeIso6392B(string lang_code) {
+                       IntPtr native_lang_code = GLib.Marshaller.StringToPtrGStrdup (lang_code);
+                       IntPtr raw_ret = gst_tag_get_language_code_iso_639_2B(native_lang_code);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_lang_code);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_language_code_iso_639_2T(IntPtr lang_code);
+
+               public static string GetLanguageCodeIso6392T(string lang_code) {
+                       IntPtr native_lang_code = GLib.Marshaller.StringToPtrGStrdup (lang_code);
+                       IntPtr raw_ret = gst_tag_get_language_code_iso_639_2T(native_lang_code);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_lang_code);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_language_codes();
+
+               public static string[] GetLanguageCodes() {
+                       IntPtr raw_ret = gst_tag_get_language_codes();
+                       string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_language_name(IntPtr language_code);
+
+               public static string GetLanguageName(string language_code) {
+                       IntPtr native_language_code = GLib.Marshaller.StringToPtrGStrdup (language_code);
+                       IntPtr raw_ret = gst_tag_get_language_name(native_language_code);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_language_code);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_license_description(IntPtr license_ref);
+
+               public static string GetLicenseDescription(string license_ref) {
+                       IntPtr native_license_ref = GLib.Marshaller.StringToPtrGStrdup (license_ref);
+                       IntPtr raw_ret = gst_tag_get_license_description(native_license_ref);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_license_ref);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_tag_get_license_flags(IntPtr license_ref);
+
+               public static Gst.Tags.TagLicenseFlags GetLicenseFlags(string license_ref) {
+                       IntPtr native_license_ref = GLib.Marshaller.StringToPtrGStrdup (license_ref);
+                       int raw_ret = gst_tag_get_license_flags(native_license_ref);
+                       Gst.Tags.TagLicenseFlags ret = (Gst.Tags.TagLicenseFlags) raw_ret;
+                       GLib.Marshaller.Free (native_license_ref);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_license_jurisdiction(IntPtr license_ref);
+
+               public static string GetLicenseJurisdiction(string license_ref) {
+                       IntPtr native_license_ref = GLib.Marshaller.StringToPtrGStrdup (license_ref);
+                       IntPtr raw_ret = gst_tag_get_license_jurisdiction(native_license_ref);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_license_ref);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_license_nick(IntPtr license_ref);
+
+               public static string GetLicenseNick(string license_ref) {
+                       IntPtr native_license_ref = GLib.Marshaller.StringToPtrGStrdup (license_ref);
+                       IntPtr raw_ret = gst_tag_get_license_nick(native_license_ref);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_license_ref);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_license_title(IntPtr license_ref);
+
+               public static string GetLicenseTitle(string license_ref) {
+                       IntPtr native_license_ref = GLib.Marshaller.StringToPtrGStrdup (license_ref);
+                       IntPtr raw_ret = gst_tag_get_license_title(native_license_ref);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_license_ref);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_license_version(IntPtr license_ref);
+
+               public static string GetLicenseVersion(string license_ref) {
+                       IntPtr native_license_ref = GLib.Marshaller.StringToPtrGStrdup (license_ref);
+                       IntPtr raw_ret = gst_tag_get_license_version(native_license_ref);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_license_ref);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_get_licenses();
+
+               public static string[] GetLicenses() {
+                       IntPtr raw_ret = gst_tag_get_licenses();
+                       string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_tag_id3_genre_count();
+
+               public static uint Id3GenreCount() {
+                       uint raw_ret = gst_tag_id3_genre_count();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_id3_genre_get(uint id);
+
+               public static string Id3GenreGet(uint id) {
+                       IntPtr raw_ret = gst_tag_id3_genre_get(id);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_image_data_to_image_sample(byte image_data, uint image_data_len, int image_type);
+
+               public static Gst.Sample ImageDataToImageSample(byte image_data, uint image_data_len, Gst.Tags.TagImageType image_type) {
+                       IntPtr raw_ret = gst_tag_image_data_to_image_sample(image_data, image_data_len, (int) image_type);
+                       Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_add_id3_image(IntPtr tag_list, byte image_data, uint image_data_len, uint id3_picture_type);
+
+               public static bool ListAddId3Image(Gst.TagList tag_list, byte image_data, uint image_data_len, uint id3_picture_type) {
+                       bool raw_ret = gst_tag_list_add_id3_image(tag_list == null ? IntPtr.Zero : tag_list.Handle, image_data, image_data_len, id3_picture_type);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_from_exif_buffer(IntPtr buffer, int byte_order, uint base_offset);
+
+               public static Gst.TagList ListFromExifBuffer(Gst.Buffer buffer, int byte_order, uint base_offset) {
+                       IntPtr raw_ret = gst_tag_list_from_exif_buffer(buffer == null ? IntPtr.Zero : buffer.Handle, byte_order, base_offset);
+                       Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_from_exif_buffer_with_tiff_header(IntPtr buffer);
+
+               public static Gst.TagList ListFromExifBufferWithTiffHeader(Gst.Buffer buffer) {
+                       IntPtr raw_ret = gst_tag_list_from_exif_buffer_with_tiff_header(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_from_id3v2_tag(IntPtr buffer);
+
+               public static Gst.TagList ListFromId3v2Tag(Gst.Buffer buffer) {
+                       IntPtr raw_ret = gst_tag_list_from_id3v2_tag(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_from_vorbiscomment(byte data, UIntPtr size, byte id_data, uint id_data_length, IntPtr vendor_string);
+
+               public static Gst.TagList ListFromVorbiscomment(byte data, ulong size, byte id_data, uint id_data_length, string vendor_string) {
+                       IntPtr native_vendor_string = GLib.Marshaller.StringToPtrGStrdup (vendor_string);
+                       IntPtr raw_ret = gst_tag_list_from_vorbiscomment(data, new UIntPtr (size), id_data, id_data_length, native_vendor_string);
+                       Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                       GLib.Marshaller.Free (native_vendor_string);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_from_vorbiscomment_buffer(IntPtr buffer, byte id_data, uint id_data_length, IntPtr vendor_string);
+
+               public static Gst.TagList ListFromVorbiscommentBuffer(Gst.Buffer buffer, byte id_data, uint id_data_length, string vendor_string) {
+                       IntPtr native_vendor_string = GLib.Marshaller.StringToPtrGStrdup (vendor_string);
+                       IntPtr raw_ret = gst_tag_list_from_vorbiscomment_buffer(buffer == null ? IntPtr.Zero : buffer.Handle, id_data, id_data_length, native_vendor_string);
+                       Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                       GLib.Marshaller.Free (native_vendor_string);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_from_xmp_buffer(IntPtr buffer);
+
+               public static Gst.TagList ListFromXmpBuffer(Gst.Buffer buffer) {
+                       IntPtr raw_ret = gst_tag_list_from_xmp_buffer(buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_new_from_id3v1(byte data);
+
+               public static Gst.TagList ListNewFromId3v1(byte data) {
+                       IntPtr raw_ret = gst_tag_list_new_from_id3v1(data);
+                       Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_to_exif_buffer(IntPtr taglist, int byte_order, uint base_offset);
+
+               public static Gst.Buffer ListToExifBuffer(Gst.TagList taglist, int byte_order, uint base_offset) {
+                       IntPtr raw_ret = gst_tag_list_to_exif_buffer(taglist == null ? IntPtr.Zero : taglist.Handle, byte_order, base_offset);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_to_exif_buffer_with_tiff_header(IntPtr taglist);
+
+               public static Gst.Buffer ListToExifBufferWithTiffHeader(Gst.TagList taglist) {
+                       IntPtr raw_ret = gst_tag_list_to_exif_buffer_with_tiff_header(taglist == null ? IntPtr.Zero : taglist.Handle);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_to_vorbiscomment_buffer(IntPtr list, byte id_data, uint id_data_length, IntPtr vendor_string);
+
+               public static Gst.Buffer ListToVorbiscommentBuffer(Gst.TagList list, byte id_data, uint id_data_length, string vendor_string) {
+                       IntPtr native_vendor_string = GLib.Marshaller.StringToPtrGStrdup (vendor_string);
+                       IntPtr raw_ret = gst_tag_list_to_vorbiscomment_buffer(list == null ? IntPtr.Zero : list.Handle, id_data, id_data_length, native_vendor_string);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       GLib.Marshaller.Free (native_vendor_string);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_to_xmp_buffer(IntPtr list, bool read_only, IntPtr schemas);
+
+               public static Gst.Buffer ListToXmpBuffer(Gst.TagList list, bool read_only, string schemas) {
+                       IntPtr native_schemas = GLib.Marshaller.StringToPtrGStrdup (schemas);
+                       IntPtr raw_ret = gst_tag_list_to_xmp_buffer(list == null ? IntPtr.Zero : list.Handle, read_only, native_schemas);
+                       Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+                       GLib.Marshaller.Free (native_schemas);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_parse_extended_comment(IntPtr ext_comment, IntPtr key, IntPtr lang, IntPtr value, bool fail_if_no_key);
+
+               public static bool ParseExtendedComment(string ext_comment, string key, string lang, string value, bool fail_if_no_key) {
+                       IntPtr native_ext_comment = GLib.Marshaller.StringToPtrGStrdup (ext_comment);
+                       IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+                       IntPtr native_lang = GLib.Marshaller.StringToPtrGStrdup (lang);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       bool raw_ret = gst_tag_parse_extended_comment(native_ext_comment, native_key, native_lang, native_value, fail_if_no_key);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_ext_comment);
+                       GLib.Marshaller.Free (native_key);
+                       GLib.Marshaller.Free (native_lang);
+                       GLib.Marshaller.Free (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_register_musicbrainz_tags();
+
+               public static void RegisterMusicbrainzTags() {
+                       gst_tag_register_musicbrainz_tags();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_to_id3_tag(IntPtr gst_tag);
+
+               public static string ToId3Tag(string gst_tag) {
+                       IntPtr native_gst_tag = GLib.Marshaller.StringToPtrGStrdup (gst_tag);
+                       IntPtr raw_ret = gst_tag_to_id3_tag(native_gst_tag);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_gst_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_to_vorbis_comments(IntPtr list, IntPtr tag);
+
+               public static string[] ToVorbisComments(Gst.TagList list, string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr raw_ret = gst_tag_to_vorbis_comments(list == null ? IntPtr.Zero : list.Handle, native_tag);
+                       string[] ret = (string[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(string));
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_to_vorbis_tag(IntPtr gst_tag);
+
+               public static string ToVorbisTag(string gst_tag) {
+                       IntPtr native_gst_tag = GLib.Marshaller.StringToPtrGStrdup (gst_tag);
+                       IntPtr raw_ret = gst_tag_to_vorbis_tag(native_gst_tag);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_gst_tag);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TagFlag.cs b/sources/generated/Gst_TagFlag.cs
new file mode 100644 (file)
index 0000000..8ad44d2
--- /dev/null
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TagFlagGType))]
+       public enum TagFlag {
+
+               Undefined = 0,
+               Meta = 1,
+               Encoded = 2,
+               Decoded = 3,
+               Count = 4,
+       }
+
+       internal class TagFlagGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_flag_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_tag_flag_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TagForeachFunc.cs b/sources/generated/Gst_TagForeachFunc.cs
new file mode 100644 (file)
index 0000000..914192f
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void TagForeachFunc(Gst.TagList list, string tag);
+
+}
diff --git a/sources/generated/Gst_TagList.cs b/sources/generated/Gst_TagList.cs
new file mode 100644 (file)
index 0000000..035eebc
--- /dev/null
@@ -0,0 +1,503 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TagList : Gst.MiniObject {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_tag_list_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_list_add_value(IntPtr raw, int mode, IntPtr tag, IntPtr value);
+
+               public void AddValue(Gst.TagMergeMode mode, string tag, GLib.Value value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_tag_list_add_value(Handle, (int) mode, native_tag, native_value);
+                       GLib.Marshaller.Free (native_tag);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_list_foreach(IntPtr raw, GstSharp.TagForeachFuncNative func, IntPtr user_data);
+
+               public void Foreach(Gst.TagForeachFunc func) {
+                       GstSharp.TagForeachFuncWrapper func_wrapper = new GstSharp.TagForeachFuncWrapper (func);
+                       gst_tag_list_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_boolean(IntPtr raw, IntPtr tag, out bool value);
+
+               public bool GetBoolean(string tag, out bool value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_boolean(Handle, native_tag, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_boolean_index(IntPtr raw, IntPtr tag, uint index, out bool value);
+
+               public bool GetBooleanIndex(string tag, uint index, out bool value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_boolean_index(Handle, native_tag, index, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_date(IntPtr raw, IntPtr tag, out IntPtr value);
+
+               public bool GetDate(string tag, out GLib.Date value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_tag_list_get_date(Handle, native_tag, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       value = new GLib.Date(native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_date_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
+
+               public bool GetDateIndex(string tag, uint index, out GLib.Date value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_tag_list_get_date_index(Handle, native_tag, index, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       value = new GLib.Date(native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_date_time(IntPtr raw, IntPtr tag, out IntPtr value);
+
+               public bool GetDateTime(string tag, out Gst.DateTime value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_tag_list_get_date_time(Handle, native_tag, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       value = native_value == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_value, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_date_time_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
+
+               public bool GetDateTimeIndex(string tag, uint index, out Gst.DateTime value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_tag_list_get_date_time_index(Handle, native_tag, index, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       value = native_value == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_value, typeof (Gst.DateTime), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_double(IntPtr raw, IntPtr tag, out double value);
+
+               public bool GetDouble(string tag, out double value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_double(Handle, native_tag, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_double_index(IntPtr raw, IntPtr tag, uint index, out double value);
+
+               public bool GetDoubleIndex(string tag, uint index, out double value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_double_index(Handle, native_tag, index, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_float(IntPtr raw, IntPtr tag, out float value);
+
+               public bool GetFloat(string tag, out float value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_float(Handle, native_tag, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_float_index(IntPtr raw, IntPtr tag, uint index, out float value);
+
+               public bool GetFloatIndex(string tag, uint index, out float value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_float_index(Handle, native_tag, index, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_int(IntPtr raw, IntPtr tag, out int value);
+
+               public bool GetInt(string tag, out int value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_int(Handle, native_tag, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_int64(IntPtr raw, IntPtr tag, long value);
+
+               public bool GetInt64(string tag, long value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_int64(Handle, native_tag, value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_int64_index(IntPtr raw, IntPtr tag, uint index, out long value);
+
+               public bool GetInt64Index(string tag, uint index, out long value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_int64_index(Handle, native_tag, index, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_int_index(IntPtr raw, IntPtr tag, uint index, out int value);
+
+               public bool GetIntIndex(string tag, uint index, out int value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_int_index(Handle, native_tag, index, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_pointer(IntPtr raw, IntPtr tag, out IntPtr value);
+
+               public bool GetPointer(string tag, out IntPtr value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_pointer(Handle, native_tag, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_pointer_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
+
+               public bool GetPointerIndex(string tag, uint index, out IntPtr value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_pointer_index(Handle, native_tag, index, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_sample(IntPtr raw, IntPtr tag, out IntPtr sample);
+
+               public bool GetSample(string tag, out Gst.Sample sample) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_sample;
+                       bool raw_ret = gst_tag_list_get_sample(Handle, native_tag, out native_sample);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       sample = native_sample == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (native_sample, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_sample_index(IntPtr raw, IntPtr tag, uint index, out IntPtr sample);
+
+               public bool GetSampleIndex(string tag, uint index, out Gst.Sample sample) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_sample;
+                       bool raw_ret = gst_tag_list_get_sample_index(Handle, native_tag, index, out native_sample);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       sample = native_sample == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (native_sample, typeof (Gst.Sample), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_tag_list_get_scope(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_list_set_scope(IntPtr raw, int scope);
+
+               public Gst.TagScope Scope { 
+                       get {
+                               int raw_ret = gst_tag_list_get_scope(Handle);
+                               Gst.TagScope ret = (Gst.TagScope) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_tag_list_set_scope(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_string(IntPtr raw, IntPtr tag, out IntPtr value);
+
+               public bool GetString(string tag, out string value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_tag_list_get_string(Handle, native_tag, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       value = GLib.Marshaller.PtrToStringGFree(native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_string_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
+
+               public bool GetStringIndex(string tag, uint index, out string value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_tag_list_get_string_index(Handle, native_tag, index, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       value = GLib.Marshaller.PtrToStringGFree(native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_tag_list_get_tag_size(IntPtr raw, IntPtr tag);
+
+               public uint GetTagSize(string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       uint raw_ret = gst_tag_list_get_tag_size(Handle, native_tag);
+                       uint ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_uint(IntPtr raw, IntPtr tag, out uint value);
+
+               public bool GetUint(string tag, out uint value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_uint(Handle, native_tag, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_uint64(IntPtr raw, IntPtr tag, out ulong value);
+
+               public bool GetUint64(string tag, out ulong value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_uint64(Handle, native_tag, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_uint64_index(IntPtr raw, IntPtr tag, uint index, out ulong value);
+
+               public bool GetUint64Index(string tag, uint index, out ulong value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_uint64_index(Handle, native_tag, index, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_get_uint_index(IntPtr raw, IntPtr tag, uint index, out uint value);
+
+               public bool GetUintIndex(string tag, uint index, out uint value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_get_uint_index(Handle, native_tag, index, out value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_get_value_index(IntPtr raw, IntPtr tag, uint index);
+
+               public GLib.Value GetValueIndex(string tag, uint index) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr raw_ret = gst_tag_list_get_value_index(Handle, native_tag, index);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_list_insert(IntPtr raw, IntPtr from, int mode);
+
+               public void Insert(Gst.TagList from, Gst.TagMergeMode mode) {
+                       gst_tag_list_insert(Handle, from == null ? IntPtr.Zero : from.Handle, (int) mode);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_is_empty(IntPtr raw);
+
+               public bool IsEmpty { 
+                       get {
+                               bool raw_ret = gst_tag_list_is_empty(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_is_equal(IntPtr raw, IntPtr list2);
+
+               public bool IsEqual(Gst.TagList list2) {
+                       bool raw_ret = gst_tag_list_is_equal(Handle, list2 == null ? IntPtr.Zero : list2.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_merge(IntPtr raw, IntPtr list2, int mode);
+
+               public Gst.TagList Merge(Gst.TagList list2, Gst.TagMergeMode mode) {
+                       IntPtr raw_ret = gst_tag_list_merge(Handle, list2 == null ? IntPtr.Zero : list2.Handle, (int) mode);
+                       Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+                       return ret;
+               }
+
+               public Gst.TagList Merge(Gst.TagMergeMode mode) {
+                       return Merge (null, mode);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_tag_list_n_tags(IntPtr raw);
+
+               public int NTags() {
+                       int raw_ret = gst_tag_list_n_tags(Handle);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_nth_tag_name(IntPtr raw, uint index);
+
+               public string NthTagName(uint index) {
+                       IntPtr raw_ret = gst_tag_list_nth_tag_name(Handle, index);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_peek_string_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
+
+               public bool PeekStringIndex(string tag, uint index, out string value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value;
+                       bool raw_ret = gst_tag_list_peek_string_index(Handle, native_tag, index, out native_value);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_tag);
+                       value = GLib.Marshaller.Utf8PtrToString (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_list_remove_tag(IntPtr raw, IntPtr tag);
+
+               public void RemoveTag(string tag) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       gst_tag_list_remove_tag(Handle, native_tag);
+                       GLib.Marshaller.Free (native_tag);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_to_string(IntPtr raw);
+
+               public override string ToString() {
+                       IntPtr raw_ret = gst_tag_list_to_string(Handle);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_tag_list_copy_value(IntPtr dest, IntPtr list, IntPtr tag);
+
+               public static bool CopyValue(ref GLib.Value dest, Gst.TagList list, string tag) {
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       bool raw_ret = gst_tag_list_copy_value(native_dest, list == null ? IntPtr.Zero : list.Handle, native_tag);
+                       bool ret = raw_ret;
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       GLib.Marshaller.Free (native_tag);
+                       return ret;
+               }
+
+               public TagList(IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_new_empty();
+
+               public TagList () 
+               {
+                       Raw = gst_tag_list_new_empty();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_list_new_from_string(IntPtr str);
+
+               public TagList (string str) 
+               {
+                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+                       Raw = gst_tag_list_new_from_string(native_str);
+                       GLib.Marshaller.Free (native_str);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.MiniObject.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TagMergeFunc.cs b/sources/generated/Gst_TagMergeFunc.cs
new file mode 100644 (file)
index 0000000..7d76c5a
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void TagMergeFunc(GLib.Value dest, GLib.Value src);
+
+}
diff --git a/sources/generated/Gst_TagMergeMode.cs b/sources/generated/Gst_TagMergeMode.cs
new file mode 100644 (file)
index 0000000..088991e
--- /dev/null
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TagMergeModeGType))]
+       public enum TagMergeMode {
+
+               Undefined = 0,
+               ReplaceAll = 1,
+               Replace = 2,
+               Append = 3,
+               Prepend = 4,
+               Keep = 5,
+               KeepAll = 6,
+               Count = 7,
+       }
+
+       internal class TagMergeModeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_merge_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_tag_merge_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TagScope.cs b/sources/generated/Gst_TagScope.cs
new file mode 100644 (file)
index 0000000..3d4c579
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TagScopeGType))]
+       public enum TagScope {
+
+               Stream = 0,
+               Global = 1,
+       }
+
+       internal class TagScopeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_scope_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_tag_scope_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TagSetterAdapter.cs b/sources/generated/Gst_TagSetterAdapter.cs
new file mode 100644 (file)
index 0000000..9cdcd3b
--- /dev/null
@@ -0,0 +1,158 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TagSetterAdapter : GLib.GInterfaceAdapter, Gst.ITagSetter {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstTagSetterInterface {
+               }
+
+               static GstTagSetterInterface iface;
+
+               static TagSetterAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (TagSetterAdapter));
+               }
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+               }
+
+               GLib.Object implementor;
+
+               public TagSetterAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public TagSetterAdapter (ITagSetterImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public TagSetterAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_setter_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_tag_setter_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static ITagSetter GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static ITagSetter GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is ITagSetterImplementor)
+                               return new TagSetterAdapter (obj as ITagSetterImplementor);
+                       else if (obj as ITagSetter == null)
+                               return new TagSetterAdapter (obj.Handle);
+                       else
+                               return obj as ITagSetter;
+               }
+
+               public ITagSetterImplementor Implementor {
+                       get {
+                               return implementor as ITagSetterImplementor;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_setter_add_tag_value(IntPtr raw, int mode, IntPtr tag, IntPtr value);
+
+               public void AddTagValue(Gst.TagMergeMode mode, string tag, GLib.Value value) {
+                       IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_tag_setter_add_tag_value(Handle, (int) mode, native_tag, native_value);
+                       GLib.Marshaller.Free (native_tag);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tag_setter_get_tag_list(IntPtr raw);
+
+               public Gst.TagList TagList { 
+                       get {
+                               IntPtr raw_ret = gst_tag_setter_get_tag_list(Handle);
+                               Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_tag_setter_get_tag_merge_mode(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_setter_set_tag_merge_mode(IntPtr raw, int mode);
+
+               public Gst.TagMergeMode TagMergeMode { 
+                       get {
+                               int raw_ret = gst_tag_setter_get_tag_merge_mode(Handle);
+                               Gst.TagMergeMode ret = (Gst.TagMergeMode) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_tag_setter_set_tag_merge_mode(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_setter_merge_tags(IntPtr raw, IntPtr list, int mode);
+
+               public void MergeTags(Gst.TagList list, Gst.TagMergeMode mode) {
+                       gst_tag_setter_merge_tags(Handle, list == null ? IntPtr.Zero : list.Handle, (int) mode);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_tag_setter_reset_tags(IntPtr raw);
+
+               public void ResetTags() {
+                       gst_tag_setter_reset_tags(Handle);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Task.cs b/sources/generated/Gst_Task.cs
new file mode 100644 (file)
index 0000000..6363b3f
--- /dev/null
@@ -0,0 +1,370 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Task : Gst.Object {
+
+               public Task (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_task_new(GstSharp.TaskFunctionNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Task (Gst.TaskFunction func, IntPtr user_data, GLib.DestroyNotify notify) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (Task)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       GstSharp.TaskFunctionWrapper func_wrapper = new GstSharp.TaskFunctionWrapper (func);
+                       Raw = gst_task_new(func_wrapper.NativeDelegate, user_data, notify);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_task_get_state(IntPtr raw);
+
+               public Gst.TaskState State {
+                       get  {
+                               int raw_ret = gst_task_get_state(Handle);
+                               Gst.TaskState ret = (Gst.TaskState) raw_ret;
+                               return ret;
+                       }
+               }
+
+               public GLib.Cond Cond {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("cond"));
+                                       return new GLib.Cond((*raw_ptr));
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_task_set_lock(IntPtr raw, IntPtr mutex);
+
+               public GLib.RecMutex Lock {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("lock"));
+                                       return new GLib.RecMutex((*raw_ptr));
+                               }
+                       }
+                       set  {
+                               gst_task_set_lock(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               public Gst.TaskFunction Func {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("func"));
+                                        GstSharp.TaskFunctionNative del = (GstSharp.TaskFunctionNative)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GstSharp.TaskFunctionNative));
+                                       return GstSharp.TaskFunctionWrapper.GetManagedDelegate ((del));
+                               }
+                       }
+               }
+
+               public IntPtr UserData {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("user_data"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+               public bool Running {
+                       get {
+                               unsafe {
+                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("running"));
+                                       return (*raw_ptr);
+                               }
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("pool"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pool
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "pool"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_task_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_task_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_task_cleanup_all();
+
+               public static void CleanupAll() {
+                       gst_task_cleanup_all();
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_task_get_pool(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_task_set_pool(IntPtr raw, IntPtr pool);
+
+               public Gst.TaskPool Pool { 
+                       get {
+                               IntPtr raw_ret = gst_task_get_pool(Handle);
+                               Gst.TaskPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.TaskPool;
+                               return ret;
+                       }
+                       set {
+                               gst_task_set_pool(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_task_join(IntPtr raw);
+
+               public bool Join() {
+                       bool raw_ret = gst_task_join(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_task_pause(IntPtr raw);
+
+               public bool Pause() {
+                       bool raw_ret = gst_task_pause(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_task_set_enter_callback(IntPtr raw, GstSharp.TaskThreadFuncNative enter_func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.TaskThreadFunc EnterCallback { 
+                       set {
+                               GstSharp.TaskThreadFuncWrapper value_wrapper = new GstSharp.TaskThreadFuncWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_task_set_enter_callback(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_task_set_leave_callback(IntPtr raw, GstSharp.TaskThreadFuncNative leave_func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.TaskThreadFunc LeaveCallback { 
+                       set {
+                               GstSharp.TaskThreadFuncWrapper value_wrapper = new GstSharp.TaskThreadFuncWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_task_set_leave_callback(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_task_set_state(IntPtr raw, int state);
+
+               public bool SetState(Gst.TaskState state) {
+                       bool raw_ret = gst_task_set_state(Handle, (int) state);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_task_start(IntPtr raw);
+
+               public bool Start() {
+                       bool raw_ret = gst_task_start(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_task_stop(IntPtr raw);
+
+               public bool Stop() {
+                       bool raw_ret = gst_task_stop(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("state"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.TaskState))) // state
+                                                       , null
+                                                       , "cond"
+                                                       , (long) Marshal.OffsetOf(typeof(GstTask_stateAlign), "state")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cond"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(GLib.Cond.ABI)) // cond
+                                                       , "state"
+                                                       , "lock"
+                                                       , (long) Marshal.OffsetOf(typeof(GstTask_condAlign), "cond")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("lock"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lock
+                                                       , "cond"
+                                                       , "func"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("func"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // func
+                                                       , "lock"
+                                                       , "user_data"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("user_data"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // user_data
+                                                       , "func"
+                                                       , "notify"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("notify"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // notify
+                                                       , "user_data"
+                                                       , "running"
+                                                       , (long) Marshal.OffsetOf(typeof(GstTask_notifyAlign), "notify")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("running"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(bool)) // running
+                                                       , "notify"
+                                                       , "thread"
+                                                       , (long) Marshal.OffsetOf(typeof(GstTask_runningAlign), "running")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("thread"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // thread
+                                                       , "running"
+                                                       , "priv"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("priv"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , "thread"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstTask_stateAlign
+               {
+                       sbyte f1;
+                       private Gst.TaskState state;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstTask_condAlign
+               {
+                       sbyte f1;
+                       private GLib.Cond.ABI cond;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstTask_notifyAlign
+               {
+                       sbyte f1;
+                       private GLib.DestroyNotify notify;
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstTask_runningAlign
+               {
+                       sbyte f1;
+                       private bool running;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TaskFunction.cs b/sources/generated/Gst_TaskFunction.cs
new file mode 100644 (file)
index 0000000..25ead87
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void TaskFunction();
+
+}
diff --git a/sources/generated/Gst_TaskPool.cs b/sources/generated/Gst_TaskPool.cs
new file mode 100644 (file)
index 0000000..eab2288
--- /dev/null
@@ -0,0 +1,397 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TaskPool : Gst.Object {
+
+               public TaskPool (IntPtr raw) : base(raw) {}
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_task_pool_new();
+
+               public TaskPool () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (TaskPool)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_task_pool_new();
+               }
+
+               static PrepareNativeDelegate Prepare_cb_delegate;
+               static PrepareNativeDelegate PrepareVMCallback {
+                       get {
+                               if (Prepare_cb_delegate == null)
+                                       Prepare_cb_delegate = new PrepareNativeDelegate (Prepare_cb);
+                               return Prepare_cb_delegate;
+                       }
+               }
+
+               static void OverridePrepare (GLib.GType gtype)
+               {
+                       OverridePrepare (gtype, PrepareVMCallback);
+               }
+
+               static void OverridePrepare (GLib.GType gtype, PrepareNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void PrepareNativeDelegate (IntPtr inst, out IntPtr error);
+
+               static void Prepare_cb (IntPtr inst, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               TaskPool __obj = GLib.Object.GetObject (inst, false) as TaskPool;
+                               __obj.OnPrepare ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.TaskPool), ConnectionMethod="OverridePrepare")]
+               protected virtual void OnPrepare ()
+               {
+                       InternalPrepare ();
+               }
+
+               private void InternalPrepare ()
+               {
+                       PrepareNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
+                               unmanaged = (PrepareNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       IntPtr error = IntPtr.Zero;
+                       unmanaged (this.Handle, out error);
+               }
+
+               static CleanupNativeDelegate Cleanup_cb_delegate;
+               static CleanupNativeDelegate CleanupVMCallback {
+                       get {
+                               if (Cleanup_cb_delegate == null)
+                                       Cleanup_cb_delegate = new CleanupNativeDelegate (Cleanup_cb);
+                               return Cleanup_cb_delegate;
+                       }
+               }
+
+               static void OverrideCleanup (GLib.GType gtype)
+               {
+                       OverrideCleanup (gtype, CleanupVMCallback);
+               }
+
+               static void OverrideCleanup (GLib.GType gtype, CleanupNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("cleanup"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void CleanupNativeDelegate (IntPtr inst);
+
+               static void Cleanup_cb (IntPtr inst)
+               {
+                       try {
+                               TaskPool __obj = GLib.Object.GetObject (inst, false) as TaskPool;
+                               __obj.OnCleanup ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.TaskPool), ConnectionMethod="OverrideCleanup")]
+               protected virtual void OnCleanup ()
+               {
+                       InternalCleanup ();
+               }
+
+               private void InternalCleanup ()
+               {
+                       CleanupNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("cleanup"));
+                               unmanaged = (CleanupNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CleanupNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static PushNativeDelegate Push_cb_delegate;
+               static PushNativeDelegate PushVMCallback {
+                       get {
+                               if (Push_cb_delegate == null)
+                                       Push_cb_delegate = new PushNativeDelegate (Push_cb);
+                               return Push_cb_delegate;
+                       }
+               }
+
+               static void OverridePush (GLib.GType gtype)
+               {
+                       OverridePush (gtype, PushVMCallback);
+               }
+
+               static void OverridePush (GLib.GType gtype, PushNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("push"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr PushNativeDelegate (IntPtr inst, GstSharp.TaskPoolFunctionNative func, IntPtr user_data, out IntPtr error);
+
+               static IntPtr Push_cb (IntPtr inst, GstSharp.TaskPoolFunctionNative func, IntPtr user_data, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               TaskPool __obj = GLib.Object.GetObject (inst, false) as TaskPool;
+                               IntPtr __result;
+                               GstSharp.TaskPoolFunctionInvoker func_invoker = new GstSharp.TaskPoolFunctionInvoker (func, user_data);
+                               __result = __obj.OnPush (func_invoker.Handler);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.TaskPool), ConnectionMethod="OverridePush")]
+               protected virtual IntPtr OnPush (Gst.TaskPoolFunction func)
+               {
+                       return InternalPush (func);
+               }
+
+               private IntPtr InternalPush (Gst.TaskPoolFunction func)
+               {
+                       PushNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("push"));
+                               unmanaged = (PushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PushNativeDelegate));
+                       }
+                       if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+                       GstSharp.TaskPoolFunctionWrapper func_wrapper = new GstSharp.TaskPoolFunctionWrapper (func);
+                       func_wrapper.PersistUntilCalled ();
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr __result = unmanaged (this.Handle, func_wrapper.NativeDelegate, IntPtr.Zero, out error);
+                       return __result;
+               }
+
+               static JoinNativeDelegate Join_cb_delegate;
+               static JoinNativeDelegate JoinVMCallback {
+                       get {
+                               if (Join_cb_delegate == null)
+                                       Join_cb_delegate = new JoinNativeDelegate (Join_cb);
+                               return Join_cb_delegate;
+                       }
+               }
+
+               static void OverrideJoin (GLib.GType gtype)
+               {
+                       OverrideJoin (gtype, JoinVMCallback);
+               }
+
+               static void OverrideJoin (GLib.GType gtype, JoinNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("join"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void JoinNativeDelegate (IntPtr inst, IntPtr id);
+
+               static void Join_cb (IntPtr inst, IntPtr id)
+               {
+                       try {
+                               TaskPool __obj = GLib.Object.GetObject (inst, false) as TaskPool;
+                               __obj.OnJoin (id);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.TaskPool), ConnectionMethod="OverrideJoin")]
+               protected virtual void OnJoin (IntPtr id)
+               {
+                       InternalJoin (id);
+               }
+
+               private void InternalJoin (IntPtr id)
+               {
+                       JoinNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("join"));
+                               unmanaged = (JoinNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(JoinNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, id);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("prepare"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare
+                                                       , null
+                                                       , "cleanup"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("cleanup"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // cleanup
+                                                       , "prepare"
+                                                       , "push"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("push"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // push
+                                                       , "cleanup"
+                                                       , "join"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("join"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // join
+                                                       , "push"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "join"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_task_pool_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_task_pool_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_task_pool_cleanup(IntPtr raw);
+
+               public void Cleanup() {
+                       gst_task_pool_cleanup(Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_task_pool_join(IntPtr raw, IntPtr id);
+
+               public void Join(IntPtr id) {
+                       gst_task_pool_join(Handle, id);
+               }
+
+               public void Join() {
+                       Join (IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe void gst_task_pool_prepare(IntPtr raw, out IntPtr error);
+
+               public unsafe void Prepare() {
+                       IntPtr error = IntPtr.Zero;
+                       gst_task_pool_prepare(Handle, out error);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_task_pool_push(IntPtr raw, GstSharp.TaskPoolFunctionNative func, IntPtr user_data, out IntPtr error);
+
+               public unsafe IntPtr Push(Gst.TaskPoolFunction func) {
+                       GstSharp.TaskPoolFunctionWrapper func_wrapper = new GstSharp.TaskPoolFunctionWrapper (func);
+                       func_wrapper.PersistUntilCalled ();
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_task_pool_push(Handle, func_wrapper.NativeDelegate, IntPtr.Zero, out error);
+                       IntPtr ret = raw_ret;
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("pool"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pool
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "pool"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TaskPoolFunction.cs b/sources/generated/Gst_TaskPoolFunction.cs
new file mode 100644 (file)
index 0000000..6e497d5
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void TaskPoolFunction();
+
+}
diff --git a/sources/generated/Gst_TaskState.cs b/sources/generated/Gst_TaskState.cs
new file mode 100644 (file)
index 0000000..59ba09e
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TaskStateGType))]
+       public enum TaskState {
+
+               Started = 0,
+               Stopped = 1,
+               Paused = 2,
+       }
+
+       internal class TaskStateGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_task_state_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_task_state_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TaskThreadFunc.cs b/sources/generated/Gst_TaskThreadFunc.cs
new file mode 100644 (file)
index 0000000..658fda9
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void TaskThreadFunc(Gst.Task task, out GLib.Thread thread);
+
+}
diff --git a/sources/generated/Gst_TimedValue.cs b/sources/generated/Gst_TimedValue.cs
new file mode 100644 (file)
index 0000000..2eae575
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct TimedValue : IEquatable<TimedValue> {
+
+               public ulong Timestamp;
+               public double Value;
+
+               public static Gst.TimedValue Zero = new Gst.TimedValue ();
+
+               public static Gst.TimedValue New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.TimedValue.Zero;
+                       return (Gst.TimedValue) Marshal.PtrToStructure (raw, typeof (Gst.TimedValue));
+               }
+
+               public bool Equals (TimedValue other)
+               {
+                       return true && Timestamp.Equals (other.Timestamp) && Value.Equals (other.Value);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is TimedValue && Equals ((TimedValue) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Timestamp.GetHashCode () ^ Value.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Toc.cs b/sources/generated/Gst_Toc.cs
new file mode 100644 (file)
index 0000000..f0ff0f0
--- /dev/null
@@ -0,0 +1,188 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct Toc : IEquatable<Toc> {
+
+
+               public static Gst.Toc Zero = new Gst.Toc ();
+
+               public static Gst.Toc New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Toc.Zero;
+                       return (Gst.Toc) Marshal.PtrToStructure (raw, typeof (Gst.Toc));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_new(int scope);
+
+               public static Toc New(Gst.TocScope scope)
+               {
+                       Toc result = Toc.New (gst_toc_new((int) scope));
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_toc_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_append_entry(IntPtr raw, IntPtr entry);
+
+               public void AppendEntry(Gst.TocEntry entry) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_entry = GLib.Marshaller.StructureToPtrAlloc (entry);
+                       gst_toc_append_entry(this_as_native, native_entry);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_entry);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_dump(IntPtr raw);
+
+               public void Dump() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_toc_dump(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_find_entry(IntPtr raw, IntPtr uid);
+
+               public Gst.TocEntry FindEntry(string uid) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_uid = GLib.Marshaller.StringToPtrGStrdup (uid);
+                       IntPtr raw_ret = gst_toc_find_entry(this_as_native, native_uid);
+                       Gst.TocEntry ret = Gst.TocEntry.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_uid);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_get_entries(IntPtr raw);
+
+               public GLib.List[] Entries { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_toc_get_entries(this_as_native);
+                               GLib.List[] ret = (GLib.List[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(GLib.List));
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_toc_get_scope(IntPtr raw);
+
+               public Gst.TocScope Scope { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               int raw_ret = gst_toc_get_scope(this_as_native);
+                               Gst.TocScope ret = (Gst.TocScope) raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_get_tags(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_set_tags(IntPtr raw, IntPtr tags);
+
+               public Gst.TagList Tags { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_toc_get_tags(this_as_native);
+                               Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), false);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               value.Owned = false;
+                               gst_toc_set_tags(this_as_native, value == null ? IntPtr.Zero : value.Handle);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_merge_tags(IntPtr raw, IntPtr tags, int mode);
+
+               public void MergeTags(Gst.TagList tags, Gst.TagMergeMode mode) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_toc_merge_tags(this_as_native, tags == null ? IntPtr.Zero : tags.Handle, (int) mode);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               public void MergeTags(Gst.TagMergeMode mode) {
+                       MergeTags (null, mode);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Toc target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (Toc other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is Toc && Equals ((Toc) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Toc boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Toc.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Toc (GLib.Value val)
+               {
+                       return (Gst.Toc) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TocEntry.cs b/sources/generated/Gst_TocEntry.cs
new file mode 100644 (file)
index 0000000..4a1093d
--- /dev/null
@@ -0,0 +1,289 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct TocEntry : IEquatable<TocEntry> {
+
+
+               public static Gst.TocEntry Zero = new Gst.TocEntry ();
+
+               public static Gst.TocEntry New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.TocEntry.Zero;
+                       return (Gst.TocEntry) Marshal.PtrToStructure (raw, typeof (Gst.TocEntry));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_new(int type, IntPtr uid);
+
+               public static TocEntry New(Gst.TocEntryType type, string uid)
+               {
+                       IntPtr native_uid = GLib.Marshaller.StringToPtrGStrdup (uid);
+                       TocEntry result = TocEntry.New (gst_toc_entry_new((int) type, native_uid));
+                       GLib.Marshaller.Free (native_uid);
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_toc_entry_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_entry_append_sub_entry(IntPtr raw, IntPtr subentry);
+
+               public void AppendSubEntry(Gst.TocEntry subentry) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_subentry = GLib.Marshaller.StructureToPtrAlloc (subentry);
+                       gst_toc_entry_append_sub_entry(this_as_native, native_subentry);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_subentry);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_toc_entry_get_entry_type(IntPtr raw);
+
+               public Gst.TocEntryType EntryType { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               int raw_ret = gst_toc_entry_get_entry_type(this_as_native);
+                               Gst.TocEntryType ret = (Gst.TocEntryType) raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_toc_entry_get_loop(IntPtr raw, out int loop_type, out int repeat_count);
+
+               public bool GetLoop(out Gst.TocLoopType loop_type, out int repeat_count) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       int native_loop_type;
+                       bool raw_ret = gst_toc_entry_get_loop(this_as_native, out native_loop_type, out repeat_count);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       loop_type = (Gst.TocLoopType) native_loop_type;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_get_parent(IntPtr raw);
+
+               public Gst.TocEntry Parent { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_toc_entry_get_parent(this_as_native);
+                               Gst.TocEntry ret = Gst.TocEntry.New (raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_toc_entry_get_start_stop_times(IntPtr raw, out long start, out long stop);
+
+               public bool GetStartStopTimes(out long start, out long stop) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_toc_entry_get_start_stop_times(this_as_native, out start, out stop);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_get_sub_entries(IntPtr raw);
+
+               public GLib.List[] SubEntries { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_toc_entry_get_sub_entries(this_as_native);
+                               GLib.List[] ret = (GLib.List[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(GLib.List));
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_get_tags(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_entry_set_tags(IntPtr raw, IntPtr tags);
+
+               public Gst.TagList Tags { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_toc_entry_get_tags(this_as_native);
+                               Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), false);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+                       set {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               value.Owned = false;
+                               gst_toc_entry_set_tags(this_as_native, value == null ? IntPtr.Zero : value.Handle);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_get_toc(IntPtr raw);
+
+               public Gst.Toc Toc { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_toc_entry_get_toc(this_as_native);
+                               Gst.Toc ret = Gst.Toc.New (raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_get_uid(IntPtr raw);
+
+               public string Uid { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_toc_entry_get_uid(this_as_native);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_toc_entry_is_alternative(IntPtr raw);
+
+               public bool IsAlternative { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_toc_entry_is_alternative(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_toc_entry_is_sequence(IntPtr raw);
+
+               public bool IsSequence { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_toc_entry_is_sequence(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_entry_merge_tags(IntPtr raw, IntPtr tags, int mode);
+
+               public void MergeTags(Gst.TagList tags, Gst.TagMergeMode mode) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_toc_entry_merge_tags(this_as_native, tags == null ? IntPtr.Zero : tags.Handle, (int) mode);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               public void MergeTags(Gst.TagMergeMode mode) {
+                       MergeTags (null, mode);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_entry_set_loop(IntPtr raw, int loop_type, int repeat_count);
+
+               public void SetLoop(Gst.TocLoopType loop_type, int repeat_count) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_toc_entry_set_loop(this_as_native, (int) loop_type, repeat_count);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_entry_set_start_stop_times(IntPtr raw, long start, long stop);
+
+               public void SetStartStopTimes(long start, long stop) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_toc_entry_set_start_stop_times(this_as_native, start, stop);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.TocEntry target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (TocEntry other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is TocEntry && Equals ((TocEntry) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.TocEntry boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.TocEntry.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.TocEntry (GLib.Value val)
+               {
+                       return (Gst.TocEntry) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TocEntryType.cs b/sources/generated/Gst_TocEntryType.cs
new file mode 100644 (file)
index 0000000..38b5a9c
--- /dev/null
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TocEntryTypeGType))]
+       public enum TocEntryType {
+
+               Angle = -3,
+               Version = -2,
+               Edition = -1,
+               Invalid = 0,
+               Title = 1,
+               Track = 2,
+               Chapter = 3,
+       }
+
+       internal class TocEntryTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_entry_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_toc_entry_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TocLoopType.cs b/sources/generated/Gst_TocLoopType.cs
new file mode 100644 (file)
index 0000000..1081de6
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TocLoopTypeGType))]
+       public enum TocLoopType {
+
+               None = 0,
+               Forward = 1,
+               Reverse = 2,
+               PingPong = 3,
+       }
+
+       internal class TocLoopTypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_loop_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_toc_loop_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TocScope.cs b/sources/generated/Gst_TocScope.cs
new file mode 100644 (file)
index 0000000..10802f2
--- /dev/null
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TocScopeGType))]
+       public enum TocScope {
+
+               Global = 1,
+               Current = 2,
+       }
+
+       internal class TocScopeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_scope_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_toc_scope_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TocSetterAdapter.cs b/sources/generated/Gst_TocSetterAdapter.cs
new file mode 100644 (file)
index 0000000..5735e61
--- /dev/null
@@ -0,0 +1,131 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TocSetterAdapter : GLib.GInterfaceAdapter, Gst.ITocSetter {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstTocSetterInterface {
+               }
+
+               static GstTocSetterInterface iface;
+
+               static TocSetterAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (TocSetterAdapter));
+               }
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+               }
+
+               GLib.Object implementor;
+
+               public TocSetterAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public TocSetterAdapter (ITocSetterImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public TocSetterAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_setter_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_toc_setter_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static ITocSetter GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static ITocSetter GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is ITocSetterImplementor)
+                               return new TocSetterAdapter (obj as ITocSetterImplementor);
+                       else if (obj as ITocSetter == null)
+                               return new TocSetterAdapter (obj.Handle);
+                       else
+                               return obj as ITocSetter;
+               }
+
+               public ITocSetterImplementor Implementor {
+                       get {
+                               return implementor as ITocSetterImplementor;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_toc_setter_get_toc(IntPtr raw);
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_setter_set_toc(IntPtr raw, IntPtr value);
+
+               public Gst.Toc Toc { 
+                       get {
+                               IntPtr raw_ret = gst_toc_setter_get_toc(Handle);
+                               Gst.Toc ret = Gst.Toc.New (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                               gst_toc_setter_set_toc(Handle, native_value);
+                               Marshal.FreeHGlobal (native_value);
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_toc_setter_reset(IntPtr raw);
+
+               public void Reset() {
+                       gst_toc_setter_reset(Handle);
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Tracer.cs b/sources/generated/Gst_Tracer.cs
new file mode 100644 (file)
index 0000000..9b1e3ff
--- /dev/null
@@ -0,0 +1,105 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Tracer : Gst.Object {
+
+               protected Tracer (IntPtr raw) : base(raw) {}
+
+               protected Tracer() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+               [GLib.Property ("params")]
+               public string Params {
+                       get {
+                               GLib.Value val = GetProperty ("params");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("params", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , Gst.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tracer_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_tracer_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("priv"
+                                                       , Gst.Object.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "priv"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TracerFactory.cs b/sources/generated/Gst_TracerFactory.cs
new file mode 100644 (file)
index 0000000..54d95e6
--- /dev/null
@@ -0,0 +1,86 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TracerFactory : Gst.PluginFeature {
+
+               public TracerFactory (IntPtr raw) : base(raw) {}
+
+               protected TracerFactory() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.PluginFeature.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tracer_factory_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_tracer_factory_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tracer_factory_get_list();
+
+               public static Gst.TracerFactory[] List { 
+                       get {
+                               IntPtr raw_ret = gst_tracer_factory_get_list();
+                               Gst.TracerFactory[] ret = (Gst.TracerFactory[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.TracerFactory));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tracer_factory_get_tracer_type(IntPtr raw);
+
+               public GLib.GType TracerType { 
+                       get {
+                               IntPtr raw_ret = gst_tracer_factory_get_tracer_type(Handle);
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.PluginFeature.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TracerRecord.cs b/sources/generated/Gst_TracerRecord.cs
new file mode 100644 (file)
index 0000000..bce83a6
--- /dev/null
@@ -0,0 +1,64 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TracerRecord : Gst.Object {
+
+               public TracerRecord (IntPtr raw) : base(raw) {}
+
+               protected TracerRecord() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tracer_record_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_tracer_record_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.Object.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TracerValueFlags.cs b/sources/generated/Gst_TracerValueFlags.cs
new file mode 100644 (file)
index 0000000..9daa5b0
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.TracerValueFlagsGType))]
+       public enum TracerValueFlags {
+
+               None = 0,
+               Optional = 1,
+               Aggregated = 2,
+       }
+
+       internal class TracerValueFlagsGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tracer_value_flags_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_tracer_value_flags_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TracerValueScope.cs b/sources/generated/Gst_TracerValueScope.cs
new file mode 100644 (file)
index 0000000..bc919fa
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TracerValueScopeGType))]
+       public enum TracerValueScope {
+
+               Process = 0,
+               Thread = 1,
+               Element = 2,
+               Pad = 3,
+       }
+
+       internal class TracerValueScopeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_tracer_value_scope_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_tracer_value_scope_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_TypeFind.cs b/sources/generated/Gst_TypeFind.cs
new file mode 100644 (file)
index 0000000..7d16953
--- /dev/null
@@ -0,0 +1,134 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TypeFind : GLib.Opaque {
+
+               public IntPtr Data {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("data"));
+                                       return (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("data"));
+                                       *raw_ptr = value;
+                               }
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_type_find_get_length(IntPtr raw);
+
+               public ulong Length { 
+                       get {
+                               ulong raw_ret = gst_type_find_get_length(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_type_find_suggest(IntPtr raw, uint probability, IntPtr caps);
+
+               public void Suggest(uint probability, Gst.Caps caps) {
+                       gst_type_find_suggest(Handle, probability, caps == null ? IntPtr.Zero : caps.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_type_find_register(IntPtr plugin, IntPtr name, uint rank, GstSharp.TypeFindFunctionNative func, IntPtr extensions, IntPtr possible_caps, IntPtr data, GLib.DestroyNotify data_notify);
+
+               public static bool Register(Gst.Plugin plugin, string name, uint rank, Gst.TypeFindFunction func, string extensions, Gst.Caps possible_caps) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       GstSharp.TypeFindFunctionWrapper func_wrapper = new GstSharp.TypeFindFunctionWrapper (func);
+                       IntPtr data;
+                       GLib.DestroyNotify data_notify;
+                       if (func == null) {
+                               data = IntPtr.Zero;
+                               data_notify = null;
+                       } else {
+                               data = (IntPtr) GCHandle.Alloc (func_wrapper);
+                               data_notify = GLib.DestroyHelper.NotifyHandler;
+                       }
+                       IntPtr native_extensions = GLib.Marshaller.StringToPtrGStrdup (extensions);
+                       bool raw_ret = gst_type_find_register(plugin == null ? IntPtr.Zero : plugin.Handle, native_name, rank, func_wrapper.NativeDelegate, native_extensions, possible_caps == null ? IntPtr.Zero : possible_caps.Handle, IntPtr.Zero, data_notify);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_extensions);
+                       return ret;
+               }
+
+               public static bool Register(string name, uint rank, Gst.TypeFindFunction func, Gst.Caps possible_caps) {
+                       return Register (null, name, rank, func, null, possible_caps);
+               }
+
+               public TypeFind(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                               new GLib.AbiField("peek"
+                                                       , 0
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // peek
+                                                       , null
+                                                       , "suggest"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("suggest"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // suggest
+                                                       , "peek"
+                                                       , "data"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("data"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // data
+                                                       , "suggest"
+                                                       , "get_length"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_length"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_length
+                                                       , "data"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "get_length"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TypeFindFactory.cs b/sources/generated/Gst_TypeFindFactory.cs
new file mode 100644 (file)
index 0000000..b39c38e
--- /dev/null
@@ -0,0 +1,115 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class TypeFindFactory : Gst.PluginFeature {
+
+               public TypeFindFactory (IntPtr raw) : base(raw) {}
+
+               protected TypeFindFactory() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _class_abi = null;
+               static public new GLib.AbiStruct class_abi {
+                       get {
+                               if (_class_abi == null)
+                                       _class_abi = new GLib.AbiStruct (Gst.PluginFeature.class_abi.Fields);
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_factory_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_type_find_factory_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_factory_get_list();
+
+               public static Gst.TypeFindFactory[] List { 
+                       get {
+                               IntPtr raw_ret = gst_type_find_factory_get_list();
+                               Gst.TypeFindFactory[] ret = (Gst.TypeFindFactory[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.TypeFindFactory));
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_type_find_factory_call_function(IntPtr raw, IntPtr find);
+
+               public void CallFunction(Gst.TypeFind find) {
+                       gst_type_find_factory_call_function(Handle, find == null ? IntPtr.Zero : find.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_factory_get_caps(IntPtr raw);
+
+               public Gst.Caps Caps { 
+                       get {
+                               IntPtr raw_ret = gst_type_find_factory_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_factory_get_extensions(IntPtr raw);
+
+               public string[] Extensions { 
+                       get {
+                               IntPtr raw_ret = gst_type_find_factory_get_extensions(Handle);
+                               string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_type_find_factory_has_function(IntPtr raw);
+
+               public bool HasFunction { 
+                       get {
+                               bool raw_ret = gst_type_find_factory_has_function(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public new GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (Gst.PluginFeature.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_TypeFindFunction.cs b/sources/generated/Gst_TypeFindFunction.cs
new file mode 100644 (file)
index 0000000..1d09c50
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void TypeFindFunction(Gst.TypeFind find);
+
+}
diff --git a/sources/generated/Gst_TypeFindProbability.cs b/sources/generated/Gst_TypeFindProbability.cs
new file mode 100644 (file)
index 0000000..3b093f5
--- /dev/null
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.TypeFindProbabilityGType))]
+       public enum TypeFindProbability {
+
+               None = 0,
+               Minimum = 1,
+               Possible = 50,
+               Likely = 80,
+               NearlyCertain = 99,
+               Maximum = 100,
+       }
+
+       internal class TypeFindProbabilityGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_type_find_probability_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_type_find_probability_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_URIError.cs b/sources/generated/Gst_URIError.cs
new file mode 100644 (file)
index 0000000..ecf3849
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.URIErrorGType))]
+       public enum URIError {
+
+               UnsupportedProtocol = 0,
+               BadUri = 1,
+               BadState = 2,
+               BadReference = 3,
+       }
+
+       internal class URIErrorGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_error_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_uri_error_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_URIHandlerAdapter.cs b/sources/generated/Gst_URIHandlerAdapter.cs
new file mode 100644 (file)
index 0000000..af2781f
--- /dev/null
@@ -0,0 +1,188 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class URIHandlerAdapter : GLib.GInterfaceAdapter, Gst.IURIHandler {
+
+               [StructLayout (LayoutKind.Sequential)]
+               struct GstURIHandlerInterface {
+                       IntPtr GetProtocols;
+                       public GetUriNativeDelegate GetUri;
+                       public SetUriNativeDelegate SetUri;
+               }
+
+               static GstURIHandlerInterface iface;
+
+               static URIHandlerAdapter ()
+               {
+                       GLib.GType.Register (_gtype, typeof (URIHandlerAdapter));
+                       iface.GetUri = new GetUriNativeDelegate (GetUri_cb);
+                       iface.SetUri = new SetUriNativeDelegate (SetUri_cb);
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetUriNativeDelegate (IntPtr inst);
+
+               static IntPtr GetUri_cb (IntPtr inst)
+               {
+                       try {
+                               IURIHandlerImplementor __obj = GLib.Object.GetObject (inst, false) as IURIHandlerImplementor;
+                               string __result;
+                               __result = __obj.Uri;
+                               return GLib.Marshaller.StringToPtrGStrdup(__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetUriNativeDelegate (IntPtr inst, IntPtr uri, out IntPtr error);
+
+               static bool SetUri_cb (IntPtr inst, IntPtr uri, out IntPtr error)
+               {
+                       error = IntPtr.Zero;
+
+                       try {
+                               IURIHandlerImplementor __obj = GLib.Object.GetObject (inst, false) as IURIHandlerImplementor;
+                               bool __result;
+                               __result = __obj.SetUri (GLib.Marshaller.Utf8PtrToString (uri));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               static int class_offset = 2 * IntPtr.Size;
+
+               static void Initialize (IntPtr ptr, IntPtr data)
+               {
+                       IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
+                       GstURIHandlerInterface native_iface = (GstURIHandlerInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstURIHandlerInterface));
+                       native_iface.GetUri = iface.GetUri;
+                       native_iface.SetUri = iface.SetUri;
+                       Marshal.StructureToPtr (native_iface, ifaceptr, false);
+               }
+
+               GLib.Object implementor;
+
+               public URIHandlerAdapter ()
+               {
+                       InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+               }
+
+               public URIHandlerAdapter (IURIHandlerImplementor implementor)
+               {
+                       if (implementor == null)
+                               throw new ArgumentNullException ("implementor");
+                       else if (!(implementor is GLib.Object))
+                               throw new ArgumentException ("implementor must be a subclass of GLib.Object");
+                       this.implementor = implementor as GLib.Object;
+               }
+
+               public URIHandlerAdapter (IntPtr handle)
+               {
+                       if (!_gtype.IsInstance (handle))
+                               throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
+                       implementor = GLib.Object.GetObject (handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_handler_get_type();
+
+               private static GLib.GType _gtype = new GLib.GType (gst_uri_handler_get_type ());
+
+               public static GLib.GType GType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override GLib.GType GInterfaceGType {
+                       get {
+                               return _gtype;
+                       }
+               }
+
+               public override IntPtr Handle {
+                       get {
+                               return implementor.Handle;
+                       }
+               }
+
+               public IntPtr OwnedHandle {
+                       get {
+                               return implementor.OwnedHandle;
+                       }
+               }
+
+               public static IURIHandler GetObject (IntPtr handle, bool owned)
+               {
+                       GLib.Object obj = GLib.Object.GetObject (handle, owned);
+                       return GetObject (obj);
+               }
+
+               public static IURIHandler GetObject (GLib.Object obj)
+               {
+                       if (obj == null)
+                               return null;
+                       else if (obj is IURIHandlerImplementor)
+                               return new URIHandlerAdapter (obj as IURIHandlerImplementor);
+                       else if (obj as IURIHandler == null)
+                               return new URIHandlerAdapter (obj.Handle);
+                       else
+                               return obj as IURIHandler;
+               }
+
+               public IURIHandlerImplementor Implementor {
+                       get {
+                               return implementor as IURIHandlerImplementor;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_handler_get_uri(IntPtr raw);
+
+               public string Uri { 
+                       get {
+                               IntPtr raw_ret = gst_uri_handler_get_uri(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_uri_handler_get_uri_type(IntPtr raw);
+
+               public Gst.URIType UriType { 
+                       get {
+                               int raw_ret = gst_uri_handler_get_uri_type(Handle);
+                               Gst.URIType ret = (Gst.URIType) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_handler_set_uri(IntPtr raw, IntPtr uri, out IntPtr error);
+
+               public bool SetUri(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr error = IntPtr.Zero;
+                       bool raw_ret = gst_uri_handler_set_uri(Handle, native_uri, out error);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_URIType.cs b/sources/generated/Gst_URIType.cs
new file mode 100644 (file)
index 0000000..29b8c27
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.URITypeGType))]
+       public enum URIType {
+
+               Unknown = 0,
+               Sink = 1,
+               Src = 2,
+       }
+
+       internal class URITypeGType {
+               [DllImport ("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_type_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_uri_type_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/sources/generated/Gst_UnlinkedHandler.cs b/sources/generated/Gst_UnlinkedHandler.cs
new file mode 100644 (file)
index 0000000..df6a2e1
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate void UnlinkedHandler(object o, UnlinkedArgs args);
+
+       public class UnlinkedArgs : GLib.SignalArgs {
+               public Gst.Pad Peer{
+                       get {
+                               return (Gst.Pad) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst_Uri.cs b/sources/generated/Gst_Uri.cs
new file mode 100644 (file)
index 0000000..f2000f1
--- /dev/null
@@ -0,0 +1,774 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct Uri : IEquatable<Uri> {
+
+
+               public static Gst.Uri Zero = new Gst.Uri ();
+
+               public static Gst.Uri New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.Uri.Zero;
+                       return (Gst.Uri) Marshal.PtrToStructure (raw, typeof (Gst.Uri));
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_new(IntPtr scheme, IntPtr userinfo, IntPtr host, uint port, IntPtr path, IntPtr query, IntPtr fragment);
+
+               public static Uri New(string scheme, string userinfo, string host, uint port, string path, string query, string fragment)
+               {
+                       IntPtr native_scheme = GLib.Marshaller.StringToPtrGStrdup (scheme);
+                       IntPtr native_userinfo = GLib.Marshaller.StringToPtrGStrdup (userinfo);
+                       IntPtr native_host = GLib.Marshaller.StringToPtrGStrdup (host);
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       IntPtr native_query = GLib.Marshaller.StringToPtrGStrdup (query);
+                       IntPtr native_fragment = GLib.Marshaller.StringToPtrGStrdup (fragment);
+                       Uri result = Uri.New (gst_uri_new(native_scheme, native_userinfo, native_host, port, native_path, native_query, native_fragment));
+                       GLib.Marshaller.Free (native_scheme);
+                       GLib.Marshaller.Free (native_userinfo);
+                       GLib.Marshaller.Free (native_host);
+                       GLib.Marshaller.Free (native_path);
+                       GLib.Marshaller.Free (native_query);
+                       GLib.Marshaller.Free (native_fragment);
+                       return result;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_uri_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_append_path(IntPtr raw, IntPtr relative_path);
+
+               public bool AppendPath(string relative_path) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_relative_path = GLib.Marshaller.StringToPtrGStrdup (relative_path);
+                       bool raw_ret = gst_uri_append_path(this_as_native, native_relative_path);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_relative_path);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_append_path_segment(IntPtr raw, IntPtr path_segment);
+
+               public bool AppendPathSegment(string path_segment) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_path_segment = GLib.Marshaller.StringToPtrGStrdup (path_segment);
+                       bool raw_ret = gst_uri_append_path_segment(this_as_native, native_path_segment);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_path_segment);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_equal(IntPtr raw, IntPtr second);
+
+               public bool Equal(Gst.Uri second) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_second = GLib.Marshaller.StructureToPtrAlloc (second);
+                       bool raw_ret = gst_uri_equal(this_as_native, native_second);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_second);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_from_string_with_base(IntPtr raw, IntPtr uri);
+
+               public Gst.Uri FromStringWithBase(string uri) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr raw_ret = gst_uri_from_string_with_base(this_as_native, native_uri);
+                       Gst.Uri ret = Gst.Uri.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_fragment(IntPtr raw);
+
+               public string Fragment { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_fragment(this_as_native);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_host(IntPtr raw);
+
+               public string Host { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_host(this_as_native);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern System.IntPtr gst_uri_get_media_fragment_table(IntPtr raw);
+
+               public string[] MediaFragmentTable { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               System.IntPtr raw_ret = gst_uri_get_media_fragment_table(this_as_native);
+                               string[] ret = (string[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(System.IntPtr), true, true, typeof(string));
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_path(IntPtr raw);
+
+               public string Path { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_path(this_as_native);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_path_segments(IntPtr raw);
+
+               public string[] PathSegments { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_path_segments(this_as_native);
+                               string[] ret = (string[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(string));
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_path_string(IntPtr raw);
+
+               public string PathString { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_path_string(this_as_native);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_uri_get_port(IntPtr raw);
+
+               public uint Port { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               uint raw_ret = gst_uri_get_port(this_as_native);
+                               uint ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_query_keys(IntPtr raw);
+
+               public string[] QueryKeys { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_query_keys(this_as_native);
+                               string[] ret = (string[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, true, typeof(string));
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_query_string(IntPtr raw);
+
+               public string QueryString { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_query_string(this_as_native);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern System.IntPtr gst_uri_get_query_table(IntPtr raw);
+
+               public string[] QueryTable { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               System.IntPtr raw_ret = gst_uri_get_query_table(this_as_native);
+                               string[] ret = (string[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(System.IntPtr), true, true, typeof(string));
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_query_value(IntPtr raw, IntPtr query_key);
+
+               public string GetQueryValue(string query_key) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_query_key = GLib.Marshaller.StringToPtrGStrdup (query_key);
+                       IntPtr raw_ret = gst_uri_get_query_value(this_as_native, native_query_key);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_query_key);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_scheme(IntPtr raw);
+
+               public string Scheme { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_scheme(this_as_native);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_userinfo(IntPtr raw);
+
+               public string Userinfo { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               IntPtr raw_ret = gst_uri_get_userinfo(this_as_native);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_is_normalized(IntPtr raw);
+
+               public bool IsNormalized { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_uri_is_normalized(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_is_writable(IntPtr raw);
+
+               public bool IsWritable { 
+                       get {
+                               IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                               System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                               bool raw_ret = gst_uri_is_writable(this_as_native);
+                               bool ret = raw_ret;
+                               ReadNative (this_as_native, ref this);
+                               System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_join(IntPtr raw, IntPtr ref_uri);
+
+               public Gst.Uri Join(Gst.Uri ref_uri) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_ref_uri = GLib.Marshaller.StructureToPtrAlloc (ref_uri);
+                       IntPtr raw_ret = gst_uri_join(this_as_native, native_ref_uri);
+                       Gst.Uri ret = Gst.Uri.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       Marshal.FreeHGlobal (native_ref_uri);
+                       return ret;
+               }
+
+               public Gst.Uri Join() {
+                       return Join (Gst.Uri.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_make_writable(IntPtr raw);
+
+               public Gst.Uri MakeWritable() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_uri_make_writable(this_as_native);
+                       Gst.Uri ret = Gst.Uri.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_new_with_base(IntPtr raw, IntPtr scheme, IntPtr userinfo, IntPtr host, uint port, IntPtr path, IntPtr query, IntPtr fragment);
+
+               public Gst.Uri NewWithBase(string scheme, string userinfo, string host, uint port, string path, string query, string fragment) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_scheme = GLib.Marshaller.StringToPtrGStrdup (scheme);
+                       IntPtr native_userinfo = GLib.Marshaller.StringToPtrGStrdup (userinfo);
+                       IntPtr native_host = GLib.Marshaller.StringToPtrGStrdup (host);
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       IntPtr native_query = GLib.Marshaller.StringToPtrGStrdup (query);
+                       IntPtr native_fragment = GLib.Marshaller.StringToPtrGStrdup (fragment);
+                       IntPtr raw_ret = gst_uri_new_with_base(this_as_native, native_scheme, native_userinfo, native_host, port, native_path, native_query, native_fragment);
+                       Gst.Uri ret = Gst.Uri.New (raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_scheme);
+                       GLib.Marshaller.Free (native_userinfo);
+                       GLib.Marshaller.Free (native_host);
+                       GLib.Marshaller.Free (native_path);
+                       GLib.Marshaller.Free (native_query);
+                       GLib.Marshaller.Free (native_fragment);
+                       return ret;
+               }
+
+               public Gst.Uri NewWithBase(uint port) {
+                       return NewWithBase (null, null, null, port, null, null, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_normalize(IntPtr raw);
+
+               public bool Normalize() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_uri_normalize(this_as_native);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_query_has_key(IntPtr raw, IntPtr query_key);
+
+               public bool QueryHasKey(string query_key) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_query_key = GLib.Marshaller.StringToPtrGStrdup (query_key);
+                       bool raw_ret = gst_uri_query_has_key(this_as_native, native_query_key);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_query_key);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_remove_query_key(IntPtr raw, IntPtr query_key);
+
+               public bool RemoveQueryKey(string query_key) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_query_key = GLib.Marshaller.StringToPtrGStrdup (query_key);
+                       bool raw_ret = gst_uri_remove_query_key(this_as_native, native_query_key);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_query_key);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_fragment(IntPtr raw, IntPtr fragment);
+
+               public bool SetFragment(string fragment) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_fragment = GLib.Marshaller.StringToPtrGStrdup (fragment);
+                       bool raw_ret = gst_uri_set_fragment(this_as_native, native_fragment);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_fragment);
+                       return ret;
+               }
+
+               public bool SetFragment() {
+                       return SetFragment (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_host(IntPtr raw, IntPtr host);
+
+               public bool SetHost(string host) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_host = GLib.Marshaller.StringToPtrGStrdup (host);
+                       bool raw_ret = gst_uri_set_host(this_as_native, native_host);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_host);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_path(IntPtr raw, IntPtr path);
+
+               public bool SetPath(string path) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       bool raw_ret = gst_uri_set_path(this_as_native, native_path);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_path_segments(IntPtr raw, IntPtr path_segments);
+
+               public bool SetPathSegments(GLib.List path_segments) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_uri_set_path_segments(this_as_native, path_segments == null ? IntPtr.Zero : path_segments.Handle);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               public bool SetPathSegments() {
+                       return SetPathSegments (null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_path_string(IntPtr raw, IntPtr path);
+
+               public bool SetPathString(string path) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       bool raw_ret = gst_uri_set_path_string(this_as_native, native_path);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_port(IntPtr raw, uint port);
+
+               public bool SetPort(uint port) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_uri_set_port(this_as_native, port);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_query_string(IntPtr raw, IntPtr query);
+
+               public bool SetQueryString(string query) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_query = GLib.Marshaller.StringToPtrGStrdup (query);
+                       bool raw_ret = gst_uri_set_query_string(this_as_native, native_query);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_query);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_query_table(IntPtr raw, System.IntPtr query_table);
+
+               public bool SetQueryTable(System.IntPtr query_table) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       bool raw_ret = gst_uri_set_query_table(this_as_native, query_table);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               public bool SetQueryTable() {
+                       return SetQueryTable (IntPtr.Zero);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_query_value(IntPtr raw, IntPtr query_key, IntPtr query_value);
+
+               public bool SetQueryValue(string query_key, string query_value) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_query_key = GLib.Marshaller.StringToPtrGStrdup (query_key);
+                       IntPtr native_query_value = GLib.Marshaller.StringToPtrGStrdup (query_value);
+                       bool raw_ret = gst_uri_set_query_value(this_as_native, native_query_key, native_query_value);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_query_key);
+                       GLib.Marshaller.Free (native_query_value);
+                       return ret;
+               }
+
+               public bool SetQueryValue(string query_key) {
+                       return SetQueryValue (query_key, null);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_scheme(IntPtr raw, IntPtr scheme);
+
+               public bool SetScheme(string scheme) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_scheme = GLib.Marshaller.StringToPtrGStrdup (scheme);
+                       bool raw_ret = gst_uri_set_scheme(this_as_native, native_scheme);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_scheme);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_set_userinfo(IntPtr raw, IntPtr userinfo);
+
+               public bool SetUserinfo(string userinfo) {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr native_userinfo = GLib.Marshaller.StringToPtrGStrdup (userinfo);
+                       bool raw_ret = gst_uri_set_userinfo(this_as_native, native_userinfo);
+                       bool ret = raw_ret;
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       GLib.Marshaller.Free (native_userinfo);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_to_string(IntPtr raw);
+
+               public override string ToString() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       IntPtr raw_ret = gst_uri_to_string(this_as_native);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_construct(IntPtr protocol, IntPtr location);
+
+               public static string Construct(string protocol, string location) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       IntPtr native_location = GLib.Marshaller.StringToPtrGStrdup (location);
+                       IntPtr raw_ret = gst_uri_construct(native_protocol, native_location);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_protocol);
+                       GLib.Marshaller.Free (native_location);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_from_string(IntPtr uri);
+
+               public static Gst.Uri FromString(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr raw_ret = gst_uri_from_string(native_uri);
+                       Gst.Uri ret = Gst.Uri.New (raw_ret);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_location(IntPtr uri);
+
+               public static string GetLocation(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr raw_ret = gst_uri_get_location(native_uri);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_protocol(IntPtr uri);
+
+               public static string GetProtocol(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr raw_ret = gst_uri_get_protocol(native_uri);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_has_protocol(IntPtr uri, IntPtr protocol);
+
+               public static bool HasProtocol(string uri, string protocol) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       bool raw_ret = gst_uri_has_protocol(native_uri, native_protocol);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_is_valid(IntPtr uri);
+
+               public static bool IsValid(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       bool raw_ret = gst_uri_is_valid(native_uri);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_join_strings(IntPtr base_uri, IntPtr ref_uri);
+
+               public static string JoinStrings(string base_uri, string ref_uri) {
+                       IntPtr native_base_uri = GLib.Marshaller.StringToPtrGStrdup (base_uri);
+                       IntPtr native_ref_uri = GLib.Marshaller.StringToPtrGStrdup (ref_uri);
+                       IntPtr raw_ret = gst_uri_join_strings(native_base_uri, native_ref_uri);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_base_uri);
+                       GLib.Marshaller.Free (native_ref_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_protocol_is_supported(int type, IntPtr protocol);
+
+               public static bool ProtocolIsSupported(Gst.URIType type, string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       bool raw_ret = gst_uri_protocol_is_supported((int) type, native_protocol);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_protocol_is_valid(IntPtr protocol);
+
+               public static bool ProtocolIsValid(string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       bool raw_ret = gst_uri_protocol_is_valid(native_protocol);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.Uri target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (Uri other)
+               {
+                       return true;
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is Uri && Equals ((Uri) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.Uri boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.Uri.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.Uri (GLib.Value val)
+               {
+                       return (Gst.Uri) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Util.cs b/sources/generated/Gst_Util.cs
new file mode 100644 (file)
index 0000000..4cb2739
--- /dev/null
@@ -0,0 +1,433 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Util {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_filename_to_uri(IntPtr filename, out IntPtr error);
+
+               public static unsafe string FilenameToUri(string filename) {
+                       IntPtr native_filename = GLib.Marshaller.StringToPtrGStrdup (filename);
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_filename_to_uri(native_filename, out error);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_filename);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_format_get_by_nick(IntPtr nick);
+
+               public static Gst.Format FormatGetByNick(string nick) {
+                       IntPtr native_nick = GLib.Marshaller.StringToPtrGStrdup (nick);
+                       int raw_ret = gst_format_get_by_nick(native_nick);
+                       Gst.Format ret = (Gst.Format) raw_ret;
+                       GLib.Marshaller.Free (native_nick);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_format_get_details(int format);
+
+               public static Gst.FormatDefinition FormatGetDetails(Gst.Format format) {
+                       IntPtr raw_ret = gst_format_get_details((int) format);
+                       Gst.FormatDefinition ret = Gst.FormatDefinition.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_format_get_name(int format);
+
+               public static string FormatGetName(Gst.Format format) {
+                       IntPtr raw_ret = gst_format_get_name((int) format);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_format_iterate_definitions();
+
+               public static Gst.Iterator FormatIterateDefinitions() {
+                       IntPtr raw_ret = gst_format_iterate_definitions();
+                       Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_format_register(IntPtr nick, IntPtr description);
+
+               public static Gst.Format FormatRegister(string nick, string description) {
+                       IntPtr native_nick = GLib.Marshaller.StringToPtrGStrdup (nick);
+                       IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+                       int raw_ret = gst_format_register(native_nick, native_description);
+                       Gst.Format ret = (Gst.Format) raw_ret;
+                       GLib.Marshaller.Free (native_nick);
+                       GLib.Marshaller.Free (native_description);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_format_to_quark(int format);
+
+               public static uint FormatToQuark(Gst.Format format) {
+                       uint raw_ret = gst_format_to_quark((int) format);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_construct(IntPtr protocol, IntPtr location);
+
+               public static string UriConstruct(string protocol, string location) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       IntPtr native_location = GLib.Marshaller.StringToPtrGStrdup (location);
+                       IntPtr raw_ret = gst_uri_construct(native_protocol, native_location);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_protocol);
+                       GLib.Marshaller.Free (native_location);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_uri_error_quark();
+
+               public static uint UriErrorQuark() {
+                       uint raw_ret = gst_uri_error_quark();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_from_string(IntPtr uri);
+
+               public static Gst.Uri UriFromString(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr raw_ret = gst_uri_from_string(native_uri);
+                       Gst.Uri ret = Gst.Uri.New (raw_ret);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_location(IntPtr uri);
+
+               public static string UriGetLocation(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr raw_ret = gst_uri_get_location(native_uri);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_get_protocol(IntPtr uri);
+
+               public static string UriGetProtocol(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr raw_ret = gst_uri_get_protocol(native_uri);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_has_protocol(IntPtr uri, IntPtr protocol);
+
+               public static bool UriHasProtocol(string uri, string protocol) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       bool raw_ret = gst_uri_has_protocol(native_uri, native_protocol);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_is_valid(IntPtr uri);
+
+               public static bool UriIsValid(string uri) {
+                       IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+                       bool raw_ret = gst_uri_is_valid(native_uri);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_uri_join_strings(IntPtr base_uri, IntPtr ref_uri);
+
+               public static string UriJoinStrings(string base_uri, string ref_uri) {
+                       IntPtr native_base_uri = GLib.Marshaller.StringToPtrGStrdup (base_uri);
+                       IntPtr native_ref_uri = GLib.Marshaller.StringToPtrGStrdup (ref_uri);
+                       IntPtr raw_ret = gst_uri_join_strings(native_base_uri, native_ref_uri);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_base_uri);
+                       GLib.Marshaller.Free (native_ref_uri);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_protocol_is_supported(int type, IntPtr protocol);
+
+               public static bool UriProtocolIsSupported(Gst.URIType type, string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       bool raw_ret = gst_uri_protocol_is_supported((int) type, native_protocol);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_uri_protocol_is_valid(IntPtr protocol);
+
+               public static bool UriProtocolIsValid(string protocol) {
+                       IntPtr native_protocol = GLib.Marshaller.StringToPtrGStrdup (protocol);
+                       bool raw_ret = gst_uri_protocol_is_valid(native_protocol);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_protocol);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_util_double_to_fraction(double src, out int dest_n, out int dest_d);
+
+               public static void DoubleToFraction(double src, out int dest_n, out int dest_d) {
+                       gst_util_double_to_fraction(src, out dest_n, out dest_d);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_util_dump_buffer(IntPtr buf);
+
+               public static void DumpBuffer(Gst.Buffer buf) {
+                       gst_util_dump_buffer(buf == null ? IntPtr.Zero : buf.Handle);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_util_dump_mem(byte mem, uint size);
+
+               public static void DumpMem(byte mem, uint size) {
+                       gst_util_dump_mem(mem, size);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_util_fraction_add(int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d);
+
+               public static bool FractionAdd(int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d) {
+                       bool raw_ret = gst_util_fraction_add(a_n, a_d, b_n, b_d, out res_n, out res_d);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_util_fraction_compare(int a_n, int a_d, int b_n, int b_d);
+
+               public static int FractionCompare(int a_n, int a_d, int b_n, int b_d) {
+                       int raw_ret = gst_util_fraction_compare(a_n, a_d, b_n, b_d);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_util_fraction_multiply(int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d);
+
+               public static bool FractionMultiply(int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d) {
+                       bool raw_ret = gst_util_fraction_multiply(a_n, a_d, b_n, b_d, out res_n, out res_d);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_util_fraction_to_double(int src_n, int src_d, out double dest);
+
+               public static double FractionToDouble(int src_n, int src_d) {
+                       double dest;
+                       gst_util_fraction_to_double(src_n, src_d, out dest);
+                       return dest;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_util_gdouble_to_guint64(double value);
+
+               public static ulong GdoubleToGuint64(double value) {
+                       ulong raw_ret = gst_util_gdouble_to_guint64(value);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_util_get_object_array(IntPtr _object, IntPtr name, out IntPtr array);
+
+               public static bool GetObjectArray(GLib.Object _object, string name, out GLib.ValueArray array) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_array;
+                       bool raw_ret = gst_util_get_object_array(_object == null ? IntPtr.Zero : _object.Handle, native_name, out native_array);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       array = new GLib.ValueArray(native_array);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_util_get_timestamp();
+
+               public static ulong GetTimestamp() {
+                       ulong raw_ret = gst_util_get_timestamp();
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_util_greatest_common_divisor(int a, int b);
+
+               public static int GreatestCommonDivisor(int a, int b) {
+                       int raw_ret = gst_util_greatest_common_divisor(a, b);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_util_greatest_common_divisor_int64(long a, long b);
+
+               public static long GreatestCommonDivisorInt64(long a, long b) {
+                       long raw_ret = gst_util_greatest_common_divisor_int64(a, b);
+                       long ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_util_group_id_next();
+
+               public static uint GroupIdNext() {
+                       uint raw_ret = gst_util_group_id_next();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_util_guint64_to_gdouble(ulong value);
+
+               public static double Guint64ToGdouble(ulong value) {
+                       double raw_ret = gst_util_guint64_to_gdouble(value);
+                       double ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_util_seqnum_compare(uint s1, uint s2);
+
+               public static int SeqnumCompare(uint s1, uint s2) {
+                       int raw_ret = gst_util_seqnum_compare(s1, s2);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_util_seqnum_next();
+
+               public static uint SeqnumNext() {
+                       uint raw_ret = gst_util_seqnum_next();
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_util_set_object_arg(IntPtr _object, IntPtr name, IntPtr value);
+
+               public static void SetObjectArg(GLib.Object _object, string name, string value) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                       gst_util_set_object_arg(_object == null ? IntPtr.Zero : _object.Handle, native_name, native_value);
+                       GLib.Marshaller.Free (native_name);
+                       GLib.Marshaller.Free (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_util_set_object_array(IntPtr _object, IntPtr name, IntPtr array);
+
+               public static bool SetObjectArray(GLib.Object _object, string name, GLib.ValueArray array) {
+                       IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+                       bool raw_ret = gst_util_set_object_array(_object == null ? IntPtr.Zero : _object.Handle, native_name, array == null ? IntPtr.Zero : array.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_name);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_util_set_value_from_string(IntPtr value, IntPtr value_str);
+
+               public static GLib.Value SetValueFromString(string value_str) {
+                       GLib.Value value;
+                       IntPtr native_value = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_value_str = GLib.Marshaller.StringToPtrGStrdup (value_str);
+                       gst_util_set_value_from_string(native_value, native_value_str);
+                       value = (GLib.Value) Marshal.PtrToStructure (native_value, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_value);
+                       GLib.Marshaller.Free (native_value_str);
+                       return value;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_util_uint64_scale(ulong val, ulong num, ulong denom);
+
+               public static ulong Uint64Scale(ulong val, ulong num, ulong denom) {
+                       ulong raw_ret = gst_util_uint64_scale(val, num, denom);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_util_uint64_scale_ceil(ulong val, ulong num, ulong denom);
+
+               public static ulong Uint64ScaleCeil(ulong val, ulong num, ulong denom) {
+                       ulong raw_ret = gst_util_uint64_scale_ceil(val, num, denom);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_util_uint64_scale_int(ulong val, int num, int denom);
+
+               public static ulong Uint64ScaleInt(ulong val, int num, int denom) {
+                       ulong raw_ret = gst_util_uint64_scale_int(val, num, denom);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_util_uint64_scale_int_ceil(ulong val, int num, int denom);
+
+               public static ulong Uint64ScaleIntCeil(ulong val, int num, int denom) {
+                       ulong raw_ret = gst_util_uint64_scale_int_ceil(val, num, denom);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_util_uint64_scale_int_round(ulong val, int num, int denom);
+
+               public static ulong Uint64ScaleIntRound(ulong val, int num, int denom) {
+                       ulong raw_ret = gst_util_uint64_scale_int_round(val, num, denom);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_util_uint64_scale_round(ulong val, ulong num, ulong denom);
+
+               public static ulong Uint64ScaleRound(ulong val, ulong num, ulong denom) {
+                       ulong raw_ret = gst_util_uint64_scale_round(val, num, denom);
+                       ulong ret = raw_ret;
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_Value.cs b/sources/generated/Gst_Value.cs
new file mode 100644 (file)
index 0000000..91563a0
--- /dev/null
@@ -0,0 +1,563 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Value {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_can_compare(IntPtr value1, IntPtr value2);
+
+               public static bool CanCompare(GLib.Value value1, GLib.Value value2) {
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       bool raw_ret = gst_value_can_compare(native_value1, native_value2);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_can_intersect(IntPtr value1, IntPtr value2);
+
+               public static bool CanIntersect(GLib.Value value1, GLib.Value value2) {
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       bool raw_ret = gst_value_can_intersect(native_value1, native_value2);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_can_subtract(IntPtr minuend, IntPtr subtrahend);
+
+               public static bool CanSubtract(GLib.Value minuend, GLib.Value subtrahend) {
+                       IntPtr native_minuend = GLib.Marshaller.StructureToPtrAlloc (minuend);
+                       IntPtr native_subtrahend = GLib.Marshaller.StructureToPtrAlloc (subtrahend);
+                       bool raw_ret = gst_value_can_subtract(native_minuend, native_subtrahend);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_minuend);
+                       Marshal.FreeHGlobal (native_subtrahend);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_can_union(IntPtr value1, IntPtr value2);
+
+               public static bool CanUnion(GLib.Value value1, GLib.Value value2) {
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       bool raw_ret = gst_value_can_union(native_value1, native_value2);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_value_compare(IntPtr value1, IntPtr value2);
+
+               public static int Compare(GLib.Value value1, GLib.Value value2) {
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       int raw_ret = gst_value_compare(native_value1, native_value2);
+                       int ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_deserialize(IntPtr dest, IntPtr src);
+
+               public static bool Deserialize(out GLib.Value dest, string src) {
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_src = GLib.Marshaller.StringToPtrGStrdup (src);
+                       bool raw_ret = gst_value_deserialize(native_dest, native_src);
+                       bool ret = raw_ret;
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       GLib.Marshaller.Free (native_src);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_fixate(IntPtr dest, IntPtr src);
+
+               public static bool Fixate(GLib.Value dest, GLib.Value src) {
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       bool raw_ret = gst_value_fixate(native_dest, native_src);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_src);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_fraction_multiply(IntPtr product, IntPtr factor1, IntPtr factor2);
+
+               public static bool FractionMultiply(GLib.Value product, GLib.Value factor1, GLib.Value factor2) {
+                       IntPtr native_product = GLib.Marshaller.StructureToPtrAlloc (product);
+                       IntPtr native_factor1 = GLib.Marshaller.StructureToPtrAlloc (factor1);
+                       IntPtr native_factor2 = GLib.Marshaller.StructureToPtrAlloc (factor2);
+                       bool raw_ret = gst_value_fraction_multiply(native_product, native_factor1, native_factor2);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_product);
+                       Marshal.FreeHGlobal (native_factor1);
+                       Marshal.FreeHGlobal (native_factor2);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_fraction_subtract(IntPtr dest, IntPtr minuend, IntPtr subtrahend);
+
+               public static bool FractionSubtract(GLib.Value dest, GLib.Value minuend, GLib.Value subtrahend) {
+                       IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+                       IntPtr native_minuend = GLib.Marshaller.StructureToPtrAlloc (minuend);
+                       IntPtr native_subtrahend = GLib.Marshaller.StructureToPtrAlloc (subtrahend);
+                       bool raw_ret = gst_value_fraction_subtract(native_dest, native_minuend, native_subtrahend);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_minuend);
+                       Marshal.FreeHGlobal (native_subtrahend);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_value_get_bitmask(IntPtr value);
+
+               public static ulong GetBitmask(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       ulong raw_ret = gst_value_get_bitmask(native_value);
+                       ulong ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_get_caps(IntPtr value);
+
+               public static Gst.Caps GetCaps(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr raw_ret = gst_value_get_caps(native_value);
+                       Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), false);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_get_caps_features(IntPtr value);
+
+               public static Gst.CapsFeatures GetCapsFeatures(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr raw_ret = gst_value_get_caps_features(native_value);
+                       Gst.CapsFeatures ret = Gst.CapsFeatures.New (raw_ret);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_value_get_double_range_max(IntPtr value);
+
+               public static double GetDoubleRangeMax(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       double raw_ret = gst_value_get_double_range_max(native_value);
+                       double ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern double gst_value_get_double_range_min(IntPtr value);
+
+               public static double GetDoubleRangeMin(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       double raw_ret = gst_value_get_double_range_min(native_value);
+                       double ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_value_get_flagset_flags(IntPtr value);
+
+               public static uint GetFlagsetFlags(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       uint raw_ret = gst_value_get_flagset_flags(native_value);
+                       uint ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_value_get_flagset_mask(IntPtr value);
+
+               public static uint GetFlagsetMask(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       uint raw_ret = gst_value_get_flagset_mask(native_value);
+                       uint ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_value_get_fraction_denominator(IntPtr value);
+
+               public static int GetFractionDenominator(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       int raw_ret = gst_value_get_fraction_denominator(native_value);
+                       int ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_value_get_fraction_numerator(IntPtr value);
+
+               public static int GetFractionNumerator(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       int raw_ret = gst_value_get_fraction_numerator(native_value);
+                       int ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_get_fraction_range_max(IntPtr value);
+
+               public static GLib.Value GetFractionRangeMax(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr raw_ret = gst_value_get_fraction_range_max(native_value);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_get_fraction_range_min(IntPtr value);
+
+               public static GLib.Value GetFractionRangeMin(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr raw_ret = gst_value_get_fraction_range_min(native_value);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_value_get_int64_range_max(IntPtr value);
+
+               public static long GetInt64RangeMax(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       long raw_ret = gst_value_get_int64_range_max(native_value);
+                       long ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_value_get_int64_range_min(IntPtr value);
+
+               public static long GetInt64RangeMin(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       long raw_ret = gst_value_get_int64_range_min(native_value);
+                       long ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_value_get_int64_range_step(IntPtr value);
+
+               public static long GetInt64RangeStep(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       long raw_ret = gst_value_get_int64_range_step(native_value);
+                       long ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_value_get_int_range_max(IntPtr value);
+
+               public static int GetIntRangeMax(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       int raw_ret = gst_value_get_int_range_max(native_value);
+                       int ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_value_get_int_range_min(IntPtr value);
+
+               public static int GetIntRangeMin(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       int raw_ret = gst_value_get_int_range_min(native_value);
+                       int ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_value_get_int_range_step(IntPtr value);
+
+               public static int GetIntRangeStep(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       int raw_ret = gst_value_get_int_range_step(native_value);
+                       int ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_get_structure(IntPtr value);
+
+               public static Gst.Structure GetStructure(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr raw_ret = gst_value_get_structure(native_value);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_init_and_copy(IntPtr dest, IntPtr src);
+
+               public static GLib.Value InitAndCopy(GLib.Value src) {
+                       GLib.Value dest;
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
+                       gst_value_init_and_copy(native_dest, native_src);
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_src);
+                       return dest;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_intersect(IntPtr dest, IntPtr value1, IntPtr value2);
+
+               public static bool Intersect(out GLib.Value dest, GLib.Value value1, GLib.Value value2) {
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       bool raw_ret = gst_value_intersect(native_dest, native_value1, native_value2);
+                       bool ret = raw_ret;
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_is_fixed(IntPtr value);
+
+               public static bool IsFixed(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       bool raw_ret = gst_value_is_fixed(native_value);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_is_subset(IntPtr value1, IntPtr value2);
+
+               public static bool IsSubset(GLib.Value value1, GLib.Value value2) {
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       bool raw_ret = gst_value_is_subset(native_value1, native_value2);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_register(IntPtr table);
+
+               public static void Register(Gst.ValueTable table) {
+                       IntPtr native_table = GLib.Marshaller.StructureToPtrAlloc (table);
+                       gst_value_register(native_table);
+                       Marshal.FreeHGlobal (native_table);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_serialize(IntPtr value);
+
+               public static string Serialize(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr raw_ret = gst_value_serialize(native_value);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_bitmask(IntPtr value, ulong bitmask);
+
+               public static void SetBitmask(GLib.Value value, ulong bitmask) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_bitmask(native_value, bitmask);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_caps(IntPtr value, IntPtr caps);
+
+               public static void SetCaps(GLib.Value value, Gst.Caps caps) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_caps(native_value, caps == null ? IntPtr.Zero : caps.Handle);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_caps_features(IntPtr value, IntPtr features);
+
+               public static void SetCapsFeatures(GLib.Value value, Gst.CapsFeatures features) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+                       gst_value_set_caps_features(native_value, native_features);
+                       Marshal.FreeHGlobal (native_value);
+                       Marshal.FreeHGlobal (native_features);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_double_range(IntPtr value, double start, double end);
+
+               public static void SetDoubleRange(GLib.Value value, double start, double end) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_double_range(native_value, start, end);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_flagset(IntPtr value, uint flags, uint mask);
+
+               public static void SetFlagset(GLib.Value value, uint flags, uint mask) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_flagset(native_value, flags, mask);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_fraction(IntPtr value, int numerator, int denominator);
+
+               public static void SetFraction(GLib.Value value, int numerator, int denominator) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_fraction(native_value, numerator, denominator);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_fraction_range(IntPtr value, IntPtr start, IntPtr end);
+
+               public static void SetFractionRange(GLib.Value value, GLib.Value start, GLib.Value end) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr native_start = GLib.Marshaller.StructureToPtrAlloc (start);
+                       IntPtr native_end = GLib.Marshaller.StructureToPtrAlloc (end);
+                       gst_value_set_fraction_range(native_value, native_start, native_end);
+                       Marshal.FreeHGlobal (native_value);
+                       Marshal.FreeHGlobal (native_start);
+                       Marshal.FreeHGlobal (native_end);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_fraction_range_full(IntPtr value, int numerator_start, int denominator_start, int numerator_end, int denominator_end);
+
+               public static void SetFractionRangeFull(GLib.Value value, int numerator_start, int denominator_start, int numerator_end, int denominator_end) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_fraction_range_full(native_value, numerator_start, denominator_start, numerator_end, denominator_end);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_int64_range(IntPtr value, long start, long end);
+
+               public static void SetInt64Range(GLib.Value value, long start, long end) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_int64_range(native_value, start, end);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_int64_range_step(IntPtr value, long start, long end, long step);
+
+               public static void SetInt64RangeStep(GLib.Value value, long start, long end, long step) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_int64_range_step(native_value, start, end, step);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_int_range(IntPtr value, int start, int end);
+
+               public static void SetIntRange(GLib.Value value, int start, int end) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_int_range(native_value, start, end);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_int_range_step(IntPtr value, int start, int end, int step);
+
+               public static void SetIntRangeStep(GLib.Value value, int start, int end, int step) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_int_range_step(native_value, start, end, step);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_set_structure(IntPtr value, IntPtr structure);
+
+               public static void SetStructure(GLib.Value value, Gst.Structure structure) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       gst_value_set_structure(native_value, structure == null ? IntPtr.Zero : structure.Handle);
+                       Marshal.FreeHGlobal (native_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_subtract(IntPtr dest, IntPtr minuend, IntPtr subtrahend);
+
+               public static bool Subtract(out GLib.Value dest, GLib.Value minuend, GLib.Value subtrahend) {
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_minuend = GLib.Marshaller.StructureToPtrAlloc (minuend);
+                       IntPtr native_subtrahend = GLib.Marshaller.StructureToPtrAlloc (subtrahend);
+                       bool raw_ret = gst_value_subtract(native_dest, native_minuend, native_subtrahend);
+                       bool ret = raw_ret;
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_minuend);
+                       Marshal.FreeHGlobal (native_subtrahend);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_value_union(IntPtr dest, IntPtr value1, IntPtr value2);
+
+               public static bool Union(out GLib.Value dest, GLib.Value value1, GLib.Value value2) {
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       bool raw_ret = gst_value_union(native_dest, native_value1, native_value2);
+                       bool ret = raw_ret;
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ValueArray.cs b/sources/generated/Gst_ValueArray.cs
new file mode 100644 (file)
index 0000000..e55b80e
--- /dev/null
@@ -0,0 +1,100 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ValueArray : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_array_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_value_array_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_array_append_and_take_value(IntPtr value, IntPtr append_value);
+
+               public static void AppendAndTakeValue(GLib.Value value, GLib.Value append_value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr native_append_value = GLib.Marshaller.StructureToPtrAlloc (append_value);
+                       gst_value_array_append_and_take_value(native_value, native_append_value);
+                       Marshal.FreeHGlobal (native_value);
+                       Marshal.FreeHGlobal (native_append_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_array_append_value(IntPtr value, IntPtr append_value);
+
+               public static void AppendValue(GLib.Value value, GLib.Value append_value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr native_append_value = GLib.Marshaller.StructureToPtrAlloc (append_value);
+                       gst_value_array_append_value(native_value, native_append_value);
+                       Marshal.FreeHGlobal (native_value);
+                       Marshal.FreeHGlobal (native_append_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_value_array_get_size(IntPtr value);
+
+               public static uint GetSize(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       uint raw_ret = gst_value_array_get_size(native_value);
+                       uint ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_array_get_value(IntPtr value, uint index);
+
+               public static GLib.Value GetValue(GLib.Value value, uint index) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr raw_ret = gst_value_array_get_value(native_value, index);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_array_prepend_value(IntPtr value, IntPtr prepend_value);
+
+               public static void PrependValue(GLib.Value value, GLib.Value prepend_value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr native_prepend_value = GLib.Marshaller.StructureToPtrAlloc (prepend_value);
+                       gst_value_array_prepend_value(native_value, native_prepend_value);
+                       Marshal.FreeHGlobal (native_value);
+                       Marshal.FreeHGlobal (native_prepend_value);
+               }
+
+               public ValueArray(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ValueCompareFunc.cs b/sources/generated/Gst_ValueCompareFunc.cs
new file mode 100644 (file)
index 0000000..8d8cb21
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate int ValueCompareFunc(GLib.Value value1, GLib.Value value2);
+
+}
diff --git a/sources/generated/Gst_ValueDeserializeFunc.cs b/sources/generated/Gst_ValueDeserializeFunc.cs
new file mode 100644 (file)
index 0000000..ce8b0e3
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate bool ValueDeserializeFunc(GLib.Value dest, string s);
+
+}
diff --git a/sources/generated/Gst_ValueList.cs b/sources/generated/Gst_ValueList.cs
new file mode 100644 (file)
index 0000000..eb20607
--- /dev/null
@@ -0,0 +1,132 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class ValueList : GLib.Opaque {
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_list_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_value_list_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_list_append_and_take_value(IntPtr value, IntPtr append_value);
+
+               public static void AppendAndTakeValue(GLib.Value value, GLib.Value append_value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr native_append_value = GLib.Marshaller.StructureToPtrAlloc (append_value);
+                       gst_value_list_append_and_take_value(native_value, native_append_value);
+                       Marshal.FreeHGlobal (native_value);
+                       Marshal.FreeHGlobal (native_append_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_list_append_value(IntPtr value, IntPtr append_value);
+
+               public static void AppendValue(GLib.Value value, GLib.Value append_value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr native_append_value = GLib.Marshaller.StructureToPtrAlloc (append_value);
+                       gst_value_list_append_value(native_value, native_append_value);
+                       Marshal.FreeHGlobal (native_value);
+                       Marshal.FreeHGlobal (native_append_value);
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_list_concat(IntPtr dest, IntPtr value1, IntPtr value2);
+
+               public static GLib.Value Concat(GLib.Value value1, GLib.Value value2) {
+                       GLib.Value dest;
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       gst_value_list_concat(native_dest, native_value1, native_value2);
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return dest;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_value_list_get_size(IntPtr value);
+
+               public static uint GetSize(GLib.Value value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       uint raw_ret = gst_value_list_get_size(native_value);
+                       uint ret = raw_ret;
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_value_list_get_value(IntPtr value, uint index);
+
+               public static GLib.Value GetValue(GLib.Value value, uint index) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr raw_ret = gst_value_list_get_value(native_value, index);
+                       GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_value);
+                       return ret;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_list_merge(IntPtr dest, IntPtr value1, IntPtr value2);
+
+               public static GLib.Value Merge(GLib.Value value1, GLib.Value value2) {
+                       GLib.Value dest;
+                       IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+                       IntPtr native_value1 = GLib.Marshaller.StructureToPtrAlloc (value1);
+                       IntPtr native_value2 = GLib.Marshaller.StructureToPtrAlloc (value2);
+                       gst_value_list_merge(native_dest, native_value1, native_value2);
+                       dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
+                       Marshal.FreeHGlobal (native_dest);
+                       Marshal.FreeHGlobal (native_value1);
+                       Marshal.FreeHGlobal (native_value2);
+                       return dest;
+               }
+
+               [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_value_list_prepend_value(IntPtr value, IntPtr prepend_value);
+
+               public static void PrependValue(GLib.Value value, GLib.Value prepend_value) {
+                       IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                       IntPtr native_prepend_value = GLib.Marshaller.StructureToPtrAlloc (prepend_value);
+                       gst_value_list_prepend_value(native_value, native_prepend_value);
+                       Marshal.FreeHGlobal (native_value);
+                       Marshal.FreeHGlobal (native_prepend_value);
+               }
+
+               public ValueList(IntPtr raw) : base(raw) {}
+
+
+               // Internal representation of the wrapped structure ABI.
+               static GLib.AbiStruct _abi_info = null;
+               static public GLib.AbiStruct abi_info {
+                       get {
+                               if (_abi_info == null)
+                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/sources/generated/Gst_ValueSerializeFunc.cs b/sources/generated/Gst_ValueSerializeFunc.cs
new file mode 100644 (file)
index 0000000..d167661
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+
+       public delegate string ValueSerializeFunc(GLib.Value value1);
+
+}
diff --git a/sources/generated/Gst_ValueTable.cs b/sources/generated/Gst_ValueTable.cs
new file mode 100644 (file)
index 0000000..8192be4
--- /dev/null
@@ -0,0 +1,65 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct ValueTable : IEquatable<ValueTable> {
+
+               public GLib.GType Type;
+               private GstSharp.ValueCompareFuncNative _compare;
+               public Gst.ValueCompareFunc Compare {
+                       get {
+                               return GstSharp.ValueCompareFuncWrapper.GetManagedDelegate (_compare);
+                       }
+               }
+               private GstSharp.ValueSerializeFuncNative _serialize;
+               public Gst.ValueSerializeFunc Serialize {
+                       get {
+                               return GstSharp.ValueSerializeFuncWrapper.GetManagedDelegate (_serialize);
+                       }
+               }
+               private GstSharp.ValueDeserializeFuncNative _deserialize;
+               public Gst.ValueDeserializeFunc Deserialize {
+                       get {
+                               return GstSharp.ValueDeserializeFuncWrapper.GetManagedDelegate (_deserialize);
+                       }
+               }
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.ValueTable Zero = new Gst.ValueTable ();
+
+               public static Gst.ValueTable New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.ValueTable.Zero;
+                       return (Gst.ValueTable) Marshal.PtrToStructure (raw, typeof (Gst.ValueTable));
+               }
+
+               public bool Equals (ValueTable other)
+               {
+                       return true && Type.Equals (other.Type) && Compare.Equals (other.Compare) && Serialize.Equals (other.Serialize) && Deserialize.Equals (other.Deserialize);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is ValueTable && Equals ((ValueTable) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Type.GetHashCode () ^ Compare.GetHashCode () ^ Serialize.GetHashCode () ^ Deserialize.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/sources/generated/GtkSharp_ObjectManager.cs b/sources/generated/GtkSharp_ObjectManager.cs
new file mode 100644 (file)
index 0000000..ba47db2
--- /dev/null
@@ -0,0 +1,74 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GtkSharp.GstreamerSharp {
+
+       public class ObjectManager {
+
+               static bool initialized = false;
+               // Call this method from the appropriate module init function.
+               public static void Initialize ()
+               {
+                       if (initialized)
+                               return;
+
+                       initialized = true;
+                       GLib.GType.Register (Gst.App.AppSink.GType, typeof (Gst.App.AppSink));
+                       GLib.GType.Register (Gst.App.AppSrc.GType, typeof (Gst.App.AppSrc));
+                       GLib.GType.Register (Gst.Audio.AudioBaseSink.GType, typeof (Gst.Audio.AudioBaseSink));
+                       GLib.GType.Register (Gst.Audio.AudioBaseSrc.GType, typeof (Gst.Audio.AudioBaseSrc));
+                       GLib.GType.Register (Gst.Audio.AudioCdSrc.GType, typeof (Gst.Audio.AudioCdSrc));
+                       GLib.GType.Register (Gst.Audio.AudioClock.GType, typeof (Gst.Audio.AudioClock));
+                       GLib.GType.Register (Gst.Audio.AudioDecoder.GType, typeof (Gst.Audio.AudioDecoder));
+                       GLib.GType.Register (Gst.Audio.AudioEncoder.GType, typeof (Gst.Audio.AudioEncoder));
+                       GLib.GType.Register (Gst.Audio.AudioFilter.GType, typeof (Gst.Audio.AudioFilter));
+                       GLib.GType.Register (Gst.Audio.AudioRingBuffer.GType, typeof (Gst.Audio.AudioRingBuffer));
+                       GLib.GType.Register (Gst.Audio.AudioSink.GType, typeof (Gst.Audio.AudioSink));
+                       GLib.GType.Register (Gst.Audio.AudioSrc.GType, typeof (Gst.Audio.AudioSrc));
+                       GLib.GType.Register (Gst.Base.Adapter.GType, typeof (Gst.Base.Adapter));
+                       GLib.GType.Register (Gst.Base.Aggregator.GType, typeof (Gst.Base.Aggregator));
+                       GLib.GType.Register (Gst.Base.AggregatorPad.GType, typeof (Gst.Base.AggregatorPad));
+                       GLib.GType.Register (Gst.Base.BaseParse.GType, typeof (Gst.Base.BaseParse));
+                       GLib.GType.Register (Gst.Base.BaseSink.GType, typeof (Gst.Base.BaseSink));
+                       GLib.GType.Register (Gst.Base.BaseSrc.GType, typeof (Gst.Base.BaseSrc));
+                       GLib.GType.Register (Gst.Base.BaseTransform.GType, typeof (Gst.Base.BaseTransform));
+                       GLib.GType.Register (Gst.Base.CollectPads.GType, typeof (Gst.Base.CollectPads));
+                       GLib.GType.Register (Gst.Base.DataQueue.GType, typeof (Gst.Base.DataQueue));
+                       GLib.GType.Register (Gst.Base.PushSrc.GType, typeof (Gst.Base.PushSrc));
+                       GLib.GType.Register (Gst.Controller.ARGBControlBinding.GType, typeof (Gst.Controller.ARGBControlBinding));
+                       GLib.GType.Register (Gst.Controller.DirectControlBinding.GType, typeof (Gst.Controller.DirectControlBinding));
+                       GLib.GType.Register (Gst.Controller.InterpolationControlSource.GType, typeof (Gst.Controller.InterpolationControlSource));
+                       GLib.GType.Register (Gst.Controller.LFOControlSource.GType, typeof (Gst.Controller.LFOControlSource));
+                       GLib.GType.Register (Gst.Controller.ProxyControlBinding.GType, typeof (Gst.Controller.ProxyControlBinding));
+                       GLib.GType.Register (Gst.Controller.TimedValueControlSource.GType, typeof (Gst.Controller.TimedValueControlSource));
+                       GLib.GType.Register (Gst.Controller.TriggerControlSource.GType, typeof (Gst.Controller.TriggerControlSource));
+                       GLib.GType.Register (Gst.Net.NetClientClock.GType, typeof (Gst.Net.NetClientClock));
+                       GLib.GType.Register (Gst.Net.NetTimeProvider.GType, typeof (Gst.Net.NetTimeProvider));
+                       GLib.GType.Register (Gst.Net.PtpClock.GType, typeof (Gst.Net.PtpClock));
+                       GLib.GType.Register (Gst.PbUtils.AudioVisualizer.GType, typeof (Gst.PbUtils.AudioVisualizer));
+                       GLib.GType.Register (Gst.PbUtils.Discoverer.GType, typeof (Gst.PbUtils.Discoverer));
+                       GLib.GType.Register (Gst.PbUtils.DiscovererAudioInfo.GType, typeof (Gst.PbUtils.DiscovererAudioInfo));
+                       GLib.GType.Register (Gst.PbUtils.DiscovererContainerInfo.GType, typeof (Gst.PbUtils.DiscovererContainerInfo));
+                       GLib.GType.Register (Gst.PbUtils.DiscovererInfo.GType, typeof (Gst.PbUtils.DiscovererInfo));
+                       GLib.GType.Register (Gst.PbUtils.DiscovererStreamInfo.GType, typeof (Gst.PbUtils.DiscovererStreamInfo));
+                       GLib.GType.Register (Gst.PbUtils.DiscovererSubtitleInfo.GType, typeof (Gst.PbUtils.DiscovererSubtitleInfo));
+                       GLib.GType.Register (Gst.PbUtils.DiscovererVideoInfo.GType, typeof (Gst.PbUtils.DiscovererVideoInfo));
+                       GLib.GType.Register (Gst.PbUtils.EncodingAudioProfile.GType, typeof (Gst.PbUtils.EncodingAudioProfile));
+                       GLib.GType.Register (Gst.PbUtils.EncodingContainerProfile.GType, typeof (Gst.PbUtils.EncodingContainerProfile));
+                       GLib.GType.Register (Gst.PbUtils.EncodingProfile.GType, typeof (Gst.PbUtils.EncodingProfile));
+                       GLib.GType.Register (Gst.PbUtils.EncodingTarget.GType, typeof (Gst.PbUtils.EncodingTarget));
+                       GLib.GType.Register (Gst.PbUtils.EncodingVideoProfile.GType, typeof (Gst.PbUtils.EncodingVideoProfile));
+                       GLib.GType.Register (Gst.Rtp.RTPBaseAudioPayload.GType, typeof (Gst.Rtp.RTPBaseAudioPayload));
+                       GLib.GType.Register (Gst.Rtp.RTPBaseDepayload.GType, typeof (Gst.Rtp.RTPBaseDepayload));
+                       GLib.GType.Register (Gst.Rtp.RTPBasePayload.GType, typeof (Gst.Rtp.RTPBasePayload));
+                       GLib.GType.Register (Gst.Tags.TagDemux.GType, typeof (Gst.Tags.TagDemux));
+                       GLib.GType.Register (Gst.Tags.TagMux.GType, typeof (Gst.Tags.TagMux));
+                       GLib.GType.Register (Gst.Video.ColorBalanceChannel.GType, typeof (Gst.Video.ColorBalanceChannel));
+                       GLib.GType.Register (Gst.Video.VideoBufferPool.GType, typeof (Gst.Video.VideoBufferPool));
+                       GLib.GType.Register (Gst.Video.VideoDecoder.GType, typeof (Gst.Video.VideoDecoder));
+                       GLib.GType.Register (Gst.Video.VideoEncoder.GType, typeof (Gst.Video.VideoEncoder));
+                       GLib.GType.Register (Gst.Video.VideoFilter.GType, typeof (Gst.Video.VideoFilter));
+                       GLib.GType.Register (Gst.Video.VideoSink.GType, typeof (Gst.Video.VideoSink));
+               }
+       }
+}
diff --git a/sources/generated/gstreamer-sharp-abi.c b/sources/generated/gstreamer-sharp-abi.c
new file mode 100644 (file)
index 0000000..c9bb47a
--- /dev/null
@@ -0,0 +1,934 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+#include <glib.h>
+#include <gst/gst.h>
+#include <gst/video/video.h>
+#include <gst/audio/audio.h>
+#include <gst/rtsp/rtsp.h>
+#include <gst/app/app.h>
+#include <gst/audio/audio.h>
+#include <gst/base/base.h>
+#include <gst/controller/controller.h>
+#include <gst/fft/fft.h>
+#include <gst/net/net.h>
+#include <gst/pbutils/gstaudiovisualizer.h>
+#include <gst/pbutils/pbutils.h>
+#include <gst/rtp/rtp.h>
+#include <gst/rtsp/rtsp.h>
+#include <gst/sdp/sdp.h>
+#include <gst/tag/tag.h>
+#include <gst/video/video.h>
+#include <gst/video/gstvideoaffinetransformationmeta.h>
+#include <gst/net/gstnetcontrolmessagemeta.h>
+
+int main (int argc, char *argv[]) {
+       g_print("\"sizeof(GstAllocatorClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAllocatorClass));
+       g_print("\"GstAllocatorClass.alloc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocatorClass, alloc));
+       g_print("\"GstAllocatorClass.free\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocatorClass, free));
+       g_print("\"sizeof(GstAllocator)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAllocator));
+       g_print("\"GstAllocator.mem_type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, mem_type));
+       g_print("\"GstAllocator.mem_map\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, mem_map));
+       g_print("\"GstAllocator.mem_unmap\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, mem_unmap));
+       g_print("\"GstAllocator.mem_copy\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, mem_copy));
+       g_print("\"GstAllocator.mem_share\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, mem_share));
+       g_print("\"GstAllocator.mem_is_span\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, mem_is_span));
+       g_print("\"GstAllocator.mem_map_full\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, mem_map_full));
+       g_print("\"GstAllocator.mem_unmap_full\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, mem_unmap_full));
+       g_print("\"GstAllocator.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAllocator, priv));
+       g_print("\"sizeof(GstBinClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBinClass));
+       g_print("\"GstBinClass.pool\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, pool));
+       g_print("\"GstBinClass.element_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, element_added));
+       g_print("\"GstBinClass.element_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, element_removed));
+       g_print("\"GstBinClass.add_element\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, add_element));
+       g_print("\"GstBinClass.remove_element\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, remove_element));
+       g_print("\"GstBinClass.handle_message\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, handle_message));
+       g_print("\"GstBinClass.do_latency\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, do_latency));
+       g_print("\"GstBinClass.deep_element_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, deep_element_added));
+       g_print("\"GstBinClass.deep_element_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBinClass, deep_element_removed));
+       g_print("\"sizeof(GstBin)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBin));
+       g_print("\"GstBin.numchildren\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, numchildren));
+       g_print("\"GstBin.children\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, children));
+       g_print("\"GstBin.children_cookie\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, children_cookie));
+       g_print("\"GstBin.child_bus\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, child_bus));
+       g_print("\"GstBin.messages\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, messages));
+       g_print("\"GstBin.polling\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, polling));
+       g_print("\"GstBin.state_dirty\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, state_dirty));
+       g_print("\"GstBin.clock_dirty\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, clock_dirty));
+       g_print("\"GstBin.provided_clock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, provided_clock));
+       g_print("\"GstBin.clock_provider\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, clock_provider));
+       g_print("\"GstBin.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBin, priv));
+       g_print("\"sizeof(GstBufferPoolClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBufferPoolClass));
+       g_print("\"GstBufferPoolClass.get_options\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, get_options));
+       g_print("\"GstBufferPoolClass.set_config\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, set_config));
+       g_print("\"GstBufferPoolClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, start));
+       g_print("\"GstBufferPoolClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, stop));
+       g_print("\"GstBufferPoolClass.acquire_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, acquire_buffer));
+       g_print("\"GstBufferPoolClass.alloc_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, alloc_buffer));
+       g_print("\"GstBufferPoolClass.reset_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, reset_buffer));
+       g_print("\"GstBufferPoolClass.release_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, release_buffer));
+       g_print("\"GstBufferPoolClass.free_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, free_buffer));
+       g_print("\"GstBufferPoolClass.flush_start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, flush_start));
+       g_print("\"GstBufferPoolClass.flush_stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPoolClass, flush_stop));
+       g_print("\"sizeof(GstBufferPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBufferPool));
+       g_print("\"GstBufferPool.flushing\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPool, flushing));
+       g_print("\"GstBufferPool.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBufferPool, priv));
+       g_print("\"sizeof(GstBusClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBusClass));
+       g_print("\"GstBusClass.message\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBusClass, message));
+       g_print("\"GstBusClass.sync_message\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBusClass, sync_message));
+       g_print("\"sizeof(GstBus)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBus));
+       g_print("\"GstBus.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBus, priv));
+       g_print("\"sizeof(GstClockClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstClockClass));
+       g_print("\"GstClockClass.change_resolution\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockClass, change_resolution));
+       g_print("\"GstClockClass.get_resolution\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockClass, get_resolution));
+       g_print("\"GstClockClass.get_internal_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockClass, get_internal_time));
+       g_print("\"GstClockClass.wait\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockClass, wait));
+       g_print("\"GstClockClass.wait_async\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockClass, wait_async));
+       g_print("\"GstClockClass.unschedule\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockClass, unschedule));
+       g_print("\"sizeof(GstClock)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstClock));
+       g_print("\"GstClock.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClock, priv));
+       g_print("\"sizeof(GstControlBindingClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstControlBindingClass));
+       g_print("\"GstControlBindingClass.sync_values\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlBindingClass, sync_values));
+       g_print("\"GstControlBindingClass.get_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlBindingClass, get_value));
+       g_print("\"GstControlBindingClass.get_value_array\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlBindingClass, get_value_array));
+       g_print("\"GstControlBindingClass.get_g_value_array\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlBindingClass, get_g_value_array));
+       g_print("\"sizeof(GstControlBinding)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstControlBinding));
+       g_print("\"GstControlBinding.name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlBinding, name));
+       g_print("\"GstControlBinding.pspec\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlBinding, pspec));
+       g_print("\"GstControlBinding.object\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlBinding, object));
+       g_print("\"GstControlBinding.disabled\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlBinding, disabled));
+       g_print("\"sizeof(GstControlSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstControlSourceClass));
+       g_print("\"sizeof(GstControlSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstControlSource));
+       g_print("\"GstControlSource.get_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlSource, get_value));
+       g_print("\"GstControlSource.get_value_array\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstControlSource, get_value_array));
+       g_print("\"sizeof(GstDeviceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDeviceClass));
+       g_print("\"GstDeviceClass.create_element\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceClass, create_element));
+       g_print("\"GstDeviceClass.reconfigure_element\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceClass, reconfigure_element));
+       g_print("\"sizeof(GstDevice)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDevice));
+       g_print("\"GstDevice.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDevice, priv));
+       g_print("\"sizeof(GstDeviceMonitorClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDeviceMonitorClass));
+       g_print("\"sizeof(GstDeviceMonitor)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDeviceMonitor));
+       g_print("\"GstDeviceMonitor.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceMonitor, priv));
+       g_print("\"sizeof(GstDeviceProviderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDeviceProviderClass));
+       g_print("\"GstDeviceProviderClass.factory\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceProviderClass, factory));
+       g_print("\"GstDeviceProviderClass.probe\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceProviderClass, probe));
+       g_print("\"GstDeviceProviderClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceProviderClass, start));
+       g_print("\"GstDeviceProviderClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceProviderClass, stop));
+       g_print("\"GstDeviceProviderClass.metadata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceProviderClass, metadata));
+       g_print("\"sizeof(GstDeviceProvider)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDeviceProvider));
+       g_print("\"GstDeviceProvider.devices\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceProvider, devices));
+       g_print("\"GstDeviceProvider.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDeviceProvider, priv));
+       g_print("\"sizeof(GstElementClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstElementClass));
+       g_print("\"GstElementClass.metadata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, metadata));
+       g_print("\"GstElementClass.elementfactory\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, elementfactory));
+       g_print("\"GstElementClass.padtemplates\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, padtemplates));
+       g_print("\"GstElementClass.numpadtemplates\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, numpadtemplates));
+       g_print("\"GstElementClass.pad_templ_cookie\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, pad_templ_cookie));
+       g_print("\"GstElementClass.pad_added\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, pad_added));
+       g_print("\"GstElementClass.pad_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, pad_removed));
+       g_print("\"GstElementClass.no_more_pads\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, no_more_pads));
+       g_print("\"GstElementClass.request_new_pad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, request_new_pad));
+       g_print("\"GstElementClass.release_pad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, release_pad));
+       g_print("\"GstElementClass.get_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, get_state));
+       g_print("\"GstElementClass.set_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, set_state));
+       g_print("\"GstElementClass.change_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, change_state));
+       g_print("\"GstElementClass.state_changed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, state_changed));
+       g_print("\"GstElementClass.set_bus\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, set_bus));
+       g_print("\"GstElementClass.provide_clock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, provide_clock));
+       g_print("\"GstElementClass.set_clock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, set_clock));
+       g_print("\"GstElementClass.send_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, send_event));
+       g_print("\"GstElementClass.query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, query));
+       g_print("\"GstElementClass.post_message\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, post_message));
+       g_print("\"GstElementClass.set_context\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElementClass, set_context));
+       g_print("\"sizeof(GstElement)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstElement));
+       g_print("\"GstElement.state_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, state_lock));
+       g_print("\"GstElement.state_cond\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, state_cond));
+       g_print("\"GstElement.state_cookie\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, state_cookie));
+       g_print("\"GstElement.target_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, target_state));
+       g_print("\"GstElement.current_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, current_state));
+       g_print("\"GstElement.next_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, next_state));
+       g_print("\"GstElement.pending_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, pending_state));
+       g_print("\"GstElement.last_return\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, last_return));
+       g_print("\"GstElement.bus\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, bus));
+       g_print("\"GstElement.clock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, clock));
+       g_print("\"GstElement.base_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, base_time));
+       g_print("\"GstElement.start_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, start_time));
+       g_print("\"GstElement.numpads\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, numpads));
+       g_print("\"GstElement.pads\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, pads));
+       g_print("\"GstElement.numsrcpads\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, numsrcpads));
+       g_print("\"GstElement.srcpads\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, srcpads));
+       g_print("\"GstElement.numsinkpads\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, numsinkpads));
+       g_print("\"GstElement.sinkpads\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, sinkpads));
+       g_print("\"GstElement.pads_cookie\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, pads_cookie));
+       g_print("\"GstElement.contexts\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstElement, contexts));
+       g_print("\"sizeof(GstGhostPadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstGhostPadClass));
+       g_print("\"sizeof(GstGhostPad)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstGhostPad));
+       g_print("\"GstGhostPad.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstGhostPad, priv));
+       g_print("\"sizeof(GstObjectClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstObjectClass));
+       g_print("\"GstObjectClass.path_string_separator\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObjectClass, path_string_separator));
+       g_print("\"GstObjectClass.deep_notify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObjectClass, deep_notify));
+       g_print("\"sizeof(GstObject)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstObject));
+       g_print("\"GstObject.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObject, lock));
+       g_print("\"GstObject.name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObject, name));
+       g_print("\"GstObject.parent\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObject, parent));
+       g_print("\"GstObject.flags\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObject, flags));
+       g_print("\"GstObject.control_bindings\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObject, control_bindings));
+       g_print("\"GstObject.control_rate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObject, control_rate));
+       g_print("\"GstObject.last_sync\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstObject, last_sync));
+       g_print("\"sizeof(GstPadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPadClass));
+       g_print("\"GstPadClass.linked\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPadClass, linked));
+       g_print("\"GstPadClass.unlinked\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPadClass, unlinked));
+       g_print("\"sizeof(GstPad)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPad));
+       g_print("\"GstPad.element_private\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, element_private));
+       g_print("\"GstPad.padtemplate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, padtemplate));
+       g_print("\"GstPad.direction\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, direction));
+       g_print("\"GstPad.stream_rec_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, stream_rec_lock));
+       g_print("\"GstPad.task\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, task));
+       g_print("\"GstPad.block_cond\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, block_cond));
+       g_print("\"GstPad.probes\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, probes));
+       g_print("\"GstPad.mode\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, mode));
+       g_print("\"GstPad.activatefunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, activatefunc));
+       g_print("\"GstPad.activatedata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, activatedata));
+       g_print("\"GstPad.activatenotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, activatenotify));
+       g_print("\"GstPad.activatemodefunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, activatemodefunc));
+       g_print("\"GstPad.activatemodedata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, activatemodedata));
+       g_print("\"GstPad.activatemodenotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, activatemodenotify));
+       g_print("\"GstPad.peer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, peer));
+       g_print("\"GstPad.linkfunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, linkfunc));
+       g_print("\"GstPad.linkdata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, linkdata));
+       g_print("\"GstPad.linknotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, linknotify));
+       g_print("\"GstPad.unlinkfunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, unlinkfunc));
+       g_print("\"GstPad.unlinkdata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, unlinkdata));
+       g_print("\"GstPad.unlinknotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, unlinknotify));
+       g_print("\"GstPad.chainfunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, chainfunc));
+       g_print("\"GstPad.chaindata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, chaindata));
+       g_print("\"GstPad.chainnotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, chainnotify));
+       g_print("\"GstPad.chainlistfunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, chainlistfunc));
+       g_print("\"GstPad.chainlistdata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, chainlistdata));
+       g_print("\"GstPad.chainlistnotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, chainlistnotify));
+       g_print("\"GstPad.getrangefunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, getrangefunc));
+       g_print("\"GstPad.getrangedata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, getrangedata));
+       g_print("\"GstPad.getrangenotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, getrangenotify));
+       g_print("\"GstPad.eventfunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, eventfunc));
+       g_print("\"GstPad.eventdata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, eventdata));
+       g_print("\"GstPad.eventnotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, eventnotify));
+       g_print("\"GstPad.offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, offset));
+       g_print("\"GstPad.queryfunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, queryfunc));
+       g_print("\"GstPad.querydata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, querydata));
+       g_print("\"GstPad.querynotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, querynotify));
+       g_print("\"GstPad.iterintlinkfunc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, iterintlinkfunc));
+       g_print("\"GstPad.iterintlinkdata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, iterintlinkdata));
+       g_print("\"GstPad.iterintlinknotify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, iterintlinknotify));
+       g_print("\"GstPad.num_probes\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, num_probes));
+       g_print("\"GstPad.num_blocked\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, num_blocked));
+       g_print("\"GstPad.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPad, priv));
+       g_print("\"sizeof(GstPadTemplateClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPadTemplateClass));
+       g_print("\"GstPadTemplateClass.pad_created\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPadTemplateClass, pad_created));
+       g_print("\"sizeof(GstPadTemplate)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPadTemplate));
+       g_print("\"GstPadTemplate.name_template\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPadTemplate, name_template));
+       g_print("\"GstPadTemplate.direction\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPadTemplate, direction));
+       g_print("\"GstPadTemplate.presence\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPadTemplate, presence));
+       g_print("\"GstPadTemplate.caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPadTemplate, caps));
+       g_print("\"sizeof(GstPipelineClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPipelineClass));
+       g_print("\"sizeof(GstPipeline)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPipeline));
+       g_print("\"GstPipeline.fixed_clock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPipeline, fixed_clock));
+       g_print("\"GstPipeline.stream_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPipeline, stream_time));
+       g_print("\"GstPipeline.delay\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPipeline, delay));
+       g_print("\"GstPipeline.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPipeline, priv));
+       g_print("\"sizeof(GstProxyPadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstProxyPadClass));
+       g_print("\"sizeof(GstProxyPad)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstProxyPad));
+       g_print("\"GstProxyPad.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstProxyPad, priv));
+       g_print("\"sizeof(GstRegistry)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRegistry));
+       g_print("\"GstRegistry.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRegistry, priv));
+       g_print("\"sizeof(GstStreamClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstStreamClass));
+       g_print("\"sizeof(GstStream)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstStream));
+       g_print("\"GstStream.stream_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstStream, stream_id));
+       g_print("\"GstStream.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstStream, priv));
+       g_print("\"sizeof(GstStreamCollectionClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstStreamCollectionClass));
+       g_print("\"GstStreamCollectionClass.stream_notify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstStreamCollectionClass, stream_notify));
+       g_print("\"sizeof(GstStreamCollection)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstStreamCollection));
+       g_print("\"GstStreamCollection.upstream_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstStreamCollection, upstream_id));
+       g_print("\"GstStreamCollection.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstStreamCollection, priv));
+       g_print("\"sizeof(GstSystemClockClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstSystemClockClass));
+       g_print("\"sizeof(GstSystemClock)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstSystemClock));
+       g_print("\"GstSystemClock.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSystemClock, priv));
+       g_print("\"sizeof(GstTaskClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTaskClass));
+       g_print("\"GstTaskClass.pool\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskClass, pool));
+       g_print("\"sizeof(GstTask)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTask));
+       g_print("\"GstTask.state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, state));
+       g_print("\"GstTask.cond\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, cond));
+       g_print("\"GstTask.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, lock));
+       g_print("\"GstTask.func\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, func));
+       g_print("\"GstTask.user_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, user_data));
+       g_print("\"GstTask.notify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, notify));
+       g_print("\"GstTask.running\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, running));
+       g_print("\"GstTask.thread\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, thread));
+       g_print("\"GstTask.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTask, priv));
+       g_print("\"sizeof(GstTaskPoolClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTaskPoolClass));
+       g_print("\"GstTaskPoolClass.prepare\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, prepare));
+       g_print("\"GstTaskPoolClass.cleanup\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, cleanup));
+       g_print("\"GstTaskPoolClass.push\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, push));
+       g_print("\"GstTaskPoolClass.join\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, join));
+       g_print("\"sizeof(GstTaskPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTaskPool));
+       g_print("\"GstTaskPool.pool\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPool, pool));
+       g_print("\"sizeof(GstTracerClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTracerClass));
+       g_print("\"sizeof(GstTracer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTracer));
+       g_print("\"GstTracer.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTracer, priv));
+       g_print("\"sizeof(GstBuffer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBuffer));
+       g_print("\"GstBuffer.pool\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBuffer, pool));
+       g_print("\"GstBuffer.pts\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBuffer, pts));
+       g_print("\"GstBuffer.dts\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBuffer, dts));
+       g_print("\"GstBuffer.duration\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBuffer, duration));
+       g_print("\"GstBuffer.offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBuffer, offset));
+       g_print("\"GstBuffer.offset_end\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBuffer, offset_end));
+       g_print("\"sizeof(GstClockEntry)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstClockEntry));
+       g_print("\"GstClockEntry.refcount\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, refcount));
+       g_print("\"GstClockEntry.clock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, clock));
+       g_print("\"GstClockEntry.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, type));
+       g_print("\"GstClockEntry.time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, time));
+       g_print("\"GstClockEntry.interval\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, interval));
+       g_print("\"GstClockEntry.status\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, status));
+       g_print("\"GstClockEntry.func\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, func));
+       g_print("\"GstClockEntry.user_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, user_data));
+       g_print("\"GstClockEntry.destroy_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, destroy_data));
+       g_print("\"GstClockEntry.unscheduled\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, unscheduled));
+       g_print("\"GstClockEntry.woken_up\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstClockEntry, woken_up));
+       g_print("\"sizeof(GstEvent)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstEvent));
+       g_print("\"GstEvent.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstEvent, type));
+       g_print("\"GstEvent.timestamp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstEvent, timestamp));
+       g_print("\"GstEvent.seqnum\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstEvent, seqnum));
+       g_print("\"sizeof(GstIterator)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstIterator));
+       g_print("\"GstIterator.copy\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, copy));
+       g_print("\"GstIterator.next\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, next));
+       g_print("\"GstIterator.item\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, item));
+       g_print("\"GstIterator.resync\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, resync));
+       g_print("\"GstIterator.free\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, free));
+       g_print("\"GstIterator.pushed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, pushed));
+       g_print("\"GstIterator.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, type));
+       g_print("\"GstIterator.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, lock));
+       g_print("\"GstIterator.cookie\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, cookie));
+       g_print("\"GstIterator.master_cookie\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, master_cookie));
+       g_print("\"GstIterator.size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstIterator, size));
+       g_print("\"sizeof(GstMemory)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstMemory));
+       g_print("\"GstMemory.allocator\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMemory, allocator));
+       g_print("\"GstMemory.parent\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMemory, parent));
+       g_print("\"GstMemory.maxsize\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMemory, maxsize));
+       g_print("\"GstMemory.align\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMemory, align));
+       g_print("\"GstMemory.offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMemory, offset));
+       g_print("\"GstMemory.size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMemory, size));
+       g_print("\"sizeof(GstMessage)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstMessage));
+       g_print("\"GstMessage.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMessage, type));
+       g_print("\"GstMessage.timestamp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMessage, timestamp));
+       g_print("\"GstMessage.src\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMessage, src));
+       g_print("\"GstMessage.seqnum\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMessage, seqnum));
+       g_print("\"GstMessage.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMessage, lock));
+       g_print("\"GstMessage.cond\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMessage, cond));
+       g_print("\"sizeof(GstMiniObject)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstMiniObject));
+       g_print("\"GstMiniObject.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, type));
+       g_print("\"GstMiniObject.refcount\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, refcount));
+       g_print("\"GstMiniObject.lockstate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, lockstate));
+       g_print("\"GstMiniObject.flags\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, flags));
+       g_print("\"GstMiniObject.copy\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, copy));
+       g_print("\"GstMiniObject.dispose\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, dispose));
+       g_print("\"GstMiniObject.free\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, free));
+       g_print("\"GstMiniObject.n_qdata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, n_qdata));
+       g_print("\"GstMiniObject.qdata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, qdata));
+       g_print("\"sizeof(GstQuery)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstQuery));
+       g_print("\"GstQuery.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstQuery, type));
+       g_print("\"sizeof(GstStructure)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstStructure));
+       g_print("\"GstStructure.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstStructure, type));
+       g_print("\"GstStructure.name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstStructure, name));
+       g_print("\"sizeof(GstTypeFind)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTypeFind));
+       g_print("\"GstTypeFind.peek\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTypeFind, peek));
+       g_print("\"GstTypeFind.suggest\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTypeFind, suggest));
+       g_print("\"GstTypeFind.data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTypeFind, data));
+       g_print("\"GstTypeFind.get_length\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTypeFind, get_length));
+       g_print("\"sizeof(GstAppSinkClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAppSinkClass));
+       g_print("\"GstAppSinkClass.eos\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSinkClass, eos));
+       g_print("\"GstAppSinkClass.new_preroll\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSinkClass, new_preroll));
+       g_print("\"GstAppSinkClass.new_sample\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSinkClass, new_sample));
+       g_print("\"GstAppSinkClass.pull_preroll\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSinkClass, pull_preroll));
+       g_print("\"GstAppSinkClass.pull_sample\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSinkClass, pull_sample));
+       g_print("\"GstAppSinkClass.try_pull_preroll\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSinkClass, try_pull_preroll));
+       g_print("\"GstAppSinkClass.try_pull_sample\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSinkClass, try_pull_sample));
+       g_print("\"sizeof(GstAppSink)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAppSink));
+       g_print("\"GstAppSink.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSink, priv));
+       g_print("\"sizeof(GstAppSrcClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAppSrcClass));
+       g_print("\"GstAppSrcClass.need_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSrcClass, need_data));
+       g_print("\"GstAppSrcClass.enough_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSrcClass, enough_data));
+       g_print("\"GstAppSrcClass.seek_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSrcClass, seek_data));
+       g_print("\"GstAppSrcClass.push_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSrcClass, push_buffer));
+       g_print("\"GstAppSrcClass.end_of_stream\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSrcClass, end_of_stream));
+       g_print("\"GstAppSrcClass.push_sample\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSrcClass, push_sample));
+       g_print("\"GstAppSrcClass.push_buffer_list\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSrcClass, push_buffer_list));
+       g_print("\"sizeof(GstAppSrc)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAppSrc));
+       g_print("\"GstAppSrc.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAppSrc, priv));
+       g_print("\"sizeof(GstAudioBaseSinkClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioBaseSinkClass));
+       g_print("\"GstAudioBaseSinkClass.create_ringbuffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSinkClass, create_ringbuffer));
+       g_print("\"GstAudioBaseSinkClass.payload\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSinkClass, payload));
+       g_print("\"sizeof(GstAudioBaseSink)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioBaseSink));
+       g_print("\"GstAudioBaseSink.ringbuffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSink, ringbuffer));
+       g_print("\"GstAudioBaseSink.buffer_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSink, buffer_time));
+       g_print("\"GstAudioBaseSink.latency_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSink, latency_time));
+       g_print("\"GstAudioBaseSink.next_sample\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSink, next_sample));
+       g_print("\"GstAudioBaseSink.provided_clock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSink, provided_clock));
+       g_print("\"GstAudioBaseSink.eos_rendering\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSink, eos_rendering));
+       g_print("\"GstAudioBaseSink.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSink, priv));
+       g_print("\"sizeof(GstAudioBaseSrcClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioBaseSrcClass));
+       g_print("\"GstAudioBaseSrcClass.create_ringbuffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSrcClass, create_ringbuffer));
+       g_print("\"sizeof(GstAudioBaseSrc)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioBaseSrc));
+       g_print("\"GstAudioBaseSrc.ringbuffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSrc, ringbuffer));
+       g_print("\"GstAudioBaseSrc.buffer_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSrc, buffer_time));
+       g_print("\"GstAudioBaseSrc.latency_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSrc, latency_time));
+       g_print("\"GstAudioBaseSrc.next_sample\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSrc, next_sample));
+       g_print("\"GstAudioBaseSrc.clock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSrc, clock));
+       g_print("\"GstAudioBaseSrc.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioBaseSrc, priv));
+       g_print("\"sizeof(GstAudioCdSrcClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioCdSrcClass));
+       g_print("\"GstAudioCdSrcClass.open\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioCdSrcClass, open));
+       g_print("\"GstAudioCdSrcClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioCdSrcClass, close));
+       g_print("\"GstAudioCdSrcClass.read_sector\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioCdSrcClass, read_sector));
+       g_print("\"sizeof(GstAudioCdSrc)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioCdSrc));
+       g_print("\"GstAudioCdSrc.tags\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioCdSrc, tags));
+       g_print("\"GstAudioCdSrc.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioCdSrc, priv));
+       g_print("\"sizeof(GstAudioClockClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioClockClass));
+       g_print("\"sizeof(GstAudioClock)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioClock));
+       g_print("\"GstAudioClock.func\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioClock, func));
+       g_print("\"GstAudioClock.user_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioClock, user_data));
+       g_print("\"GstAudioClock.destroy_notify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioClock, destroy_notify));
+       g_print("\"GstAudioClock.last_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioClock, last_time));
+       g_print("\"GstAudioClock.time_offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioClock, time_offset));
+       g_print("\"sizeof(GstAudioDecoderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioDecoderClass));
+       g_print("\"GstAudioDecoderClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, start));
+       g_print("\"GstAudioDecoderClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, stop));
+       g_print("\"GstAudioDecoderClass.set_format\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, set_format));
+       g_print("\"GstAudioDecoderClass.parse\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, parse));
+       g_print("\"GstAudioDecoderClass.handle_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, handle_frame));
+       g_print("\"GstAudioDecoderClass.flush\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, flush));
+       g_print("\"GstAudioDecoderClass.pre_push\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, pre_push));
+       g_print("\"GstAudioDecoderClass.sink_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, sink_event));
+       g_print("\"GstAudioDecoderClass.src_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, src_event));
+       g_print("\"GstAudioDecoderClass.open\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, open));
+       g_print("\"GstAudioDecoderClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, close));
+       g_print("\"GstAudioDecoderClass.negotiate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, negotiate));
+       g_print("\"GstAudioDecoderClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, decide_allocation));
+       g_print("\"GstAudioDecoderClass.propose_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, propose_allocation));
+       g_print("\"GstAudioDecoderClass.sink_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, sink_query));
+       g_print("\"GstAudioDecoderClass.src_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, src_query));
+       g_print("\"GstAudioDecoderClass.getcaps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, getcaps));
+       g_print("\"GstAudioDecoderClass.transform_meta\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoderClass, transform_meta));
+       g_print("\"sizeof(GstAudioDecoder)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioDecoder));
+       g_print("\"GstAudioDecoder.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoder, sinkpad));
+       g_print("\"GstAudioDecoder.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoder, srcpad));
+       g_print("\"GstAudioDecoder.stream_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoder, stream_lock));
+       g_print("\"GstAudioDecoder.input_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoder, input_segment));
+       g_print("\"GstAudioDecoder.output_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoder, output_segment));
+       g_print("\"GstAudioDecoder.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioDecoder, priv));
+       g_print("\"sizeof(GstAudioEncoderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioEncoderClass));
+       g_print("\"GstAudioEncoderClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, start));
+       g_print("\"GstAudioEncoderClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, stop));
+       g_print("\"GstAudioEncoderClass.set_format\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, set_format));
+       g_print("\"GstAudioEncoderClass.handle_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, handle_frame));
+       g_print("\"GstAudioEncoderClass.flush\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, flush));
+       g_print("\"GstAudioEncoderClass.pre_push\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, pre_push));
+       g_print("\"GstAudioEncoderClass.sink_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, sink_event));
+       g_print("\"GstAudioEncoderClass.src_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, src_event));
+       g_print("\"GstAudioEncoderClass.getcaps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, getcaps));
+       g_print("\"GstAudioEncoderClass.open\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, open));
+       g_print("\"GstAudioEncoderClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, close));
+       g_print("\"GstAudioEncoderClass.negotiate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, negotiate));
+       g_print("\"GstAudioEncoderClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, decide_allocation));
+       g_print("\"GstAudioEncoderClass.propose_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, propose_allocation));
+       g_print("\"GstAudioEncoderClass.transform_meta\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, transform_meta));
+       g_print("\"GstAudioEncoderClass.sink_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, sink_query));
+       g_print("\"GstAudioEncoderClass.src_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoderClass, src_query));
+       g_print("\"sizeof(GstAudioEncoder)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioEncoder));
+       g_print("\"GstAudioEncoder.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoder, sinkpad));
+       g_print("\"GstAudioEncoder.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoder, srcpad));
+       g_print("\"GstAudioEncoder.stream_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoder, stream_lock));
+       g_print("\"GstAudioEncoder.input_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoder, input_segment));
+       g_print("\"GstAudioEncoder.output_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoder, output_segment));
+       g_print("\"GstAudioEncoder.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioEncoder, priv));
+       g_print("\"sizeof(GstAudioFilterClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioFilterClass));
+       g_print("\"GstAudioFilterClass.setup\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioFilterClass, setup));
+       g_print("\"sizeof(GstAudioFilter)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioFilter));
+       g_print("\"GstAudioFilter.info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioFilter, info));
+       g_print("\"sizeof(GstAudioRingBufferClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioRingBufferClass));
+       g_print("\"GstAudioRingBufferClass.open_device\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, open_device));
+       g_print("\"GstAudioRingBufferClass.acquire\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, acquire));
+       g_print("\"GstAudioRingBufferClass.release\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, release));
+       g_print("\"GstAudioRingBufferClass.close_device\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, close_device));
+       g_print("\"GstAudioRingBufferClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, start));
+       g_print("\"GstAudioRingBufferClass.pause\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, pause));
+       g_print("\"GstAudioRingBufferClass.resume\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, resume));
+       g_print("\"GstAudioRingBufferClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, stop));
+       g_print("\"GstAudioRingBufferClass.delay\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, delay));
+       g_print("\"GstAudioRingBufferClass.activate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, activate));
+       g_print("\"GstAudioRingBufferClass.commit\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, commit));
+       g_print("\"GstAudioRingBufferClass.clear_all\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferClass, clear_all));
+       g_print("\"sizeof(GstAudioRingBuffer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioRingBuffer));
+       g_print("\"GstAudioRingBuffer.cond\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, cond));
+       g_print("\"GstAudioRingBuffer.open\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, open));
+       g_print("\"GstAudioRingBuffer.acquired\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, acquired));
+       g_print("\"GstAudioRingBuffer.memory\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, memory));
+       g_print("\"GstAudioRingBuffer.size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, size));
+       g_print("\"GstAudioRingBuffer.timestamps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, timestamps));
+       g_print("\"GstAudioRingBuffer.spec\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, spec));
+       g_print("\"GstAudioRingBuffer.samples_per_seg\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, samples_per_seg));
+       g_print("\"GstAudioRingBuffer.empty_seg\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, empty_seg));
+       g_print("\"GstAudioRingBuffer.state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, state));
+       g_print("\"GstAudioRingBuffer.segdone\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, segdone));
+       g_print("\"GstAudioRingBuffer.segbase\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, segbase));
+       g_print("\"GstAudioRingBuffer.waiting\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, waiting));
+       g_print("\"GstAudioRingBuffer.callback\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, callback));
+       g_print("\"GstAudioRingBuffer.cb_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, cb_data));
+       g_print("\"GstAudioRingBuffer.need_reorder\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, need_reorder));
+       g_print("\"GstAudioRingBuffer.channel_reorder_map\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, channel_reorder_map));
+       g_print("\"GstAudioRingBuffer.flushing\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, flushing));
+       g_print("\"GstAudioRingBuffer.may_start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, may_start));
+       g_print("\"GstAudioRingBuffer.active\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, active));
+       g_print("\"GstAudioRingBuffer.cb_data_notify\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBuffer, cb_data_notify));
+       g_print("\"sizeof(GstAudioSinkClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioSinkClass));
+       g_print("\"GstAudioSinkClass.open\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, open));
+       g_print("\"GstAudioSinkClass.prepare\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, prepare));
+       g_print("\"GstAudioSinkClass.unprepare\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, unprepare));
+       g_print("\"GstAudioSinkClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, close));
+       g_print("\"GstAudioSinkClass.write\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, write));
+       g_print("\"GstAudioSinkClass.delay\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, delay));
+       g_print("\"GstAudioSinkClass.reset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, reset));
+       g_print("\"sizeof(GstAudioSink)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioSink));
+       g_print("\"GstAudioSink.thread\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSink, thread));
+       g_print("\"sizeof(GstAudioSrcClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioSrcClass));
+       g_print("\"GstAudioSrcClass.open\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSrcClass, open));
+       g_print("\"GstAudioSrcClass.prepare\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSrcClass, prepare));
+       g_print("\"GstAudioSrcClass.unprepare\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSrcClass, unprepare));
+       g_print("\"GstAudioSrcClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSrcClass, close));
+       g_print("\"GstAudioSrcClass.read\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSrcClass, read));
+       g_print("\"GstAudioSrcClass.delay\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSrcClass, delay));
+       g_print("\"GstAudioSrcClass.reset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSrcClass, reset));
+       g_print("\"sizeof(GstAudioSrc)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioSrc));
+       g_print("\"GstAudioSrc.thread\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSrc, thread));
+       g_print("\"sizeof(GstAudioInfo)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioInfo));
+       g_print("\"GstAudioInfo.finfo\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioInfo, finfo));
+       g_print("\"GstAudioInfo.flags\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioInfo, flags));
+       g_print("\"GstAudioInfo.layout\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioInfo, layout));
+       g_print("\"GstAudioInfo.rate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioInfo, rate));
+       g_print("\"GstAudioInfo.channels\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioInfo, channels));
+       g_print("\"GstAudioInfo.bpf\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioInfo, bpf));
+       g_print("\"GstAudioInfo.position\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioInfo, position));
+       g_print("\"sizeof(GstAudioRingBufferSpec)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioRingBufferSpec));
+       g_print("\"GstAudioRingBufferSpec.caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferSpec, caps));
+       g_print("\"GstAudioRingBufferSpec.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferSpec, type));
+       g_print("\"GstAudioRingBufferSpec.info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferSpec, info));
+       g_print("\"GstAudioRingBufferSpec.latency_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferSpec, latency_time));
+       g_print("\"GstAudioRingBufferSpec.buffer_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferSpec, buffer_time));
+       g_print("\"GstAudioRingBufferSpec.segsize\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferSpec, segsize));
+       g_print("\"GstAudioRingBufferSpec.segtotal\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferSpec, segtotal));
+       g_print("\"GstAudioRingBufferSpec.seglatency\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioRingBufferSpec, seglatency));
+       g_print("\"sizeof(GstAggregatorClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAggregatorClass));
+       g_print("\"GstAggregatorClass.flush\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, flush));
+       g_print("\"GstAggregatorClass.clip\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, clip));
+       g_print("\"GstAggregatorClass.finish_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, finish_buffer));
+       g_print("\"GstAggregatorClass.sink_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, sink_event));
+       g_print("\"GstAggregatorClass.sink_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, sink_query));
+       g_print("\"GstAggregatorClass.src_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, src_event));
+       g_print("\"GstAggregatorClass.src_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, src_query));
+       g_print("\"GstAggregatorClass.src_activate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, src_activate));
+       g_print("\"GstAggregatorClass.aggregate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, aggregate));
+       g_print("\"GstAggregatorClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, stop));
+       g_print("\"GstAggregatorClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, start));
+       g_print("\"GstAggregatorClass.get_next_time\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, get_next_time));
+       g_print("\"GstAggregatorClass.create_new_pad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, create_new_pad));
+       g_print("\"GstAggregatorClass.update_src_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, update_src_caps));
+       g_print("\"GstAggregatorClass.fixate_src_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, fixate_src_caps));
+       g_print("\"GstAggregatorClass.negotiated_src_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, negotiated_src_caps));
+       g_print("\"GstAggregatorClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, decide_allocation));
+       g_print("\"GstAggregatorClass.propose_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, propose_allocation));
+       g_print("\"sizeof(GstAggregator)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAggregator));
+       g_print("\"GstAggregator.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregator, srcpad));
+       g_print("\"GstAggregator.segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregator, segment));
+       g_print("\"GstAggregator.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregator, priv));
+       g_print("\"sizeof(GstAggregatorPadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAggregatorPadClass));
+       g_print("\"GstAggregatorPadClass.flush\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorPadClass, flush));
+       g_print("\"GstAggregatorPadClass.skip_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorPadClass, skip_buffer));
+       g_print("\"sizeof(GstAggregatorPad)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAggregatorPad));
+       g_print("\"GstAggregatorPad.segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorPad, segment));
+       g_print("\"GstAggregatorPad.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorPad, priv));
+       g_print("\"sizeof(GstBaseParseClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBaseParseClass));
+       g_print("\"GstBaseParseClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, start));
+       g_print("\"GstBaseParseClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, stop));
+       g_print("\"GstBaseParseClass.set_sink_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, set_sink_caps));
+       g_print("\"GstBaseParseClass.handle_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, handle_frame));
+       g_print("\"GstBaseParseClass.pre_push_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, pre_push_frame));
+       g_print("\"GstBaseParseClass.convert\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, convert));
+       g_print("\"GstBaseParseClass.sink_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, sink_event));
+       g_print("\"GstBaseParseClass.src_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, src_event));
+       g_print("\"GstBaseParseClass.get_sink_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, get_sink_caps));
+       g_print("\"GstBaseParseClass.detect\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, detect));
+       g_print("\"GstBaseParseClass.sink_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, sink_query));
+       g_print("\"GstBaseParseClass.src_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParseClass, src_query));
+       g_print("\"sizeof(GstBaseParse)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBaseParse));
+       g_print("\"GstBaseParse.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParse, sinkpad));
+       g_print("\"GstBaseParse.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParse, srcpad));
+       g_print("\"GstBaseParse.flags\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParse, flags));
+       g_print("\"GstBaseParse.segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParse, segment));
+       g_print("\"GstBaseParse.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseParse, priv));
+       g_print("\"sizeof(GstBaseSinkClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBaseSinkClass));
+       g_print("\"GstBaseSinkClass.get_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, get_caps));
+       g_print("\"GstBaseSinkClass.set_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, set_caps));
+       g_print("\"GstBaseSinkClass.fixate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, fixate));
+       g_print("\"GstBaseSinkClass.activate_pull\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, activate_pull));
+       g_print("\"GstBaseSinkClass.get_times\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, get_times));
+       g_print("\"GstBaseSinkClass.propose_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, propose_allocation));
+       g_print("\"GstBaseSinkClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, start));
+       g_print("\"GstBaseSinkClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, stop));
+       g_print("\"GstBaseSinkClass.unlock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, unlock));
+       g_print("\"GstBaseSinkClass.unlock_stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, unlock_stop));
+       g_print("\"GstBaseSinkClass.query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, query));
+       g_print("\"GstBaseSinkClass.event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, event));
+       g_print("\"GstBaseSinkClass.wait_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, wait_event));
+       g_print("\"GstBaseSinkClass.prepare\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, prepare));
+       g_print("\"GstBaseSinkClass.prepare_list\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, prepare_list));
+       g_print("\"GstBaseSinkClass.preroll\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, preroll));
+       g_print("\"GstBaseSinkClass.render\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, render));
+       g_print("\"GstBaseSinkClass.render_list\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSinkClass, render_list));
+       g_print("\"sizeof(GstBaseSink)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBaseSink));
+       g_print("\"GstBaseSink.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, sinkpad));
+       g_print("\"GstBaseSink.pad_mode\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, pad_mode));
+       g_print("\"GstBaseSink.offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, offset));
+       g_print("\"GstBaseSink.can_activate_pull\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, can_activate_pull));
+       g_print("\"GstBaseSink.can_activate_push\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, can_activate_push));
+       g_print("\"GstBaseSink.preroll_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, preroll_lock));
+       g_print("\"GstBaseSink.preroll_cond\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, preroll_cond));
+       g_print("\"GstBaseSink.eos\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, eos));
+       g_print("\"GstBaseSink.need_preroll\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, need_preroll));
+       g_print("\"GstBaseSink.have_preroll\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, have_preroll));
+       g_print("\"GstBaseSink.playing_async\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, playing_async));
+       g_print("\"GstBaseSink.have_newsegment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, have_newsegment));
+       g_print("\"GstBaseSink.segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, segment));
+       g_print("\"GstBaseSink.clock_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, clock_id));
+       g_print("\"GstBaseSink.sync\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, sync));
+       g_print("\"GstBaseSink.flushing\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, flushing));
+       g_print("\"GstBaseSink.running\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, running));
+       g_print("\"GstBaseSink.max_lateness\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, max_lateness));
+       g_print("\"GstBaseSink.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSink, priv));
+       g_print("\"sizeof(GstBaseSrcClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBaseSrcClass));
+       g_print("\"GstBaseSrcClass.get_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, get_caps));
+       g_print("\"GstBaseSrcClass.negotiate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, negotiate));
+       g_print("\"GstBaseSrcClass.fixate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, fixate));
+       g_print("\"GstBaseSrcClass.set_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, set_caps));
+       g_print("\"GstBaseSrcClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, decide_allocation));
+       g_print("\"GstBaseSrcClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, start));
+       g_print("\"GstBaseSrcClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, stop));
+       g_print("\"GstBaseSrcClass.get_times\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, get_times));
+       g_print("\"GstBaseSrcClass.get_size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, get_size));
+       g_print("\"GstBaseSrcClass.is_seekable\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, is_seekable));
+       g_print("\"GstBaseSrcClass.prepare_seek_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, prepare_seek_segment));
+       g_print("\"GstBaseSrcClass.do_seek\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, do_seek));
+       g_print("\"GstBaseSrcClass.unlock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, unlock));
+       g_print("\"GstBaseSrcClass.unlock_stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, unlock_stop));
+       g_print("\"GstBaseSrcClass.query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, query));
+       g_print("\"GstBaseSrcClass.event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, event));
+       g_print("\"GstBaseSrcClass.create\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, create));
+       g_print("\"GstBaseSrcClass.alloc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, alloc));
+       g_print("\"GstBaseSrcClass.fill\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrcClass, fill));
+       g_print("\"sizeof(GstBaseSrc)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBaseSrc));
+       g_print("\"GstBaseSrc.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, srcpad));
+       g_print("\"GstBaseSrc.live_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, live_lock));
+       g_print("\"GstBaseSrc.live_cond\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, live_cond));
+       g_print("\"GstBaseSrc.is_live\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, is_live));
+       g_print("\"GstBaseSrc.live_running\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, live_running));
+       g_print("\"GstBaseSrc.blocksize\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, blocksize));
+       g_print("\"GstBaseSrc.can_activate_push\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, can_activate_push));
+       g_print("\"GstBaseSrc.random_access\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, random_access));
+       g_print("\"GstBaseSrc.clock_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, clock_id));
+       g_print("\"GstBaseSrc.segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, segment));
+       g_print("\"GstBaseSrc.need_newsegment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, need_newsegment));
+       g_print("\"GstBaseSrc.num_buffers\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, num_buffers));
+       g_print("\"GstBaseSrc.num_buffers_left\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, num_buffers_left));
+       g_print("\"GstBaseSrc.typefind\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, typefind));
+       g_print("\"GstBaseSrc.running\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, running));
+       g_print("\"GstBaseSrc.pending_seek\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, pending_seek));
+       g_print("\"GstBaseSrc.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseSrc, priv));
+       g_print("\"sizeof(GstBaseTransformClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBaseTransformClass));
+       g_print("\"GstBaseTransformClass.passthrough_on_same_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, passthrough_on_same_caps));
+       g_print("\"GstBaseTransformClass.transform_ip_on_passthrough\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, transform_ip_on_passthrough));
+       g_print("\"GstBaseTransformClass.transform_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, transform_caps));
+       g_print("\"GstBaseTransformClass.fixate_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, fixate_caps));
+       g_print("\"GstBaseTransformClass.accept_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, accept_caps));
+       g_print("\"GstBaseTransformClass.set_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, set_caps));
+       g_print("\"GstBaseTransformClass.query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, query));
+       g_print("\"GstBaseTransformClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, decide_allocation));
+       g_print("\"GstBaseTransformClass.filter_meta\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, filter_meta));
+       g_print("\"GstBaseTransformClass.propose_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, propose_allocation));
+       g_print("\"GstBaseTransformClass.transform_size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, transform_size));
+       g_print("\"GstBaseTransformClass.get_unit_size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, get_unit_size));
+       g_print("\"GstBaseTransformClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, start));
+       g_print("\"GstBaseTransformClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, stop));
+       g_print("\"GstBaseTransformClass.sink_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, sink_event));
+       g_print("\"GstBaseTransformClass.src_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, src_event));
+       g_print("\"GstBaseTransformClass.prepare_output_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, prepare_output_buffer));
+       g_print("\"GstBaseTransformClass.copy_metadata\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, copy_metadata));
+       g_print("\"GstBaseTransformClass.transform_meta\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, transform_meta));
+       g_print("\"GstBaseTransformClass.before_transform\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, before_transform));
+       g_print("\"GstBaseTransformClass.transform\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, transform));
+       g_print("\"GstBaseTransformClass.transform_ip\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, transform_ip));
+       g_print("\"GstBaseTransformClass.submit_input_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, submit_input_buffer));
+       g_print("\"GstBaseTransformClass.generate_output\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransformClass, generate_output));
+       g_print("\"sizeof(GstBaseTransform)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstBaseTransform));
+       g_print("\"GstBaseTransform.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransform, sinkpad));
+       g_print("\"GstBaseTransform.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransform, srcpad));
+       g_print("\"GstBaseTransform.have_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransform, have_segment));
+       g_print("\"GstBaseTransform.segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransform, segment));
+       g_print("\"GstBaseTransform.queued_buf\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransform, queued_buf));
+       g_print("\"GstBaseTransform.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstBaseTransform, priv));
+       g_print("\"sizeof(GstCollectPadsClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstCollectPadsClass));
+       g_print("\"sizeof(GstCollectPads)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstCollectPads));
+       g_print("\"GstCollectPads.data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstCollectPads, data));
+       g_print("\"GstCollectPads.stream_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstCollectPads, stream_lock));
+       g_print("\"GstCollectPads.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstCollectPads, priv));
+       g_print("\"sizeof(GstDataQueueClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDataQueueClass));
+       g_print("\"GstDataQueueClass.empty\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDataQueueClass, empty));
+       g_print("\"GstDataQueueClass.full\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDataQueueClass, full));
+       g_print("\"sizeof(GstDataQueue)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDataQueue));
+       g_print("\"GstDataQueue.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDataQueue, priv));
+       g_print("\"sizeof(GstPushSrcClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPushSrcClass));
+       g_print("\"GstPushSrcClass.create\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPushSrcClass, create));
+       g_print("\"GstPushSrcClass.alloc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPushSrcClass, alloc));
+       g_print("\"GstPushSrcClass.fill\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPushSrcClass, fill));
+       g_print("\"sizeof(GstPushSrc)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPushSrc));
+       g_print("\"sizeof(GstByteReader)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstByteReader));
+       g_print("\"GstByteReader.data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstByteReader, data));
+       g_print("\"GstByteReader.size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstByteReader, size));
+       g_print("\"GstByteReader.byte\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstByteReader, byte));
+       g_print("\"sizeof(GstARGBControlBindingClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstARGBControlBindingClass));
+       g_print("\"sizeof(GstARGBControlBinding)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstARGBControlBinding));
+       g_print("\"GstARGBControlBinding.cs_a\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstARGBControlBinding, cs_a));
+       g_print("\"GstARGBControlBinding.cs_r\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstARGBControlBinding, cs_r));
+       g_print("\"GstARGBControlBinding.cs_g\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstARGBControlBinding, cs_g));
+       g_print("\"GstARGBControlBinding.cs_b\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstARGBControlBinding, cs_b));
+       g_print("\"GstARGBControlBinding.cur_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstARGBControlBinding, cur_value));
+       g_print("\"GstARGBControlBinding.last_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstARGBControlBinding, last_value));
+       g_print("\"sizeof(GstDirectControlBindingClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDirectControlBindingClass));
+       g_print("\"sizeof(GstDirectControlBinding)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDirectControlBinding));
+       g_print("\"GstDirectControlBinding.cs\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDirectControlBinding, cs));
+       g_print("\"GstDirectControlBinding.cur_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDirectControlBinding, cur_value));
+       g_print("\"GstDirectControlBinding.last_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDirectControlBinding, last_value));
+       g_print("\"GstDirectControlBinding.byte_size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDirectControlBinding, byte_size));
+       g_print("\"GstDirectControlBinding.convert_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDirectControlBinding, convert_value));
+       g_print("\"GstDirectControlBinding.convert_g_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDirectControlBinding, convert_g_value));
+       g_print("\"sizeof(GstInterpolationControlSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstInterpolationControlSourceClass));
+       g_print("\"sizeof(GstInterpolationControlSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstInterpolationControlSource));
+       g_print("\"GstInterpolationControlSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstInterpolationControlSource, priv));
+       g_print("\"sizeof(GstLFOControlSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstLFOControlSourceClass));
+       g_print("\"sizeof(GstLFOControlSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstLFOControlSource));
+       g_print("\"GstLFOControlSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstLFOControlSource, priv));
+       g_print("\"GstLFOControlSource.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstLFOControlSource, lock));
+       g_print("\"sizeof(GstTimedValueControlSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTimedValueControlSourceClass));
+       g_print("\"sizeof(GstTimedValueControlSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTimedValueControlSource));
+       g_print("\"GstTimedValueControlSource.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTimedValueControlSource, lock));
+       g_print("\"GstTimedValueControlSource.values\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTimedValueControlSource, values));
+       g_print("\"GstTimedValueControlSource.nvalues\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTimedValueControlSource, nvalues));
+       g_print("\"GstTimedValueControlSource.valid_cache\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTimedValueControlSource, valid_cache));
+       g_print("\"GstTimedValueControlSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTimedValueControlSource, priv));
+       g_print("\"sizeof(GstTriggerControlSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTriggerControlSourceClass));
+       g_print("\"sizeof(GstTriggerControlSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTriggerControlSource));
+       g_print("\"GstTriggerControlSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTriggerControlSource, priv));
+       g_print("\"sizeof(GstNetClientClockClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstNetClientClockClass));
+       g_print("\"sizeof(GstNetClientClock)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstNetClientClock));
+       g_print("\"GstNetClientClock.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstNetClientClock, priv));
+       g_print("\"sizeof(GstNetTimeProviderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstNetTimeProviderClass));
+       g_print("\"sizeof(GstNetTimeProvider)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstNetTimeProvider));
+       g_print("\"GstNetTimeProvider.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstNetTimeProvider, priv));
+       g_print("\"sizeof(GstPtpClockClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPtpClockClass));
+       g_print("\"sizeof(GstPtpClock)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstPtpClock));
+       g_print("\"GstPtpClock.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstPtpClock, priv));
+       g_print("\"sizeof(GstAudioVisualizerClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioVisualizerClass));
+       g_print("\"GstAudioVisualizerClass.setup\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioVisualizerClass, setup));
+       g_print("\"GstAudioVisualizerClass.render\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioVisualizerClass, render));
+       g_print("\"GstAudioVisualizerClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioVisualizerClass, decide_allocation));
+       g_print("\"sizeof(GstAudioVisualizer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioVisualizer));
+       g_print("\"GstAudioVisualizer.req_spf\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioVisualizer, req_spf));
+       g_print("\"GstAudioVisualizer.vinfo\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioVisualizer, vinfo));
+       g_print("\"GstAudioVisualizer.ainfo\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioVisualizer, ainfo));
+       g_print("\"GstAudioVisualizer.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioVisualizer, priv));
+       g_print("\"sizeof(GstDiscovererClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDiscovererClass));
+       g_print("\"GstDiscovererClass.finished\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDiscovererClass, finished));
+       g_print("\"GstDiscovererClass.starting\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDiscovererClass, starting));
+       g_print("\"GstDiscovererClass.discovered\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDiscovererClass, discovered));
+       g_print("\"GstDiscovererClass.source_setup\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDiscovererClass, source_setup));
+       g_print("\"GstDiscovererClass._reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDiscovererClass, _reserved));
+       g_print("\"sizeof(GstDiscoverer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstDiscoverer));
+       g_print("\"GstDiscoverer.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDiscoverer, priv));
+       g_print("\"GstDiscoverer._reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstDiscoverer, _reserved));
+       g_print("\"sizeof(GstRTPBaseAudioPayloadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTPBaseAudioPayloadClass));
+       g_print("\"sizeof(GstRTPBaseAudioPayload)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTPBaseAudioPayload));
+       g_print("\"GstRTPBaseAudioPayload.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseAudioPayload, priv));
+       g_print("\"GstRTPBaseAudioPayload.base_ts\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseAudioPayload, base_ts));
+       g_print("\"GstRTPBaseAudioPayload.frame_size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseAudioPayload, frame_size));
+       g_print("\"GstRTPBaseAudioPayload.frame_duration\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseAudioPayload, frame_duration));
+       g_print("\"GstRTPBaseAudioPayload.sample_size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseAudioPayload, sample_size));
+       g_print("\"sizeof(GstRTPBaseDepayloadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTPBaseDepayloadClass));
+       g_print("\"GstRTPBaseDepayloadClass.set_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayloadClass, set_caps));
+       g_print("\"GstRTPBaseDepayloadClass.process\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayloadClass, process));
+       g_print("\"GstRTPBaseDepayloadClass.packet_lost\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayloadClass, packet_lost));
+       g_print("\"GstRTPBaseDepayloadClass.handle_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayloadClass, handle_event));
+       g_print("\"GstRTPBaseDepayloadClass.process_rtp_packet\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayloadClass, process_rtp_packet));
+       g_print("\"sizeof(GstRTPBaseDepayload)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTPBaseDepayload));
+       g_print("\"GstRTPBaseDepayload.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayload, sinkpad));
+       g_print("\"GstRTPBaseDepayload.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayload, srcpad));
+       g_print("\"GstRTPBaseDepayload.clock_rate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayload, clock_rate));
+       g_print("\"GstRTPBaseDepayload.segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayload, segment));
+       g_print("\"GstRTPBaseDepayload.need_newsegment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayload, need_newsegment));
+       g_print("\"GstRTPBaseDepayload.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBaseDepayload, priv));
+       g_print("\"sizeof(GstRTPBasePayloadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTPBasePayloadClass));
+       g_print("\"GstRTPBasePayloadClass.get_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayloadClass, get_caps));
+       g_print("\"GstRTPBasePayloadClass.set_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayloadClass, set_caps));
+       g_print("\"GstRTPBasePayloadClass.handle_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayloadClass, handle_buffer));
+       g_print("\"GstRTPBasePayloadClass.sink_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayloadClass, sink_event));
+       g_print("\"GstRTPBasePayloadClass.src_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayloadClass, src_event));
+       g_print("\"GstRTPBasePayloadClass.query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayloadClass, query));
+       g_print("\"sizeof(GstRTPBasePayload)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTPBasePayload));
+       g_print("\"GstRTPBasePayload.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, sinkpad));
+       g_print("\"GstRTPBasePayload.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, srcpad));
+       g_print("\"GstRTPBasePayload.ts_base\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, ts_base));
+       g_print("\"GstRTPBasePayload.seqnum_base\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, seqnum_base));
+       g_print("\"GstRTPBasePayload.media\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, media));
+       g_print("\"GstRTPBasePayload.encoding_name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, encoding_name));
+       g_print("\"GstRTPBasePayload.dynamic\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, dynamic));
+       g_print("\"GstRTPBasePayload.clock_rate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, clock_rate));
+       g_print("\"GstRTPBasePayload.ts_offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, ts_offset));
+       g_print("\"GstRTPBasePayload.timestamp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, timestamp));
+       g_print("\"GstRTPBasePayload.seqnum_offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, seqnum_offset));
+       g_print("\"GstRTPBasePayload.seqnum\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, seqnum));
+       g_print("\"GstRTPBasePayload.max_ptime\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, max_ptime));
+       g_print("\"GstRTPBasePayload.pt\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, pt));
+       g_print("\"GstRTPBasePayload.ssrc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, ssrc));
+       g_print("\"GstRTPBasePayload.current_ssrc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, current_ssrc));
+       g_print("\"GstRTPBasePayload.mtu\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, mtu));
+       g_print("\"GstRTPBasePayload.segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, segment));
+       g_print("\"GstRTPBasePayload.min_ptime\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, min_ptime));
+       g_print("\"GstRTPBasePayload.ptime\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, ptime));
+       g_print("\"GstRTPBasePayload.ptime_multiple\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, ptime_multiple));
+       g_print("\"GstRTPBasePayload.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTPBasePayload, priv));
+       g_print("\"sizeof(GstMIKEYMessage)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstMIKEYMessage));
+       g_print("\"GstMIKEYMessage.version\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYMessage, version));
+       g_print("\"GstMIKEYMessage.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYMessage, type));
+       g_print("\"GstMIKEYMessage.V\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYMessage, V));
+       g_print("\"GstMIKEYMessage.prf_func\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYMessage, prf_func));
+       g_print("\"GstMIKEYMessage.CSB_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYMessage, CSB_id));
+       g_print("\"GstMIKEYMessage.map_type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYMessage, map_type));
+       g_print("\"GstMIKEYMessage.map_info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYMessage, map_info));
+       g_print("\"GstMIKEYMessage.payloads\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYMessage, payloads));
+       g_print("\"sizeof(GstMIKEYPayload)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstMIKEYPayload));
+       g_print("\"GstMIKEYPayload.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYPayload, type));
+       g_print("\"GstMIKEYPayload.len\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMIKEYPayload, len));
+       g_print("\"sizeof(GstTagDemuxClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTagDemuxClass));
+       g_print("\"GstTagDemuxClass.min_start_size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagDemuxClass, min_start_size));
+       g_print("\"GstTagDemuxClass.min_end_size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagDemuxClass, min_end_size));
+       g_print("\"GstTagDemuxClass.identify_tag\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagDemuxClass, identify_tag));
+       g_print("\"GstTagDemuxClass.parse_tag\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagDemuxClass, parse_tag));
+       g_print("\"GstTagDemuxClass.merge_tags\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagDemuxClass, merge_tags));
+       g_print("\"GstTagDemuxClass.reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagDemuxClass, reserved));
+       g_print("\"sizeof(GstTagDemux)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTagDemux));
+       g_print("\"GstTagDemux.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagDemux, priv));
+       g_print("\"GstTagDemux.reserved\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagDemux, reserved));
+       g_print("\"sizeof(GstTagMuxClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTagMuxClass));
+       g_print("\"GstTagMuxClass.render_start_tag\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagMuxClass, render_start_tag));
+       g_print("\"GstTagMuxClass.render_end_tag\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagMuxClass, render_end_tag));
+       g_print("\"sizeof(GstTagMux)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTagMux));
+       g_print("\"GstTagMux.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTagMux, priv));
+       g_print("\"sizeof(GstColorBalanceChannelClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstColorBalanceChannelClass));
+       g_print("\"GstColorBalanceChannelClass.value_changed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstColorBalanceChannelClass, value_changed));
+       g_print("\"sizeof(GstColorBalanceChannel)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstColorBalanceChannel));
+       g_print("\"GstColorBalanceChannel.label\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstColorBalanceChannel, label));
+       g_print("\"GstColorBalanceChannel.min_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstColorBalanceChannel, min_value));
+       g_print("\"GstColorBalanceChannel.max_value\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstColorBalanceChannel, max_value));
+       g_print("\"sizeof(GstVideoBufferPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoBufferPool));
+       g_print("\"GstVideoBufferPool.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoBufferPool, priv));
+       g_print("\"sizeof(GstVideoDecoderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoDecoderClass));
+       g_print("\"GstVideoDecoderClass.open\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, open));
+       g_print("\"GstVideoDecoderClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, close));
+       g_print("\"GstVideoDecoderClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, start));
+       g_print("\"GstVideoDecoderClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, stop));
+       g_print("\"GstVideoDecoderClass.parse\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, parse));
+       g_print("\"GstVideoDecoderClass.set_format\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, set_format));
+       g_print("\"GstVideoDecoderClass.reset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, reset));
+       g_print("\"GstVideoDecoderClass.finish\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, finish));
+       g_print("\"GstVideoDecoderClass.handle_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, handle_frame));
+       g_print("\"GstVideoDecoderClass.sink_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, sink_event));
+       g_print("\"GstVideoDecoderClass.src_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, src_event));
+       g_print("\"GstVideoDecoderClass.negotiate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, negotiate));
+       g_print("\"GstVideoDecoderClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, decide_allocation));
+       g_print("\"GstVideoDecoderClass.propose_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, propose_allocation));
+       g_print("\"GstVideoDecoderClass.flush\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, flush));
+       g_print("\"GstVideoDecoderClass.sink_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, sink_query));
+       g_print("\"GstVideoDecoderClass.src_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, src_query));
+       g_print("\"GstVideoDecoderClass.getcaps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, getcaps));
+       g_print("\"GstVideoDecoderClass.drain\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, drain));
+       g_print("\"GstVideoDecoderClass.transform_meta\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoderClass, transform_meta));
+       g_print("\"sizeof(GstVideoDecoder)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoDecoder));
+       g_print("\"GstVideoDecoder.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoder, sinkpad));
+       g_print("\"GstVideoDecoder.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoder, srcpad));
+       g_print("\"GstVideoDecoder.stream_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoder, stream_lock));
+       g_print("\"GstVideoDecoder.input_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoder, input_segment));
+       g_print("\"GstVideoDecoder.output_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoder, output_segment));
+       g_print("\"GstVideoDecoder.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoDecoder, priv));
+       g_print("\"sizeof(GstVideoEncoderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoEncoderClass));
+       g_print("\"GstVideoEncoderClass.open\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, open));
+       g_print("\"GstVideoEncoderClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, close));
+       g_print("\"GstVideoEncoderClass.start\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, start));
+       g_print("\"GstVideoEncoderClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, stop));
+       g_print("\"GstVideoEncoderClass.set_format\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, set_format));
+       g_print("\"GstVideoEncoderClass.handle_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, handle_frame));
+       g_print("\"GstVideoEncoderClass.reset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, reset));
+       g_print("\"GstVideoEncoderClass.finish\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, finish));
+       g_print("\"GstVideoEncoderClass.pre_push\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, pre_push));
+       g_print("\"GstVideoEncoderClass.getcaps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, getcaps));
+       g_print("\"GstVideoEncoderClass.sink_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, sink_event));
+       g_print("\"GstVideoEncoderClass.src_event\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, src_event));
+       g_print("\"GstVideoEncoderClass.negotiate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, negotiate));
+       g_print("\"GstVideoEncoderClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, decide_allocation));
+       g_print("\"GstVideoEncoderClass.propose_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, propose_allocation));
+       g_print("\"GstVideoEncoderClass.flush\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, flush));
+       g_print("\"GstVideoEncoderClass.sink_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, sink_query));
+       g_print("\"GstVideoEncoderClass.src_query\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, src_query));
+       g_print("\"GstVideoEncoderClass.transform_meta\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoderClass, transform_meta));
+       g_print("\"sizeof(GstVideoEncoder)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoEncoder));
+       g_print("\"GstVideoEncoder.sinkpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoder, sinkpad));
+       g_print("\"GstVideoEncoder.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoder, srcpad));
+       g_print("\"GstVideoEncoder.stream_lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoder, stream_lock));
+       g_print("\"GstVideoEncoder.input_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoder, input_segment));
+       g_print("\"GstVideoEncoder.output_segment\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoder, output_segment));
+       g_print("\"GstVideoEncoder.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoEncoder, priv));
+       g_print("\"sizeof(GstVideoFilterClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoFilterClass));
+       g_print("\"GstVideoFilterClass.set_info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoFilterClass, set_info));
+       g_print("\"GstVideoFilterClass.transform_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoFilterClass, transform_frame));
+       g_print("\"GstVideoFilterClass.transform_frame_ip\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoFilterClass, transform_frame_ip));
+       g_print("\"sizeof(GstVideoFilter)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoFilter));
+       g_print("\"GstVideoFilter.negotiated\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoFilter, negotiated));
+       g_print("\"GstVideoFilter.in_info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoFilter, in_info));
+       g_print("\"GstVideoFilter.out_info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoFilter, out_info));
+       g_print("\"sizeof(GstVideoSinkClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoSinkClass));
+       g_print("\"GstVideoSinkClass.show_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoSinkClass, show_frame));
+       g_print("\"sizeof(GstVideoSink)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoSink));
+       g_print("\"GstVideoSink.width\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoSink, width));
+       g_print("\"GstVideoSink.height\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoSink, height));
+       g_print("\"GstVideoSink.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoSink, priv));
+       g_print("\"sizeof(GstVideoInfo)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoInfo));
+       g_print("\"GstVideoInfo.finfo\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, finfo));
+       g_print("\"GstVideoInfo.interlace_mode\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, interlace_mode));
+       g_print("\"GstVideoInfo.flags\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, flags));
+       g_print("\"GstVideoInfo.width\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, width));
+       g_print("\"GstVideoInfo.height\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, height));
+       g_print("\"GstVideoInfo.size\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, size));
+       g_print("\"GstVideoInfo.views\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, views));
+       g_print("\"GstVideoInfo.chroma_site\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, chroma_site));
+       g_print("\"GstVideoInfo.colorimetry\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, colorimetry));
+       g_print("\"GstVideoInfo.par_n\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, par_n));
+       g_print("\"GstVideoInfo.par_d\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, par_d));
+       g_print("\"GstVideoInfo.fps_n\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, fps_n));
+       g_print("\"GstVideoInfo.fps_d\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, fps_d));
+       g_print("\"GstVideoInfo.offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, offset));
+       g_print("\"GstVideoInfo.stride\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, stride));
+       return 0;
+}
diff --git a/sources/generated/gstreamer-sharp-abi.cs b/sources/generated/gstreamer-sharp-abi.cs
new file mode 100644 (file)
index 0000000..cadd488
--- /dev/null
@@ -0,0 +1,930 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+using Gst;
+using Gst.Video;
+using Gst.Sdp;
+using Gst.Tags;
+using Gst.Rtsp;
+using Gst.PbUtils;
+using Gst.Net;
+using Gst.FFT;
+using Gst.Controller;
+using Gst.Base;
+using Gst.Audio;
+using Gst.App;
+using System;
+
+namespace AbiTester {
+       class ___Gst {
+               public static void Main (string[] args) {
+                       Console.WriteLine("\"sizeof(GstAllocatorClass)\": \"" + Gst.Allocator.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAllocatorClass.alloc\": \"" + Gst.Allocator.class_abi.GetFieldOffset("alloc") + "\"");
+                       Console.WriteLine("\"GstAllocatorClass.free\": \"" + Gst.Allocator.class_abi.GetFieldOffset("free") + "\"");
+                       Console.WriteLine("\"sizeof(GstAllocator)\": \"" + Gst.Allocator.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAllocator.mem_type\": \"" + Gst.Allocator.abi_info.GetFieldOffset("mem_type") + "\"");
+                       Console.WriteLine("\"GstAllocator.mem_map\": \"" + Gst.Allocator.abi_info.GetFieldOffset("mem_map") + "\"");
+                       Console.WriteLine("\"GstAllocator.mem_unmap\": \"" + Gst.Allocator.abi_info.GetFieldOffset("mem_unmap") + "\"");
+                       Console.WriteLine("\"GstAllocator.mem_copy\": \"" + Gst.Allocator.abi_info.GetFieldOffset("mem_copy") + "\"");
+                       Console.WriteLine("\"GstAllocator.mem_share\": \"" + Gst.Allocator.abi_info.GetFieldOffset("mem_share") + "\"");
+                       Console.WriteLine("\"GstAllocator.mem_is_span\": \"" + Gst.Allocator.abi_info.GetFieldOffset("mem_is_span") + "\"");
+                       Console.WriteLine("\"GstAllocator.mem_map_full\": \"" + Gst.Allocator.abi_info.GetFieldOffset("mem_map_full") + "\"");
+                       Console.WriteLine("\"GstAllocator.mem_unmap_full\": \"" + Gst.Allocator.abi_info.GetFieldOffset("mem_unmap_full") + "\"");
+                       Console.WriteLine("\"GstAllocator.priv\": \"" + Gst.Allocator.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstBinClass)\": \"" + Gst.Bin.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstBinClass.pool\": \"" + Gst.Bin.class_abi.GetFieldOffset("pool") + "\"");
+                       Console.WriteLine("\"GstBinClass.element_added\": \"" + Gst.Bin.class_abi.GetFieldOffset("element_added") + "\"");
+                       Console.WriteLine("\"GstBinClass.element_removed\": \"" + Gst.Bin.class_abi.GetFieldOffset("element_removed") + "\"");
+                       Console.WriteLine("\"GstBinClass.add_element\": \"" + Gst.Bin.class_abi.GetFieldOffset("add_element") + "\"");
+                       Console.WriteLine("\"GstBinClass.remove_element\": \"" + Gst.Bin.class_abi.GetFieldOffset("remove_element") + "\"");
+                       Console.WriteLine("\"GstBinClass.handle_message\": \"" + Gst.Bin.class_abi.GetFieldOffset("handle_message") + "\"");
+                       Console.WriteLine("\"GstBinClass.do_latency\": \"" + Gst.Bin.class_abi.GetFieldOffset("do_latency") + "\"");
+                       Console.WriteLine("\"GstBinClass.deep_element_added\": \"" + Gst.Bin.class_abi.GetFieldOffset("deep_element_added") + "\"");
+                       Console.WriteLine("\"GstBinClass.deep_element_removed\": \"" + Gst.Bin.class_abi.GetFieldOffset("deep_element_removed") + "\"");
+                       Console.WriteLine("\"sizeof(GstBin)\": \"" + Gst.Bin.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstBin.numchildren\": \"" + Gst.Bin.abi_info.GetFieldOffset("numchildren") + "\"");
+                       Console.WriteLine("\"GstBin.children\": \"" + Gst.Bin.abi_info.GetFieldOffset("children") + "\"");
+                       Console.WriteLine("\"GstBin.children_cookie\": \"" + Gst.Bin.abi_info.GetFieldOffset("children_cookie") + "\"");
+                       Console.WriteLine("\"GstBin.child_bus\": \"" + Gst.Bin.abi_info.GetFieldOffset("child_bus") + "\"");
+                       Console.WriteLine("\"GstBin.messages\": \"" + Gst.Bin.abi_info.GetFieldOffset("messages") + "\"");
+                       Console.WriteLine("\"GstBin.polling\": \"" + Gst.Bin.abi_info.GetFieldOffset("polling") + "\"");
+                       Console.WriteLine("\"GstBin.state_dirty\": \"" + Gst.Bin.abi_info.GetFieldOffset("state_dirty") + "\"");
+                       Console.WriteLine("\"GstBin.clock_dirty\": \"" + Gst.Bin.abi_info.GetFieldOffset("clock_dirty") + "\"");
+                       Console.WriteLine("\"GstBin.provided_clock\": \"" + Gst.Bin.abi_info.GetFieldOffset("provided_clock") + "\"");
+                       Console.WriteLine("\"GstBin.clock_provider\": \"" + Gst.Bin.abi_info.GetFieldOffset("clock_provider") + "\"");
+                       Console.WriteLine("\"GstBin.priv\": \"" + Gst.Bin.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstBufferPoolClass)\": \"" + Gst.BufferPool.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.get_options\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("get_options") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.set_config\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("set_config") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.start\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.stop\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.acquire_buffer\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("acquire_buffer") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.alloc_buffer\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("alloc_buffer") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.reset_buffer\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("reset_buffer") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.release_buffer\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("release_buffer") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.free_buffer\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("free_buffer") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.flush_start\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("flush_start") + "\"");
+                       Console.WriteLine("\"GstBufferPoolClass.flush_stop\": \"" + Gst.BufferPool.class_abi.GetFieldOffset("flush_stop") + "\"");
+                       Console.WriteLine("\"sizeof(GstBufferPool)\": \"" + Gst.BufferPool.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstBufferPool.flushing\": \"" + Gst.BufferPool.abi_info.GetFieldOffset("flushing") + "\"");
+                       Console.WriteLine("\"GstBufferPool.priv\": \"" + Gst.BufferPool.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstBusClass)\": \"" + Gst.Bus.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstBusClass.message\": \"" + Gst.Bus.class_abi.GetFieldOffset("message") + "\"");
+                       Console.WriteLine("\"GstBusClass.sync_message\": \"" + Gst.Bus.class_abi.GetFieldOffset("sync_message") + "\"");
+                       Console.WriteLine("\"sizeof(GstBus)\": \"" + Gst.Bus.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstBus.priv\": \"" + Gst.Bus.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstClockClass)\": \"" + Gst.Clock.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstClockClass.change_resolution\": \"" + Gst.Clock.class_abi.GetFieldOffset("change_resolution") + "\"");
+                       Console.WriteLine("\"GstClockClass.get_resolution\": \"" + Gst.Clock.class_abi.GetFieldOffset("get_resolution") + "\"");
+                       Console.WriteLine("\"GstClockClass.get_internal_time\": \"" + Gst.Clock.class_abi.GetFieldOffset("get_internal_time") + "\"");
+                       Console.WriteLine("\"GstClockClass.wait\": \"" + Gst.Clock.class_abi.GetFieldOffset("wait") + "\"");
+                       Console.WriteLine("\"GstClockClass.wait_async\": \"" + Gst.Clock.class_abi.GetFieldOffset("wait_async") + "\"");
+                       Console.WriteLine("\"GstClockClass.unschedule\": \"" + Gst.Clock.class_abi.GetFieldOffset("unschedule") + "\"");
+                       Console.WriteLine("\"sizeof(GstClock)\": \"" + Gst.Clock.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstClock.priv\": \"" + Gst.Clock.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstControlBindingClass)\": \"" + Gst.ControlBinding.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstControlBindingClass.sync_values\": \"" + Gst.ControlBinding.class_abi.GetFieldOffset("sync_values") + "\"");
+                       Console.WriteLine("\"GstControlBindingClass.get_value\": \"" + Gst.ControlBinding.class_abi.GetFieldOffset("get_value") + "\"");
+                       Console.WriteLine("\"GstControlBindingClass.get_value_array\": \"" + Gst.ControlBinding.class_abi.GetFieldOffset("get_value_array") + "\"");
+                       Console.WriteLine("\"GstControlBindingClass.get_g_value_array\": \"" + Gst.ControlBinding.class_abi.GetFieldOffset("get_g_value_array") + "\"");
+                       Console.WriteLine("\"sizeof(GstControlBinding)\": \"" + Gst.ControlBinding.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstControlBinding.name\": \"" + Gst.ControlBinding.abi_info.GetFieldOffset("name") + "\"");
+                       Console.WriteLine("\"GstControlBinding.pspec\": \"" + Gst.ControlBinding.abi_info.GetFieldOffset("pspec") + "\"");
+                       Console.WriteLine("\"GstControlBinding.object\": \"" + Gst.ControlBinding.abi_info.GetFieldOffset("object") + "\"");
+                       Console.WriteLine("\"GstControlBinding.disabled\": \"" + Gst.ControlBinding.abi_info.GetFieldOffset("disabled") + "\"");
+                       Console.WriteLine("\"sizeof(GstControlSourceClass)\": \"" + Gst.ControlSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstControlSource)\": \"" + Gst.ControlSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstControlSource.get_value\": \"" + Gst.ControlSource.abi_info.GetFieldOffset("get_value") + "\"");
+                       Console.WriteLine("\"GstControlSource.get_value_array\": \"" + Gst.ControlSource.abi_info.GetFieldOffset("get_value_array") + "\"");
+                       Console.WriteLine("\"sizeof(GstDeviceClass)\": \"" + Gst.Device.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstDeviceClass.create_element\": \"" + Gst.Device.class_abi.GetFieldOffset("create_element") + "\"");
+                       Console.WriteLine("\"GstDeviceClass.reconfigure_element\": \"" + Gst.Device.class_abi.GetFieldOffset("reconfigure_element") + "\"");
+                       Console.WriteLine("\"sizeof(GstDevice)\": \"" + Gst.Device.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstDevice.priv\": \"" + Gst.Device.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstDeviceMonitorClass)\": \"" + Gst.DeviceMonitor.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstDeviceMonitor)\": \"" + Gst.DeviceMonitor.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstDeviceMonitor.priv\": \"" + Gst.DeviceMonitor.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstDeviceProviderClass)\": \"" + Gst.DeviceProvider.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstDeviceProviderClass.factory\": \"" + Gst.DeviceProvider.class_abi.GetFieldOffset("factory") + "\"");
+                       Console.WriteLine("\"GstDeviceProviderClass.probe\": \"" + Gst.DeviceProvider.class_abi.GetFieldOffset("probe") + "\"");
+                       Console.WriteLine("\"GstDeviceProviderClass.start\": \"" + Gst.DeviceProvider.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstDeviceProviderClass.stop\": \"" + Gst.DeviceProvider.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstDeviceProviderClass.metadata\": \"" + Gst.DeviceProvider.class_abi.GetFieldOffset("metadata") + "\"");
+                       Console.WriteLine("\"sizeof(GstDeviceProvider)\": \"" + Gst.DeviceProvider.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstDeviceProvider.devices\": \"" + Gst.DeviceProvider.abi_info.GetFieldOffset("devices") + "\"");
+                       Console.WriteLine("\"GstDeviceProvider.priv\": \"" + Gst.DeviceProvider.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstElementClass)\": \"" + Gst.Element.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstElementClass.metadata\": \"" + Gst.Element.class_abi.GetFieldOffset("metadata") + "\"");
+                       Console.WriteLine("\"GstElementClass.elementfactory\": \"" + Gst.Element.class_abi.GetFieldOffset("elementfactory") + "\"");
+                       Console.WriteLine("\"GstElementClass.padtemplates\": \"" + Gst.Element.class_abi.GetFieldOffset("padtemplates") + "\"");
+                       Console.WriteLine("\"GstElementClass.numpadtemplates\": \"" + Gst.Element.class_abi.GetFieldOffset("numpadtemplates") + "\"");
+                       Console.WriteLine("\"GstElementClass.pad_templ_cookie\": \"" + Gst.Element.class_abi.GetFieldOffset("pad_templ_cookie") + "\"");
+                       Console.WriteLine("\"GstElementClass.pad_added\": \"" + Gst.Element.class_abi.GetFieldOffset("pad_added") + "\"");
+                       Console.WriteLine("\"GstElementClass.pad_removed\": \"" + Gst.Element.class_abi.GetFieldOffset("pad_removed") + "\"");
+                       Console.WriteLine("\"GstElementClass.no_more_pads\": \"" + Gst.Element.class_abi.GetFieldOffset("no_more_pads") + "\"");
+                       Console.WriteLine("\"GstElementClass.request_new_pad\": \"" + Gst.Element.class_abi.GetFieldOffset("request_new_pad") + "\"");
+                       Console.WriteLine("\"GstElementClass.release_pad\": \"" + Gst.Element.class_abi.GetFieldOffset("release_pad") + "\"");
+                       Console.WriteLine("\"GstElementClass.get_state\": \"" + Gst.Element.class_abi.GetFieldOffset("get_state") + "\"");
+                       Console.WriteLine("\"GstElementClass.set_state\": \"" + Gst.Element.class_abi.GetFieldOffset("set_state") + "\"");
+                       Console.WriteLine("\"GstElementClass.change_state\": \"" + Gst.Element.class_abi.GetFieldOffset("change_state") + "\"");
+                       Console.WriteLine("\"GstElementClass.state_changed\": \"" + Gst.Element.class_abi.GetFieldOffset("state_changed") + "\"");
+                       Console.WriteLine("\"GstElementClass.set_bus\": \"" + Gst.Element.class_abi.GetFieldOffset("set_bus") + "\"");
+                       Console.WriteLine("\"GstElementClass.provide_clock\": \"" + Gst.Element.class_abi.GetFieldOffset("provide_clock") + "\"");
+                       Console.WriteLine("\"GstElementClass.set_clock\": \"" + Gst.Element.class_abi.GetFieldOffset("set_clock") + "\"");
+                       Console.WriteLine("\"GstElementClass.send_event\": \"" + Gst.Element.class_abi.GetFieldOffset("send_event") + "\"");
+                       Console.WriteLine("\"GstElementClass.query\": \"" + Gst.Element.class_abi.GetFieldOffset("query") + "\"");
+                       Console.WriteLine("\"GstElementClass.post_message\": \"" + Gst.Element.class_abi.GetFieldOffset("post_message") + "\"");
+                       Console.WriteLine("\"GstElementClass.set_context\": \"" + Gst.Element.class_abi.GetFieldOffset("set_context") + "\"");
+                       Console.WriteLine("\"sizeof(GstElement)\": \"" + Gst.Element.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstElement.state_lock\": \"" + Gst.Element.abi_info.GetFieldOffset("state_lock") + "\"");
+                       Console.WriteLine("\"GstElement.state_cond\": \"" + Gst.Element.abi_info.GetFieldOffset("state_cond") + "\"");
+                       Console.WriteLine("\"GstElement.state_cookie\": \"" + Gst.Element.abi_info.GetFieldOffset("state_cookie") + "\"");
+                       Console.WriteLine("\"GstElement.target_state\": \"" + Gst.Element.abi_info.GetFieldOffset("target_state") + "\"");
+                       Console.WriteLine("\"GstElement.current_state\": \"" + Gst.Element.abi_info.GetFieldOffset("current_state") + "\"");
+                       Console.WriteLine("\"GstElement.next_state\": \"" + Gst.Element.abi_info.GetFieldOffset("next_state") + "\"");
+                       Console.WriteLine("\"GstElement.pending_state\": \"" + Gst.Element.abi_info.GetFieldOffset("pending_state") + "\"");
+                       Console.WriteLine("\"GstElement.last_return\": \"" + Gst.Element.abi_info.GetFieldOffset("last_return") + "\"");
+                       Console.WriteLine("\"GstElement.bus\": \"" + Gst.Element.abi_info.GetFieldOffset("bus") + "\"");
+                       Console.WriteLine("\"GstElement.clock\": \"" + Gst.Element.abi_info.GetFieldOffset("clock") + "\"");
+                       Console.WriteLine("\"GstElement.base_time\": \"" + Gst.Element.abi_info.GetFieldOffset("base_time") + "\"");
+                       Console.WriteLine("\"GstElement.start_time\": \"" + Gst.Element.abi_info.GetFieldOffset("start_time") + "\"");
+                       Console.WriteLine("\"GstElement.numpads\": \"" + Gst.Element.abi_info.GetFieldOffset("numpads") + "\"");
+                       Console.WriteLine("\"GstElement.pads\": \"" + Gst.Element.abi_info.GetFieldOffset("pads") + "\"");
+                       Console.WriteLine("\"GstElement.numsrcpads\": \"" + Gst.Element.abi_info.GetFieldOffset("numsrcpads") + "\"");
+                       Console.WriteLine("\"GstElement.srcpads\": \"" + Gst.Element.abi_info.GetFieldOffset("srcpads") + "\"");
+                       Console.WriteLine("\"GstElement.numsinkpads\": \"" + Gst.Element.abi_info.GetFieldOffset("numsinkpads") + "\"");
+                       Console.WriteLine("\"GstElement.sinkpads\": \"" + Gst.Element.abi_info.GetFieldOffset("sinkpads") + "\"");
+                       Console.WriteLine("\"GstElement.pads_cookie\": \"" + Gst.Element.abi_info.GetFieldOffset("pads_cookie") + "\"");
+                       Console.WriteLine("\"GstElement.contexts\": \"" + Gst.Element.abi_info.GetFieldOffset("contexts") + "\"");
+                       Console.WriteLine("\"sizeof(GstGhostPadClass)\": \"" + Gst.GhostPad.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstGhostPad)\": \"" + Gst.GhostPad.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstGhostPad.priv\": \"" + Gst.GhostPad.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstObjectClass)\": \"" + Gst.Object.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstObjectClass.path_string_separator\": \"" + Gst.Object.class_abi.GetFieldOffset("path_string_separator") + "\"");
+                       Console.WriteLine("\"GstObjectClass.deep_notify\": \"" + Gst.Object.class_abi.GetFieldOffset("deep_notify") + "\"");
+                       Console.WriteLine("\"sizeof(GstObject)\": \"" + Gst.Object.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstObject.lock\": \"" + Gst.Object.abi_info.GetFieldOffset("lock") + "\"");
+                       Console.WriteLine("\"GstObject.name\": \"" + Gst.Object.abi_info.GetFieldOffset("name") + "\"");
+                       Console.WriteLine("\"GstObject.parent\": \"" + Gst.Object.abi_info.GetFieldOffset("parent") + "\"");
+                       Console.WriteLine("\"GstObject.flags\": \"" + Gst.Object.abi_info.GetFieldOffset("flags") + "\"");
+                       Console.WriteLine("\"GstObject.control_bindings\": \"" + Gst.Object.abi_info.GetFieldOffset("control_bindings") + "\"");
+                       Console.WriteLine("\"GstObject.control_rate\": \"" + Gst.Object.abi_info.GetFieldOffset("control_rate") + "\"");
+                       Console.WriteLine("\"GstObject.last_sync\": \"" + Gst.Object.abi_info.GetFieldOffset("last_sync") + "\"");
+                       Console.WriteLine("\"sizeof(GstPadClass)\": \"" + Gst.Pad.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstPadClass.linked\": \"" + Gst.Pad.class_abi.GetFieldOffset("linked") + "\"");
+                       Console.WriteLine("\"GstPadClass.unlinked\": \"" + Gst.Pad.class_abi.GetFieldOffset("unlinked") + "\"");
+                       Console.WriteLine("\"sizeof(GstPad)\": \"" + Gst.Pad.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstPad.element_private\": \"" + Gst.Pad.abi_info.GetFieldOffset("element_private") + "\"");
+                       Console.WriteLine("\"GstPad.padtemplate\": \"" + Gst.Pad.abi_info.GetFieldOffset("padtemplate") + "\"");
+                       Console.WriteLine("\"GstPad.direction\": \"" + Gst.Pad.abi_info.GetFieldOffset("direction") + "\"");
+                       Console.WriteLine("\"GstPad.stream_rec_lock\": \"" + Gst.Pad.abi_info.GetFieldOffset("stream_rec_lock") + "\"");
+                       Console.WriteLine("\"GstPad.task\": \"" + Gst.Pad.abi_info.GetFieldOffset("task") + "\"");
+                       Console.WriteLine("\"GstPad.block_cond\": \"" + Gst.Pad.abi_info.GetFieldOffset("block_cond") + "\"");
+                       Console.WriteLine("\"GstPad.probes\": \"" + Gst.Pad.abi_info.GetFieldOffset("probes") + "\"");
+                       Console.WriteLine("\"GstPad.mode\": \"" + Gst.Pad.abi_info.GetFieldOffset("mode") + "\"");
+                       Console.WriteLine("\"GstPad.activatefunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("activatefunc") + "\"");
+                       Console.WriteLine("\"GstPad.activatedata\": \"" + Gst.Pad.abi_info.GetFieldOffset("activatedata") + "\"");
+                       Console.WriteLine("\"GstPad.activatenotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("activatenotify") + "\"");
+                       Console.WriteLine("\"GstPad.activatemodefunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("activatemodefunc") + "\"");
+                       Console.WriteLine("\"GstPad.activatemodedata\": \"" + Gst.Pad.abi_info.GetFieldOffset("activatemodedata") + "\"");
+                       Console.WriteLine("\"GstPad.activatemodenotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("activatemodenotify") + "\"");
+                       Console.WriteLine("\"GstPad.peer\": \"" + Gst.Pad.abi_info.GetFieldOffset("peer") + "\"");
+                       Console.WriteLine("\"GstPad.linkfunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("linkfunc") + "\"");
+                       Console.WriteLine("\"GstPad.linkdata\": \"" + Gst.Pad.abi_info.GetFieldOffset("linkdata") + "\"");
+                       Console.WriteLine("\"GstPad.linknotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("linknotify") + "\"");
+                       Console.WriteLine("\"GstPad.unlinkfunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("unlinkfunc") + "\"");
+                       Console.WriteLine("\"GstPad.unlinkdata\": \"" + Gst.Pad.abi_info.GetFieldOffset("unlinkdata") + "\"");
+                       Console.WriteLine("\"GstPad.unlinknotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("unlinknotify") + "\"");
+                       Console.WriteLine("\"GstPad.chainfunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("chainfunc") + "\"");
+                       Console.WriteLine("\"GstPad.chaindata\": \"" + Gst.Pad.abi_info.GetFieldOffset("chaindata") + "\"");
+                       Console.WriteLine("\"GstPad.chainnotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("chainnotify") + "\"");
+                       Console.WriteLine("\"GstPad.chainlistfunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("chainlistfunc") + "\"");
+                       Console.WriteLine("\"GstPad.chainlistdata\": \"" + Gst.Pad.abi_info.GetFieldOffset("chainlistdata") + "\"");
+                       Console.WriteLine("\"GstPad.chainlistnotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("chainlistnotify") + "\"");
+                       Console.WriteLine("\"GstPad.getrangefunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("getrangefunc") + "\"");
+                       Console.WriteLine("\"GstPad.getrangedata\": \"" + Gst.Pad.abi_info.GetFieldOffset("getrangedata") + "\"");
+                       Console.WriteLine("\"GstPad.getrangenotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("getrangenotify") + "\"");
+                       Console.WriteLine("\"GstPad.eventfunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("eventfunc") + "\"");
+                       Console.WriteLine("\"GstPad.eventdata\": \"" + Gst.Pad.abi_info.GetFieldOffset("eventdata") + "\"");
+                       Console.WriteLine("\"GstPad.eventnotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("eventnotify") + "\"");
+                       Console.WriteLine("\"GstPad.offset\": \"" + Gst.Pad.abi_info.GetFieldOffset("offset") + "\"");
+                       Console.WriteLine("\"GstPad.queryfunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("queryfunc") + "\"");
+                       Console.WriteLine("\"GstPad.querydata\": \"" + Gst.Pad.abi_info.GetFieldOffset("querydata") + "\"");
+                       Console.WriteLine("\"GstPad.querynotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("querynotify") + "\"");
+                       Console.WriteLine("\"GstPad.iterintlinkfunc\": \"" + Gst.Pad.abi_info.GetFieldOffset("iterintlinkfunc") + "\"");
+                       Console.WriteLine("\"GstPad.iterintlinkdata\": \"" + Gst.Pad.abi_info.GetFieldOffset("iterintlinkdata") + "\"");
+                       Console.WriteLine("\"GstPad.iterintlinknotify\": \"" + Gst.Pad.abi_info.GetFieldOffset("iterintlinknotify") + "\"");
+                       Console.WriteLine("\"GstPad.num_probes\": \"" + Gst.Pad.abi_info.GetFieldOffset("num_probes") + "\"");
+                       Console.WriteLine("\"GstPad.num_blocked\": \"" + Gst.Pad.abi_info.GetFieldOffset("num_blocked") + "\"");
+                       Console.WriteLine("\"GstPad.priv\": \"" + Gst.Pad.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstPadTemplateClass)\": \"" + Gst.PadTemplate.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstPadTemplateClass.pad_created\": \"" + Gst.PadTemplate.class_abi.GetFieldOffset("pad_created") + "\"");
+                       Console.WriteLine("\"sizeof(GstPadTemplate)\": \"" + Gst.PadTemplate.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstPadTemplate.name_template\": \"" + Gst.PadTemplate.abi_info.GetFieldOffset("name_template") + "\"");
+                       Console.WriteLine("\"GstPadTemplate.direction\": \"" + Gst.PadTemplate.abi_info.GetFieldOffset("direction") + "\"");
+                       Console.WriteLine("\"GstPadTemplate.presence\": \"" + Gst.PadTemplate.abi_info.GetFieldOffset("presence") + "\"");
+                       Console.WriteLine("\"GstPadTemplate.caps\": \"" + Gst.PadTemplate.abi_info.GetFieldOffset("caps") + "\"");
+                       Console.WriteLine("\"sizeof(GstPipelineClass)\": \"" + Gst.Pipeline.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstPipeline)\": \"" + Gst.Pipeline.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstPipeline.fixed_clock\": \"" + Gst.Pipeline.abi_info.GetFieldOffset("fixed_clock") + "\"");
+                       Console.WriteLine("\"GstPipeline.stream_time\": \"" + Gst.Pipeline.abi_info.GetFieldOffset("stream_time") + "\"");
+                       Console.WriteLine("\"GstPipeline.delay\": \"" + Gst.Pipeline.abi_info.GetFieldOffset("delay") + "\"");
+                       Console.WriteLine("\"GstPipeline.priv\": \"" + Gst.Pipeline.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstProxyPadClass)\": \"" + Gst.ProxyPad.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstProxyPad)\": \"" + Gst.ProxyPad.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstProxyPad.priv\": \"" + Gst.ProxyPad.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRegistry)\": \"" + Gst.Registry.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRegistry.priv\": \"" + Gst.Registry.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstStreamClass)\": \"" + Gst.Stream.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstStream)\": \"" + Gst.Stream.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstStream.stream_id\": \"" + Gst.Stream.abi_info.GetFieldOffset("stream_id") + "\"");
+                       Console.WriteLine("\"GstStream.priv\": \"" + Gst.Stream.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstStreamCollectionClass)\": \"" + Gst.StreamCollection.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstStreamCollectionClass.stream_notify\": \"" + Gst.StreamCollection.class_abi.GetFieldOffset("stream_notify") + "\"");
+                       Console.WriteLine("\"sizeof(GstStreamCollection)\": \"" + Gst.StreamCollection.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstStreamCollection.upstream_id\": \"" + Gst.StreamCollection.abi_info.GetFieldOffset("upstream_id") + "\"");
+                       Console.WriteLine("\"GstStreamCollection.priv\": \"" + Gst.StreamCollection.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstSystemClockClass)\": \"" + Gst.SystemClock.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstSystemClock)\": \"" + Gst.SystemClock.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstSystemClock.priv\": \"" + Gst.SystemClock.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstTaskClass)\": \"" + Gst.Task.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstTaskClass.pool\": \"" + Gst.Task.class_abi.GetFieldOffset("pool") + "\"");
+                       Console.WriteLine("\"sizeof(GstTask)\": \"" + Gst.Task.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstTask.state\": \"" + Gst.Task.abi_info.GetFieldOffset("state") + "\"");
+                       Console.WriteLine("\"GstTask.cond\": \"" + Gst.Task.abi_info.GetFieldOffset("cond") + "\"");
+                       Console.WriteLine("\"GstTask.lock\": \"" + Gst.Task.abi_info.GetFieldOffset("lock") + "\"");
+                       Console.WriteLine("\"GstTask.func\": \"" + Gst.Task.abi_info.GetFieldOffset("func") + "\"");
+                       Console.WriteLine("\"GstTask.user_data\": \"" + Gst.Task.abi_info.GetFieldOffset("user_data") + "\"");
+                       Console.WriteLine("\"GstTask.notify\": \"" + Gst.Task.abi_info.GetFieldOffset("notify") + "\"");
+                       Console.WriteLine("\"GstTask.running\": \"" + Gst.Task.abi_info.GetFieldOffset("running") + "\"");
+                       Console.WriteLine("\"GstTask.thread\": \"" + Gst.Task.abi_info.GetFieldOffset("thread") + "\"");
+                       Console.WriteLine("\"GstTask.priv\": \"" + Gst.Task.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstTaskPoolClass)\": \"" + Gst.TaskPool.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstTaskPoolClass.prepare\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("prepare") + "\"");
+                       Console.WriteLine("\"GstTaskPoolClass.cleanup\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("cleanup") + "\"");
+                       Console.WriteLine("\"GstTaskPoolClass.push\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("push") + "\"");
+                       Console.WriteLine("\"GstTaskPoolClass.join\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("join") + "\"");
+                       Console.WriteLine("\"sizeof(GstTaskPool)\": \"" + Gst.TaskPool.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstTaskPool.pool\": \"" + Gst.TaskPool.abi_info.GetFieldOffset("pool") + "\"");
+                       Console.WriteLine("\"sizeof(GstTracerClass)\": \"" + Gst.Tracer.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstTracer)\": \"" + Gst.Tracer.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstTracer.priv\": \"" + Gst.Tracer.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstBuffer)\": \"" + Gst.Buffer.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstBuffer.pool\": \"" + Gst.Buffer.abi_info.GetFieldOffset("pool") + "\"");
+                       Console.WriteLine("\"GstBuffer.pts\": \"" + Gst.Buffer.abi_info.GetFieldOffset("pts") + "\"");
+                       Console.WriteLine("\"GstBuffer.dts\": \"" + Gst.Buffer.abi_info.GetFieldOffset("dts") + "\"");
+                       Console.WriteLine("\"GstBuffer.duration\": \"" + Gst.Buffer.abi_info.GetFieldOffset("duration") + "\"");
+                       Console.WriteLine("\"GstBuffer.offset\": \"" + Gst.Buffer.abi_info.GetFieldOffset("offset") + "\"");
+                       Console.WriteLine("\"GstBuffer.offset_end\": \"" + Gst.Buffer.abi_info.GetFieldOffset("offset_end") + "\"");
+                       Console.WriteLine("\"sizeof(GstClockEntry)\": \"" + Gst.ClockEntry.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstClockEntry.refcount\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("refcount") + "\"");
+                       Console.WriteLine("\"GstClockEntry.clock\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("clock") + "\"");
+                       Console.WriteLine("\"GstClockEntry.type\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstClockEntry.time\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("time") + "\"");
+                       Console.WriteLine("\"GstClockEntry.interval\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("interval") + "\"");
+                       Console.WriteLine("\"GstClockEntry.status\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("status") + "\"");
+                       Console.WriteLine("\"GstClockEntry.func\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("func") + "\"");
+                       Console.WriteLine("\"GstClockEntry.user_data\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("user_data") + "\"");
+                       Console.WriteLine("\"GstClockEntry.destroy_data\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("destroy_data") + "\"");
+                       Console.WriteLine("\"GstClockEntry.unscheduled\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("unscheduled") + "\"");
+                       Console.WriteLine("\"GstClockEntry.woken_up\": \"" + Gst.ClockEntry.abi_info.GetFieldOffset("woken_up") + "\"");
+                       Console.WriteLine("\"sizeof(GstEvent)\": \"" + Gst.Event.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstEvent.type\": \"" + Gst.Event.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstEvent.timestamp\": \"" + Gst.Event.abi_info.GetFieldOffset("timestamp") + "\"");
+                       Console.WriteLine("\"GstEvent.seqnum\": \"" + Gst.Event.abi_info.GetFieldOffset("seqnum") + "\"");
+                       Console.WriteLine("\"sizeof(GstIterator)\": \"" + Gst.Iterator.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstIterator.copy\": \"" + Gst.Iterator.abi_info.GetFieldOffset("copy") + "\"");
+                       Console.WriteLine("\"GstIterator.next\": \"" + Gst.Iterator.abi_info.GetFieldOffset("next") + "\"");
+                       Console.WriteLine("\"GstIterator.item\": \"" + Gst.Iterator.abi_info.GetFieldOffset("item") + "\"");
+                       Console.WriteLine("\"GstIterator.resync\": \"" + Gst.Iterator.abi_info.GetFieldOffset("resync") + "\"");
+                       Console.WriteLine("\"GstIterator.free\": \"" + Gst.Iterator.abi_info.GetFieldOffset("free") + "\"");
+                       Console.WriteLine("\"GstIterator.pushed\": \"" + Gst.Iterator.abi_info.GetFieldOffset("pushed") + "\"");
+                       Console.WriteLine("\"GstIterator.type\": \"" + Gst.Iterator.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstIterator.lock\": \"" + Gst.Iterator.abi_info.GetFieldOffset("lock") + "\"");
+                       Console.WriteLine("\"GstIterator.cookie\": \"" + Gst.Iterator.abi_info.GetFieldOffset("cookie") + "\"");
+                       Console.WriteLine("\"GstIterator.master_cookie\": \"" + Gst.Iterator.abi_info.GetFieldOffset("master_cookie") + "\"");
+                       Console.WriteLine("\"GstIterator.size\": \"" + Gst.Iterator.abi_info.GetFieldOffset("size") + "\"");
+                       Console.WriteLine("\"sizeof(GstMemory)\": \"" + Gst.Memory.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstMemory.allocator\": \"" + Gst.Memory.abi_info.GetFieldOffset("allocator") + "\"");
+                       Console.WriteLine("\"GstMemory.parent\": \"" + Gst.Memory.abi_info.GetFieldOffset("parent") + "\"");
+                       Console.WriteLine("\"GstMemory.maxsize\": \"" + Gst.Memory.abi_info.GetFieldOffset("maxsize") + "\"");
+                       Console.WriteLine("\"GstMemory.align\": \"" + Gst.Memory.abi_info.GetFieldOffset("align") + "\"");
+                       Console.WriteLine("\"GstMemory.offset\": \"" + Gst.Memory.abi_info.GetFieldOffset("offset") + "\"");
+                       Console.WriteLine("\"GstMemory.size\": \"" + Gst.Memory.abi_info.GetFieldOffset("size") + "\"");
+                       Console.WriteLine("\"sizeof(GstMessage)\": \"" + Gst.Message.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstMessage.type\": \"" + Gst.Message.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstMessage.timestamp\": \"" + Gst.Message.abi_info.GetFieldOffset("timestamp") + "\"");
+                       Console.WriteLine("\"GstMessage.src\": \"" + Gst.Message.abi_info.GetFieldOffset("src") + "\"");
+                       Console.WriteLine("\"GstMessage.seqnum\": \"" + Gst.Message.abi_info.GetFieldOffset("seqnum") + "\"");
+                       Console.WriteLine("\"GstMessage.lock\": \"" + Gst.Message.abi_info.GetFieldOffset("lock") + "\"");
+                       Console.WriteLine("\"GstMessage.cond\": \"" + Gst.Message.abi_info.GetFieldOffset("cond") + "\"");
+                       Console.WriteLine("\"sizeof(GstMiniObject)\": \"" + Gst.MiniObject.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstMiniObject.type\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstMiniObject.refcount\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("refcount") + "\"");
+                       Console.WriteLine("\"GstMiniObject.lockstate\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("lockstate") + "\"");
+                       Console.WriteLine("\"GstMiniObject.flags\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("flags") + "\"");
+                       Console.WriteLine("\"GstMiniObject.copy\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("copy") + "\"");
+                       Console.WriteLine("\"GstMiniObject.dispose\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("dispose") + "\"");
+                       Console.WriteLine("\"GstMiniObject.free\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("free") + "\"");
+                       Console.WriteLine("\"GstMiniObject.n_qdata\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("n_qdata") + "\"");
+                       Console.WriteLine("\"GstMiniObject.qdata\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("qdata") + "\"");
+                       Console.WriteLine("\"sizeof(GstQuery)\": \"" + Gst.Query.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstQuery.type\": \"" + Gst.Query.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"sizeof(GstStructure)\": \"" + Gst.Structure.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstStructure.type\": \"" + Gst.Structure.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstStructure.name\": \"" + Gst.Structure.abi_info.GetFieldOffset("name") + "\"");
+                       Console.WriteLine("\"sizeof(GstTypeFind)\": \"" + Gst.TypeFind.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstTypeFind.peek\": \"" + Gst.TypeFind.abi_info.GetFieldOffset("peek") + "\"");
+                       Console.WriteLine("\"GstTypeFind.suggest\": \"" + Gst.TypeFind.abi_info.GetFieldOffset("suggest") + "\"");
+                       Console.WriteLine("\"GstTypeFind.data\": \"" + Gst.TypeFind.abi_info.GetFieldOffset("data") + "\"");
+                       Console.WriteLine("\"GstTypeFind.get_length\": \"" + Gst.TypeFind.abi_info.GetFieldOffset("get_length") + "\"");
+                       Console.WriteLine("\"sizeof(GstAppSinkClass)\": \"" + Gst.App.AppSink.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAppSinkClass.eos\": \"" + Gst.App.AppSink.class_abi.GetFieldOffset("eos") + "\"");
+                       Console.WriteLine("\"GstAppSinkClass.new_preroll\": \"" + Gst.App.AppSink.class_abi.GetFieldOffset("new_preroll") + "\"");
+                       Console.WriteLine("\"GstAppSinkClass.new_sample\": \"" + Gst.App.AppSink.class_abi.GetFieldOffset("new_sample") + "\"");
+                       Console.WriteLine("\"GstAppSinkClass.pull_preroll\": \"" + Gst.App.AppSink.class_abi.GetFieldOffset("pull_preroll") + "\"");
+                       Console.WriteLine("\"GstAppSinkClass.pull_sample\": \"" + Gst.App.AppSink.class_abi.GetFieldOffset("pull_sample") + "\"");
+                       Console.WriteLine("\"GstAppSinkClass.try_pull_preroll\": \"" + Gst.App.AppSink.class_abi.GetFieldOffset("try_pull_preroll") + "\"");
+                       Console.WriteLine("\"GstAppSinkClass.try_pull_sample\": \"" + Gst.App.AppSink.class_abi.GetFieldOffset("try_pull_sample") + "\"");
+                       Console.WriteLine("\"sizeof(GstAppSink)\": \"" + Gst.App.AppSink.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAppSink.priv\": \"" + Gst.App.AppSink.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAppSrcClass)\": \"" + Gst.App.AppSrc.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAppSrcClass.need_data\": \"" + Gst.App.AppSrc.class_abi.GetFieldOffset("need_data") + "\"");
+                       Console.WriteLine("\"GstAppSrcClass.enough_data\": \"" + Gst.App.AppSrc.class_abi.GetFieldOffset("enough_data") + "\"");
+                       Console.WriteLine("\"GstAppSrcClass.seek_data\": \"" + Gst.App.AppSrc.class_abi.GetFieldOffset("seek_data") + "\"");
+                       Console.WriteLine("\"GstAppSrcClass.push_buffer\": \"" + Gst.App.AppSrc.class_abi.GetFieldOffset("push_buffer") + "\"");
+                       Console.WriteLine("\"GstAppSrcClass.end_of_stream\": \"" + Gst.App.AppSrc.class_abi.GetFieldOffset("end_of_stream") + "\"");
+                       Console.WriteLine("\"GstAppSrcClass.push_sample\": \"" + Gst.App.AppSrc.class_abi.GetFieldOffset("push_sample") + "\"");
+                       Console.WriteLine("\"GstAppSrcClass.push_buffer_list\": \"" + Gst.App.AppSrc.class_abi.GetFieldOffset("push_buffer_list") + "\"");
+                       Console.WriteLine("\"sizeof(GstAppSrc)\": \"" + Gst.App.AppSrc.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAppSrc.priv\": \"" + Gst.App.AppSrc.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioBaseSinkClass)\": \"" + Gst.Audio.AudioBaseSink.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioBaseSinkClass.create_ringbuffer\": \"" + Gst.Audio.AudioBaseSink.class_abi.GetFieldOffset("create_ringbuffer") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSinkClass.payload\": \"" + Gst.Audio.AudioBaseSink.class_abi.GetFieldOffset("payload") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioBaseSink)\": \"" + Gst.Audio.AudioBaseSink.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioBaseSink.ringbuffer\": \"" + Gst.Audio.AudioBaseSink.abi_info.GetFieldOffset("ringbuffer") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSink.buffer_time\": \"" + Gst.Audio.AudioBaseSink.abi_info.GetFieldOffset("buffer_time") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSink.latency_time\": \"" + Gst.Audio.AudioBaseSink.abi_info.GetFieldOffset("latency_time") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSink.next_sample\": \"" + Gst.Audio.AudioBaseSink.abi_info.GetFieldOffset("next_sample") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSink.provided_clock\": \"" + Gst.Audio.AudioBaseSink.abi_info.GetFieldOffset("provided_clock") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSink.eos_rendering\": \"" + Gst.Audio.AudioBaseSink.abi_info.GetFieldOffset("eos_rendering") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSink.priv\": \"" + Gst.Audio.AudioBaseSink.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioBaseSrcClass)\": \"" + Gst.Audio.AudioBaseSrc.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioBaseSrcClass.create_ringbuffer\": \"" + Gst.Audio.AudioBaseSrc.class_abi.GetFieldOffset("create_ringbuffer") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioBaseSrc)\": \"" + Gst.Audio.AudioBaseSrc.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioBaseSrc.ringbuffer\": \"" + Gst.Audio.AudioBaseSrc.abi_info.GetFieldOffset("ringbuffer") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSrc.buffer_time\": \"" + Gst.Audio.AudioBaseSrc.abi_info.GetFieldOffset("buffer_time") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSrc.latency_time\": \"" + Gst.Audio.AudioBaseSrc.abi_info.GetFieldOffset("latency_time") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSrc.next_sample\": \"" + Gst.Audio.AudioBaseSrc.abi_info.GetFieldOffset("next_sample") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSrc.clock\": \"" + Gst.Audio.AudioBaseSrc.abi_info.GetFieldOffset("clock") + "\"");
+                       Console.WriteLine("\"GstAudioBaseSrc.priv\": \"" + Gst.Audio.AudioBaseSrc.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioCdSrcClass)\": \"" + Gst.Audio.AudioCdSrc.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioCdSrcClass.open\": \"" + Gst.Audio.AudioCdSrc.class_abi.GetFieldOffset("open") + "\"");
+                       Console.WriteLine("\"GstAudioCdSrcClass.close\": \"" + Gst.Audio.AudioCdSrc.class_abi.GetFieldOffset("close") + "\"");
+                       Console.WriteLine("\"GstAudioCdSrcClass.read_sector\": \"" + Gst.Audio.AudioCdSrc.class_abi.GetFieldOffset("read_sector") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioCdSrc)\": \"" + Gst.Audio.AudioCdSrc.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioCdSrc.tags\": \"" + Gst.Audio.AudioCdSrc.abi_info.GetFieldOffset("tags") + "\"");
+                       Console.WriteLine("\"GstAudioCdSrc.priv\": \"" + Gst.Audio.AudioCdSrc.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioClockClass)\": \"" + Gst.Audio.AudioClock.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioClock)\": \"" + Gst.Audio.AudioClock.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioClock.func\": \"" + Gst.Audio.AudioClock.abi_info.GetFieldOffset("func") + "\"");
+                       Console.WriteLine("\"GstAudioClock.user_data\": \"" + Gst.Audio.AudioClock.abi_info.GetFieldOffset("user_data") + "\"");
+                       Console.WriteLine("\"GstAudioClock.destroy_notify\": \"" + Gst.Audio.AudioClock.abi_info.GetFieldOffset("destroy_notify") + "\"");
+                       Console.WriteLine("\"GstAudioClock.last_time\": \"" + Gst.Audio.AudioClock.abi_info.GetFieldOffset("last_time") + "\"");
+                       Console.WriteLine("\"GstAudioClock.time_offset\": \"" + Gst.Audio.AudioClock.abi_info.GetFieldOffset("time_offset") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioDecoderClass)\": \"" + Gst.Audio.AudioDecoder.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.start\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.stop\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.set_format\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("set_format") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.parse\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("parse") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.handle_frame\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("handle_frame") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.flush\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("flush") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.pre_push\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("pre_push") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.sink_event\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("sink_event") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.src_event\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("src_event") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.open\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("open") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.close\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("close") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.negotiate\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("negotiate") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.decide_allocation\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("decide_allocation") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.propose_allocation\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("propose_allocation") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.sink_query\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("sink_query") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.src_query\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("src_query") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.getcaps\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("getcaps") + "\"");
+                       Console.WriteLine("\"GstAudioDecoderClass.transform_meta\": \"" + Gst.Audio.AudioDecoder.class_abi.GetFieldOffset("transform_meta") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioDecoder)\": \"" + Gst.Audio.AudioDecoder.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioDecoder.sinkpad\": \"" + Gst.Audio.AudioDecoder.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstAudioDecoder.srcpad\": \"" + Gst.Audio.AudioDecoder.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstAudioDecoder.stream_lock\": \"" + Gst.Audio.AudioDecoder.abi_info.GetFieldOffset("stream_lock") + "\"");
+                       Console.WriteLine("\"GstAudioDecoder.input_segment\": \"" + Gst.Audio.AudioDecoder.abi_info.GetFieldOffset("input_segment") + "\"");
+                       Console.WriteLine("\"GstAudioDecoder.output_segment\": \"" + Gst.Audio.AudioDecoder.abi_info.GetFieldOffset("output_segment") + "\"");
+                       Console.WriteLine("\"GstAudioDecoder.priv\": \"" + Gst.Audio.AudioDecoder.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioEncoderClass)\": \"" + Gst.Audio.AudioEncoder.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.start\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.stop\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.set_format\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("set_format") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.handle_frame\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("handle_frame") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.flush\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("flush") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.pre_push\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("pre_push") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.sink_event\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("sink_event") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.src_event\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("src_event") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.getcaps\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("getcaps") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.open\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("open") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.close\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("close") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.negotiate\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("negotiate") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.decide_allocation\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("decide_allocation") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.propose_allocation\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("propose_allocation") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.transform_meta\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("transform_meta") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.sink_query\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("sink_query") + "\"");
+                       Console.WriteLine("\"GstAudioEncoderClass.src_query\": \"" + Gst.Audio.AudioEncoder.class_abi.GetFieldOffset("src_query") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioEncoder)\": \"" + Gst.Audio.AudioEncoder.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioEncoder.sinkpad\": \"" + Gst.Audio.AudioEncoder.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstAudioEncoder.srcpad\": \"" + Gst.Audio.AudioEncoder.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstAudioEncoder.stream_lock\": \"" + Gst.Audio.AudioEncoder.abi_info.GetFieldOffset("stream_lock") + "\"");
+                       Console.WriteLine("\"GstAudioEncoder.input_segment\": \"" + Gst.Audio.AudioEncoder.abi_info.GetFieldOffset("input_segment") + "\"");
+                       Console.WriteLine("\"GstAudioEncoder.output_segment\": \"" + Gst.Audio.AudioEncoder.abi_info.GetFieldOffset("output_segment") + "\"");
+                       Console.WriteLine("\"GstAudioEncoder.priv\": \"" + Gst.Audio.AudioEncoder.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioFilterClass)\": \"" + Gst.Audio.AudioFilter.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioFilterClass.setup\": \"" + Gst.Audio.AudioFilter.class_abi.GetFieldOffset("setup") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioFilter)\": \"" + Gst.Audio.AudioFilter.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioFilter.info\": \"" + Gst.Audio.AudioFilter.abi_info.GetFieldOffset("info") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioRingBufferClass)\": \"" + Gst.Audio.AudioRingBuffer.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.open_device\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("open_device") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.acquire\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("acquire") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.release\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("release") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.close_device\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("close_device") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.start\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.pause\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("pause") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.resume\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("resume") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.stop\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.delay\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("delay") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.activate\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("activate") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.commit\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("commit") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferClass.clear_all\": \"" + Gst.Audio.AudioRingBuffer.class_abi.GetFieldOffset("clear_all") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioRingBuffer)\": \"" + Gst.Audio.AudioRingBuffer.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.cond\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("cond") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.open\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("open") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.acquired\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("acquired") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.memory\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("memory") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.size\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("size") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.timestamps\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("timestamps") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.spec\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("spec") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.samples_per_seg\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("samples_per_seg") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.empty_seg\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("empty_seg") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.state\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("state") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.segdone\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("segdone") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.segbase\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("segbase") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.waiting\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("waiting") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.callback\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("callback") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.cb_data\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("cb_data") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.need_reorder\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("need_reorder") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.channel_reorder_map\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("channel_reorder_map") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.flushing\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("flushing") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.may_start\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("may_start") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.active\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("active") + "\"");
+                       Console.WriteLine("\"GstAudioRingBuffer.cb_data_notify\": \"" + Gst.Audio.AudioRingBuffer.abi_info.GetFieldOffset("cb_data_notify") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioSinkClass)\": \"" + Gst.Audio.AudioSink.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioSinkClass.open\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("open") + "\"");
+                       Console.WriteLine("\"GstAudioSinkClass.prepare\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("prepare") + "\"");
+                       Console.WriteLine("\"GstAudioSinkClass.unprepare\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("unprepare") + "\"");
+                       Console.WriteLine("\"GstAudioSinkClass.close\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("close") + "\"");
+                       Console.WriteLine("\"GstAudioSinkClass.write\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("write") + "\"");
+                       Console.WriteLine("\"GstAudioSinkClass.delay\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("delay") + "\"");
+                       Console.WriteLine("\"GstAudioSinkClass.reset\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("reset") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioSink)\": \"" + Gst.Audio.AudioSink.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioSink.thread\": \"" + Gst.Audio.AudioSink.abi_info.GetFieldOffset("thread") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioSrcClass)\": \"" + Gst.Audio.AudioSrc.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioSrcClass.open\": \"" + Gst.Audio.AudioSrc.class_abi.GetFieldOffset("open") + "\"");
+                       Console.WriteLine("\"GstAudioSrcClass.prepare\": \"" + Gst.Audio.AudioSrc.class_abi.GetFieldOffset("prepare") + "\"");
+                       Console.WriteLine("\"GstAudioSrcClass.unprepare\": \"" + Gst.Audio.AudioSrc.class_abi.GetFieldOffset("unprepare") + "\"");
+                       Console.WriteLine("\"GstAudioSrcClass.close\": \"" + Gst.Audio.AudioSrc.class_abi.GetFieldOffset("close") + "\"");
+                       Console.WriteLine("\"GstAudioSrcClass.read\": \"" + Gst.Audio.AudioSrc.class_abi.GetFieldOffset("read") + "\"");
+                       Console.WriteLine("\"GstAudioSrcClass.delay\": \"" + Gst.Audio.AudioSrc.class_abi.GetFieldOffset("delay") + "\"");
+                       Console.WriteLine("\"GstAudioSrcClass.reset\": \"" + Gst.Audio.AudioSrc.class_abi.GetFieldOffset("reset") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioSrc)\": \"" + Gst.Audio.AudioSrc.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioSrc.thread\": \"" + Gst.Audio.AudioSrc.abi_info.GetFieldOffset("thread") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioInfo)\": \"" + Gst.Audio.AudioInfo.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioInfo.finfo\": \"" + Gst.Audio.AudioInfo.abi_info.GetFieldOffset("finfo") + "\"");
+                       Console.WriteLine("\"GstAudioInfo.flags\": \"" + Gst.Audio.AudioInfo.abi_info.GetFieldOffset("flags") + "\"");
+                       Console.WriteLine("\"GstAudioInfo.layout\": \"" + Gst.Audio.AudioInfo.abi_info.GetFieldOffset("layout") + "\"");
+                       Console.WriteLine("\"GstAudioInfo.rate\": \"" + Gst.Audio.AudioInfo.abi_info.GetFieldOffset("rate") + "\"");
+                       Console.WriteLine("\"GstAudioInfo.channels\": \"" + Gst.Audio.AudioInfo.abi_info.GetFieldOffset("channels") + "\"");
+                       Console.WriteLine("\"GstAudioInfo.bpf\": \"" + Gst.Audio.AudioInfo.abi_info.GetFieldOffset("bpf") + "\"");
+                       Console.WriteLine("\"GstAudioInfo.position\": \"" + Gst.Audio.AudioInfo.abi_info.GetFieldOffset("position") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioRingBufferSpec)\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferSpec.caps\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.GetFieldOffset("caps") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferSpec.type\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferSpec.info\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.GetFieldOffset("info") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferSpec.latency_time\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.GetFieldOffset("latency_time") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferSpec.buffer_time\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.GetFieldOffset("buffer_time") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferSpec.segsize\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.GetFieldOffset("segsize") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferSpec.segtotal\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.GetFieldOffset("segtotal") + "\"");
+                       Console.WriteLine("\"GstAudioRingBufferSpec.seglatency\": \"" + Gst.Audio.AudioRingBufferSpec.abi_info.GetFieldOffset("seglatency") + "\"");
+                       Console.WriteLine("\"sizeof(GstAggregatorClass)\": \"" + Gst.Base.Aggregator.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.flush\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("flush") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.clip\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("clip") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.finish_buffer\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("finish_buffer") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.sink_event\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("sink_event") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.sink_query\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("sink_query") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.src_event\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("src_event") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.src_query\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("src_query") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.src_activate\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("src_activate") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.aggregate\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("aggregate") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.stop\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.start\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.get_next_time\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("get_next_time") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.create_new_pad\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("create_new_pad") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.update_src_caps\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("update_src_caps") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.fixate_src_caps\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("fixate_src_caps") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.negotiated_src_caps\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("negotiated_src_caps") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.decide_allocation\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("decide_allocation") + "\"");
+                       Console.WriteLine("\"GstAggregatorClass.propose_allocation\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("propose_allocation") + "\"");
+                       Console.WriteLine("\"sizeof(GstAggregator)\": \"" + Gst.Base.Aggregator.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAggregator.srcpad\": \"" + Gst.Base.Aggregator.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstAggregator.segment\": \"" + Gst.Base.Aggregator.abi_info.GetFieldOffset("segment") + "\"");
+                       Console.WriteLine("\"GstAggregator.priv\": \"" + Gst.Base.Aggregator.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAggregatorPadClass)\": \"" + Gst.Base.AggregatorPad.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAggregatorPadClass.flush\": \"" + Gst.Base.AggregatorPad.class_abi.GetFieldOffset("flush") + "\"");
+                       Console.WriteLine("\"GstAggregatorPadClass.skip_buffer\": \"" + Gst.Base.AggregatorPad.class_abi.GetFieldOffset("skip_buffer") + "\"");
+                       Console.WriteLine("\"sizeof(GstAggregatorPad)\": \"" + Gst.Base.AggregatorPad.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAggregatorPad.segment\": \"" + Gst.Base.AggregatorPad.abi_info.GetFieldOffset("segment") + "\"");
+                       Console.WriteLine("\"GstAggregatorPad.priv\": \"" + Gst.Base.AggregatorPad.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstBaseParseClass)\": \"" + Gst.Base.BaseParse.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.start\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.stop\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.set_sink_caps\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("set_sink_caps") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.handle_frame\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("handle_frame") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.pre_push_frame\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("pre_push_frame") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.convert\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("convert") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.sink_event\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("sink_event") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.src_event\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("src_event") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.get_sink_caps\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("get_sink_caps") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.detect\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("detect") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.sink_query\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("sink_query") + "\"");
+                       Console.WriteLine("\"GstBaseParseClass.src_query\": \"" + Gst.Base.BaseParse.class_abi.GetFieldOffset("src_query") + "\"");
+                       Console.WriteLine("\"sizeof(GstBaseParse)\": \"" + Gst.Base.BaseParse.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstBaseParse.sinkpad\": \"" + Gst.Base.BaseParse.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstBaseParse.srcpad\": \"" + Gst.Base.BaseParse.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstBaseParse.flags\": \"" + Gst.Base.BaseParse.abi_info.GetFieldOffset("flags") + "\"");
+                       Console.WriteLine("\"GstBaseParse.segment\": \"" + Gst.Base.BaseParse.abi_info.GetFieldOffset("segment") + "\"");
+                       Console.WriteLine("\"GstBaseParse.priv\": \"" + Gst.Base.BaseParse.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstBaseSinkClass)\": \"" + Gst.Base.BaseSink.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.get_caps\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("get_caps") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.set_caps\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("set_caps") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.fixate\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("fixate") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.activate_pull\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("activate_pull") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.get_times\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("get_times") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.propose_allocation\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("propose_allocation") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.start\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.stop\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.unlock\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("unlock") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.unlock_stop\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("unlock_stop") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.query\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("query") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.event\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("event") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.wait_event\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("wait_event") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.prepare\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("prepare") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.prepare_list\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("prepare_list") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.preroll\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("preroll") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.render\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("render") + "\"");
+                       Console.WriteLine("\"GstBaseSinkClass.render_list\": \"" + Gst.Base.BaseSink.class_abi.GetFieldOffset("render_list") + "\"");
+                       Console.WriteLine("\"sizeof(GstBaseSink)\": \"" + Gst.Base.BaseSink.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstBaseSink.sinkpad\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstBaseSink.pad_mode\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("pad_mode") + "\"");
+                       Console.WriteLine("\"GstBaseSink.offset\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("offset") + "\"");
+                       Console.WriteLine("\"GstBaseSink.can_activate_pull\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("can_activate_pull") + "\"");
+                       Console.WriteLine("\"GstBaseSink.can_activate_push\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("can_activate_push") + "\"");
+                       Console.WriteLine("\"GstBaseSink.preroll_lock\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("preroll_lock") + "\"");
+                       Console.WriteLine("\"GstBaseSink.preroll_cond\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("preroll_cond") + "\"");
+                       Console.WriteLine("\"GstBaseSink.eos\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("eos") + "\"");
+                       Console.WriteLine("\"GstBaseSink.need_preroll\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("need_preroll") + "\"");
+                       Console.WriteLine("\"GstBaseSink.have_preroll\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("have_preroll") + "\"");
+                       Console.WriteLine("\"GstBaseSink.playing_async\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("playing_async") + "\"");
+                       Console.WriteLine("\"GstBaseSink.have_newsegment\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("have_newsegment") + "\"");
+                       Console.WriteLine("\"GstBaseSink.segment\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("segment") + "\"");
+                       Console.WriteLine("\"GstBaseSink.clock_id\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("clock_id") + "\"");
+                       Console.WriteLine("\"GstBaseSink.sync\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("sync") + "\"");
+                       Console.WriteLine("\"GstBaseSink.flushing\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("flushing") + "\"");
+                       Console.WriteLine("\"GstBaseSink.running\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("running") + "\"");
+                       Console.WriteLine("\"GstBaseSink.max_lateness\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("max_lateness") + "\"");
+                       Console.WriteLine("\"GstBaseSink.priv\": \"" + Gst.Base.BaseSink.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstBaseSrcClass)\": \"" + Gst.Base.BaseSrc.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.get_caps\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("get_caps") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.negotiate\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("negotiate") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.fixate\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("fixate") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.set_caps\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("set_caps") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.decide_allocation\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("decide_allocation") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.start\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.stop\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.get_times\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("get_times") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.get_size\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("get_size") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.is_seekable\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("is_seekable") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.prepare_seek_segment\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("prepare_seek_segment") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.do_seek\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("do_seek") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.unlock\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("unlock") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.unlock_stop\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("unlock_stop") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.query\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("query") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.event\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("event") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.create\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("create") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.alloc\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("alloc") + "\"");
+                       Console.WriteLine("\"GstBaseSrcClass.fill\": \"" + Gst.Base.BaseSrc.class_abi.GetFieldOffset("fill") + "\"");
+                       Console.WriteLine("\"sizeof(GstBaseSrc)\": \"" + Gst.Base.BaseSrc.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstBaseSrc.srcpad\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.live_lock\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("live_lock") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.live_cond\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("live_cond") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.is_live\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("is_live") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.live_running\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("live_running") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.blocksize\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("blocksize") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.can_activate_push\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("can_activate_push") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.random_access\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("random_access") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.clock_id\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("clock_id") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.segment\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("segment") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.need_newsegment\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("need_newsegment") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.num_buffers\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("num_buffers") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.num_buffers_left\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("num_buffers_left") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.typefind\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("typefind") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.running\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("running") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.pending_seek\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("pending_seek") + "\"");
+                       Console.WriteLine("\"GstBaseSrc.priv\": \"" + Gst.Base.BaseSrc.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstBaseTransformClass)\": \"" + Gst.Base.BaseTransform.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.passthrough_on_same_caps\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("passthrough_on_same_caps") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.transform_ip_on_passthrough\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("transform_ip_on_passthrough") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.transform_caps\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("transform_caps") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.fixate_caps\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("fixate_caps") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.accept_caps\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("accept_caps") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.set_caps\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("set_caps") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.query\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("query") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.decide_allocation\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("decide_allocation") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.filter_meta\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("filter_meta") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.propose_allocation\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("propose_allocation") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.transform_size\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("transform_size") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.get_unit_size\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("get_unit_size") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.start\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.stop\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.sink_event\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("sink_event") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.src_event\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("src_event") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.prepare_output_buffer\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("prepare_output_buffer") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.copy_metadata\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("copy_metadata") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.transform_meta\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("transform_meta") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.before_transform\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("before_transform") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.transform\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("transform") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.transform_ip\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("transform_ip") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.submit_input_buffer\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("submit_input_buffer") + "\"");
+                       Console.WriteLine("\"GstBaseTransformClass.generate_output\": \"" + Gst.Base.BaseTransform.class_abi.GetFieldOffset("generate_output") + "\"");
+                       Console.WriteLine("\"sizeof(GstBaseTransform)\": \"" + Gst.Base.BaseTransform.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstBaseTransform.sinkpad\": \"" + Gst.Base.BaseTransform.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstBaseTransform.srcpad\": \"" + Gst.Base.BaseTransform.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstBaseTransform.have_segment\": \"" + Gst.Base.BaseTransform.abi_info.GetFieldOffset("have_segment") + "\"");
+                       Console.WriteLine("\"GstBaseTransform.segment\": \"" + Gst.Base.BaseTransform.abi_info.GetFieldOffset("segment") + "\"");
+                       Console.WriteLine("\"GstBaseTransform.queued_buf\": \"" + Gst.Base.BaseTransform.abi_info.GetFieldOffset("queued_buf") + "\"");
+                       Console.WriteLine("\"GstBaseTransform.priv\": \"" + Gst.Base.BaseTransform.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstCollectPadsClass)\": \"" + Gst.Base.CollectPads.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstCollectPads)\": \"" + Gst.Base.CollectPads.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstCollectPads.data\": \"" + Gst.Base.CollectPads.abi_info.GetFieldOffset("data") + "\"");
+                       Console.WriteLine("\"GstCollectPads.stream_lock\": \"" + Gst.Base.CollectPads.abi_info.GetFieldOffset("stream_lock") + "\"");
+                       Console.WriteLine("\"GstCollectPads.priv\": \"" + Gst.Base.CollectPads.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstDataQueueClass)\": \"" + Gst.Base.DataQueue.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstDataQueueClass.empty\": \"" + Gst.Base.DataQueue.class_abi.GetFieldOffset("empty") + "\"");
+                       Console.WriteLine("\"GstDataQueueClass.full\": \"" + Gst.Base.DataQueue.class_abi.GetFieldOffset("full") + "\"");
+                       Console.WriteLine("\"sizeof(GstDataQueue)\": \"" + Gst.Base.DataQueue.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstDataQueue.priv\": \"" + Gst.Base.DataQueue.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstPushSrcClass)\": \"" + Gst.Base.PushSrc.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstPushSrcClass.create\": \"" + Gst.Base.PushSrc.class_abi.GetFieldOffset("create") + "\"");
+                       Console.WriteLine("\"GstPushSrcClass.alloc\": \"" + Gst.Base.PushSrc.class_abi.GetFieldOffset("alloc") + "\"");
+                       Console.WriteLine("\"GstPushSrcClass.fill\": \"" + Gst.Base.PushSrc.class_abi.GetFieldOffset("fill") + "\"");
+                       Console.WriteLine("\"sizeof(GstPushSrc)\": \"" + Gst.Base.PushSrc.abi_info.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstByteReader)\": \"" + Gst.Base.ByteReader.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstByteReader.data\": \"" + Gst.Base.ByteReader.abi_info.GetFieldOffset("data") + "\"");
+                       Console.WriteLine("\"GstByteReader.size\": \"" + Gst.Base.ByteReader.abi_info.GetFieldOffset("size") + "\"");
+                       Console.WriteLine("\"GstByteReader.byte\": \"" + Gst.Base.ByteReader.abi_info.GetFieldOffset("byte") + "\"");
+                       Console.WriteLine("\"sizeof(GstARGBControlBindingClass)\": \"" + Gst.Controller.ARGBControlBinding.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstARGBControlBinding)\": \"" + Gst.Controller.ARGBControlBinding.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstARGBControlBinding.cs_a\": \"" + Gst.Controller.ARGBControlBinding.abi_info.GetFieldOffset("cs_a") + "\"");
+                       Console.WriteLine("\"GstARGBControlBinding.cs_r\": \"" + Gst.Controller.ARGBControlBinding.abi_info.GetFieldOffset("cs_r") + "\"");
+                       Console.WriteLine("\"GstARGBControlBinding.cs_g\": \"" + Gst.Controller.ARGBControlBinding.abi_info.GetFieldOffset("cs_g") + "\"");
+                       Console.WriteLine("\"GstARGBControlBinding.cs_b\": \"" + Gst.Controller.ARGBControlBinding.abi_info.GetFieldOffset("cs_b") + "\"");
+                       Console.WriteLine("\"GstARGBControlBinding.cur_value\": \"" + Gst.Controller.ARGBControlBinding.abi_info.GetFieldOffset("cur_value") + "\"");
+                       Console.WriteLine("\"GstARGBControlBinding.last_value\": \"" + Gst.Controller.ARGBControlBinding.abi_info.GetFieldOffset("last_value") + "\"");
+                       Console.WriteLine("\"sizeof(GstDirectControlBindingClass)\": \"" + Gst.Controller.DirectControlBinding.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstDirectControlBinding)\": \"" + Gst.Controller.DirectControlBinding.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstDirectControlBinding.cs\": \"" + Gst.Controller.DirectControlBinding.abi_info.GetFieldOffset("cs") + "\"");
+                       Console.WriteLine("\"GstDirectControlBinding.cur_value\": \"" + Gst.Controller.DirectControlBinding.abi_info.GetFieldOffset("cur_value") + "\"");
+                       Console.WriteLine("\"GstDirectControlBinding.last_value\": \"" + Gst.Controller.DirectControlBinding.abi_info.GetFieldOffset("last_value") + "\"");
+                       Console.WriteLine("\"GstDirectControlBinding.byte_size\": \"" + Gst.Controller.DirectControlBinding.abi_info.GetFieldOffset("byte_size") + "\"");
+                       Console.WriteLine("\"GstDirectControlBinding.convert_value\": \"" + Gst.Controller.DirectControlBinding.abi_info.GetFieldOffset("convert_value") + "\"");
+                       Console.WriteLine("\"GstDirectControlBinding.convert_g_value\": \"" + Gst.Controller.DirectControlBinding.abi_info.GetFieldOffset("convert_g_value") + "\"");
+                       Console.WriteLine("\"sizeof(GstInterpolationControlSourceClass)\": \"" + Gst.Controller.InterpolationControlSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstInterpolationControlSource)\": \"" + Gst.Controller.InterpolationControlSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstInterpolationControlSource.priv\": \"" + Gst.Controller.InterpolationControlSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstLFOControlSourceClass)\": \"" + Gst.Controller.LFOControlSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstLFOControlSource)\": \"" + Gst.Controller.LFOControlSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstLFOControlSource.priv\": \"" + Gst.Controller.LFOControlSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GstLFOControlSource.lock\": \"" + Gst.Controller.LFOControlSource.abi_info.GetFieldOffset("lock") + "\"");
+                       Console.WriteLine("\"sizeof(GstTimedValueControlSourceClass)\": \"" + Gst.Controller.TimedValueControlSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstTimedValueControlSource)\": \"" + Gst.Controller.TimedValueControlSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstTimedValueControlSource.lock\": \"" + Gst.Controller.TimedValueControlSource.abi_info.GetFieldOffset("lock") + "\"");
+                       Console.WriteLine("\"GstTimedValueControlSource.values\": \"" + Gst.Controller.TimedValueControlSource.abi_info.GetFieldOffset("values") + "\"");
+                       Console.WriteLine("\"GstTimedValueControlSource.nvalues\": \"" + Gst.Controller.TimedValueControlSource.abi_info.GetFieldOffset("nvalues") + "\"");
+                       Console.WriteLine("\"GstTimedValueControlSource.valid_cache\": \"" + Gst.Controller.TimedValueControlSource.abi_info.GetFieldOffset("valid_cache") + "\"");
+                       Console.WriteLine("\"GstTimedValueControlSource.priv\": \"" + Gst.Controller.TimedValueControlSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstTriggerControlSourceClass)\": \"" + Gst.Controller.TriggerControlSource.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstTriggerControlSource)\": \"" + Gst.Controller.TriggerControlSource.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstTriggerControlSource.priv\": \"" + Gst.Controller.TriggerControlSource.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstNetClientClockClass)\": \"" + Gst.Net.NetClientClock.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstNetClientClock)\": \"" + Gst.Net.NetClientClock.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstNetClientClock.priv\": \"" + Gst.Net.NetClientClock.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstNetTimeProviderClass)\": \"" + Gst.Net.NetTimeProvider.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstNetTimeProvider)\": \"" + Gst.Net.NetTimeProvider.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstNetTimeProvider.priv\": \"" + Gst.Net.NetTimeProvider.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstPtpClockClass)\": \"" + Gst.Net.PtpClock.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstPtpClock)\": \"" + Gst.Net.PtpClock.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstPtpClock.priv\": \"" + Gst.Net.PtpClock.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioVisualizerClass)\": \"" + Gst.PbUtils.AudioVisualizer.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstAudioVisualizerClass.setup\": \"" + Gst.PbUtils.AudioVisualizer.class_abi.GetFieldOffset("setup") + "\"");
+                       Console.WriteLine("\"GstAudioVisualizerClass.render\": \"" + Gst.PbUtils.AudioVisualizer.class_abi.GetFieldOffset("render") + "\"");
+                       Console.WriteLine("\"GstAudioVisualizerClass.decide_allocation\": \"" + Gst.PbUtils.AudioVisualizer.class_abi.GetFieldOffset("decide_allocation") + "\"");
+                       Console.WriteLine("\"sizeof(GstAudioVisualizer)\": \"" + Gst.PbUtils.AudioVisualizer.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstAudioVisualizer.req_spf\": \"" + Gst.PbUtils.AudioVisualizer.abi_info.GetFieldOffset("req_spf") + "\"");
+                       Console.WriteLine("\"GstAudioVisualizer.vinfo\": \"" + Gst.PbUtils.AudioVisualizer.abi_info.GetFieldOffset("vinfo") + "\"");
+                       Console.WriteLine("\"GstAudioVisualizer.ainfo\": \"" + Gst.PbUtils.AudioVisualizer.abi_info.GetFieldOffset("ainfo") + "\"");
+                       Console.WriteLine("\"GstAudioVisualizer.priv\": \"" + Gst.PbUtils.AudioVisualizer.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstDiscovererClass)\": \"" + Gst.PbUtils.Discoverer.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstDiscovererClass.finished\": \"" + Gst.PbUtils.Discoverer.class_abi.GetFieldOffset("finished") + "\"");
+                       Console.WriteLine("\"GstDiscovererClass.starting\": \"" + Gst.PbUtils.Discoverer.class_abi.GetFieldOffset("starting") + "\"");
+                       Console.WriteLine("\"GstDiscovererClass.discovered\": \"" + Gst.PbUtils.Discoverer.class_abi.GetFieldOffset("discovered") + "\"");
+                       Console.WriteLine("\"GstDiscovererClass.source_setup\": \"" + Gst.PbUtils.Discoverer.class_abi.GetFieldOffset("source_setup") + "\"");
+                       Console.WriteLine("\"GstDiscovererClass._reserved\": \"" + Gst.PbUtils.Discoverer.class_abi.GetFieldOffset("_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GstDiscoverer)\": \"" + Gst.PbUtils.Discoverer.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstDiscoverer.priv\": \"" + Gst.PbUtils.Discoverer.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GstDiscoverer._reserved\": \"" + Gst.PbUtils.Discoverer.abi_info.GetFieldOffset("_reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTPBaseAudioPayloadClass)\": \"" + Gst.Rtp.RTPBaseAudioPayload.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTPBaseAudioPayload)\": \"" + Gst.Rtp.RTPBaseAudioPayload.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTPBaseAudioPayload.priv\": \"" + Gst.Rtp.RTPBaseAudioPayload.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GstRTPBaseAudioPayload.base_ts\": \"" + Gst.Rtp.RTPBaseAudioPayload.abi_info.GetFieldOffset("base_ts") + "\"");
+                       Console.WriteLine("\"GstRTPBaseAudioPayload.frame_size\": \"" + Gst.Rtp.RTPBaseAudioPayload.abi_info.GetFieldOffset("frame_size") + "\"");
+                       Console.WriteLine("\"GstRTPBaseAudioPayload.frame_duration\": \"" + Gst.Rtp.RTPBaseAudioPayload.abi_info.GetFieldOffset("frame_duration") + "\"");
+                       Console.WriteLine("\"GstRTPBaseAudioPayload.sample_size\": \"" + Gst.Rtp.RTPBaseAudioPayload.abi_info.GetFieldOffset("sample_size") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTPBaseDepayloadClass)\": \"" + Gst.Rtp.RTPBaseDepayload.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayloadClass.set_caps\": \"" + Gst.Rtp.RTPBaseDepayload.class_abi.GetFieldOffset("set_caps") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayloadClass.process\": \"" + Gst.Rtp.RTPBaseDepayload.class_abi.GetFieldOffset("process") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayloadClass.packet_lost\": \"" + Gst.Rtp.RTPBaseDepayload.class_abi.GetFieldOffset("packet_lost") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayloadClass.handle_event\": \"" + Gst.Rtp.RTPBaseDepayload.class_abi.GetFieldOffset("handle_event") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayloadClass.process_rtp_packet\": \"" + Gst.Rtp.RTPBaseDepayload.class_abi.GetFieldOffset("process_rtp_packet") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTPBaseDepayload)\": \"" + Gst.Rtp.RTPBaseDepayload.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayload.sinkpad\": \"" + Gst.Rtp.RTPBaseDepayload.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayload.srcpad\": \"" + Gst.Rtp.RTPBaseDepayload.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayload.clock_rate\": \"" + Gst.Rtp.RTPBaseDepayload.abi_info.GetFieldOffset("clock_rate") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayload.segment\": \"" + Gst.Rtp.RTPBaseDepayload.abi_info.GetFieldOffset("segment") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayload.need_newsegment\": \"" + Gst.Rtp.RTPBaseDepayload.abi_info.GetFieldOffset("need_newsegment") + "\"");
+                       Console.WriteLine("\"GstRTPBaseDepayload.priv\": \"" + Gst.Rtp.RTPBaseDepayload.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTPBasePayloadClass)\": \"" + Gst.Rtp.RTPBasePayload.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTPBasePayloadClass.get_caps\": \"" + Gst.Rtp.RTPBasePayload.class_abi.GetFieldOffset("get_caps") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayloadClass.set_caps\": \"" + Gst.Rtp.RTPBasePayload.class_abi.GetFieldOffset("set_caps") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayloadClass.handle_buffer\": \"" + Gst.Rtp.RTPBasePayload.class_abi.GetFieldOffset("handle_buffer") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayloadClass.sink_event\": \"" + Gst.Rtp.RTPBasePayload.class_abi.GetFieldOffset("sink_event") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayloadClass.src_event\": \"" + Gst.Rtp.RTPBasePayload.class_abi.GetFieldOffset("src_event") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayloadClass.query\": \"" + Gst.Rtp.RTPBasePayload.class_abi.GetFieldOffset("query") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTPBasePayload)\": \"" + Gst.Rtp.RTPBasePayload.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.sinkpad\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.srcpad\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.ts_base\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("ts_base") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.seqnum_base\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("seqnum_base") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.media\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("media") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.encoding_name\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("encoding_name") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.dynamic\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("dynamic") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.clock_rate\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("clock_rate") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.ts_offset\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("ts_offset") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.timestamp\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("timestamp") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.seqnum_offset\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("seqnum_offset") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.seqnum\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("seqnum") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.max_ptime\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("max_ptime") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.pt\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("pt") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.ssrc\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("ssrc") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.current_ssrc\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("current_ssrc") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.mtu\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("mtu") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.segment\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("segment") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.min_ptime\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("min_ptime") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.ptime\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("ptime") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.ptime_multiple\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("ptime_multiple") + "\"");
+                       Console.WriteLine("\"GstRTPBasePayload.priv\": \"" + Gst.Rtp.RTPBasePayload.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstMIKEYMessage)\": \"" + Gst.Sdp.MIKEYMessage.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstMIKEYMessage.version\": \"" + Gst.Sdp.MIKEYMessage.abi_info.GetFieldOffset("version") + "\"");
+                       Console.WriteLine("\"GstMIKEYMessage.type\": \"" + Gst.Sdp.MIKEYMessage.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstMIKEYMessage.V\": \"" + Gst.Sdp.MIKEYMessage.abi_info.GetFieldOffset("V") + "\"");
+                       Console.WriteLine("\"GstMIKEYMessage.prf_func\": \"" + Gst.Sdp.MIKEYMessage.abi_info.GetFieldOffset("prf_func") + "\"");
+                       Console.WriteLine("\"GstMIKEYMessage.CSB_id\": \"" + Gst.Sdp.MIKEYMessage.abi_info.GetFieldOffset("CSB_id") + "\"");
+                       Console.WriteLine("\"GstMIKEYMessage.map_type\": \"" + Gst.Sdp.MIKEYMessage.abi_info.GetFieldOffset("map_type") + "\"");
+                       Console.WriteLine("\"GstMIKEYMessage.map_info\": \"" + Gst.Sdp.MIKEYMessage.abi_info.GetFieldOffset("map_info") + "\"");
+                       Console.WriteLine("\"GstMIKEYMessage.payloads\": \"" + Gst.Sdp.MIKEYMessage.abi_info.GetFieldOffset("payloads") + "\"");
+                       Console.WriteLine("\"sizeof(GstMIKEYPayload)\": \"" + Gst.Sdp.MIKEYPayload.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstMIKEYPayload.type\": \"" + Gst.Sdp.MIKEYPayload.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstMIKEYPayload.len\": \"" + Gst.Sdp.MIKEYPayload.abi_info.GetFieldOffset("len") + "\"");
+                       Console.WriteLine("\"sizeof(GstTagDemuxClass)\": \"" + Gst.Tags.TagDemux.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstTagDemuxClass.min_start_size\": \"" + Gst.Tags.TagDemux.class_abi.GetFieldOffset("min_start_size") + "\"");
+                       Console.WriteLine("\"GstTagDemuxClass.min_end_size\": \"" + Gst.Tags.TagDemux.class_abi.GetFieldOffset("min_end_size") + "\"");
+                       Console.WriteLine("\"GstTagDemuxClass.identify_tag\": \"" + Gst.Tags.TagDemux.class_abi.GetFieldOffset("identify_tag") + "\"");
+                       Console.WriteLine("\"GstTagDemuxClass.parse_tag\": \"" + Gst.Tags.TagDemux.class_abi.GetFieldOffset("parse_tag") + "\"");
+                       Console.WriteLine("\"GstTagDemuxClass.merge_tags\": \"" + Gst.Tags.TagDemux.class_abi.GetFieldOffset("merge_tags") + "\"");
+                       Console.WriteLine("\"GstTagDemuxClass.reserved\": \"" + Gst.Tags.TagDemux.class_abi.GetFieldOffset("reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GstTagDemux)\": \"" + Gst.Tags.TagDemux.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstTagDemux.priv\": \"" + Gst.Tags.TagDemux.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"GstTagDemux.reserved\": \"" + Gst.Tags.TagDemux.abi_info.GetFieldOffset("reserved") + "\"");
+                       Console.WriteLine("\"sizeof(GstTagMuxClass)\": \"" + Gst.Tags.TagMux.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstTagMuxClass.render_start_tag\": \"" + Gst.Tags.TagMux.class_abi.GetFieldOffset("render_start_tag") + "\"");
+                       Console.WriteLine("\"GstTagMuxClass.render_end_tag\": \"" + Gst.Tags.TagMux.class_abi.GetFieldOffset("render_end_tag") + "\"");
+                       Console.WriteLine("\"sizeof(GstTagMux)\": \"" + Gst.Tags.TagMux.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstTagMux.priv\": \"" + Gst.Tags.TagMux.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstColorBalanceChannelClass)\": \"" + Gst.Video.ColorBalanceChannel.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstColorBalanceChannelClass.value_changed\": \"" + Gst.Video.ColorBalanceChannel.class_abi.GetFieldOffset("value_changed") + "\"");
+                       Console.WriteLine("\"sizeof(GstColorBalanceChannel)\": \"" + Gst.Video.ColorBalanceChannel.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstColorBalanceChannel.label\": \"" + Gst.Video.ColorBalanceChannel.abi_info.GetFieldOffset("label") + "\"");
+                       Console.WriteLine("\"GstColorBalanceChannel.min_value\": \"" + Gst.Video.ColorBalanceChannel.abi_info.GetFieldOffset("min_value") + "\"");
+                       Console.WriteLine("\"GstColorBalanceChannel.max_value\": \"" + Gst.Video.ColorBalanceChannel.abi_info.GetFieldOffset("max_value") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoBufferPool)\": \"" + Gst.Video.VideoBufferPool.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstVideoBufferPool.priv\": \"" + Gst.Video.VideoBufferPool.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoDecoderClass)\": \"" + Gst.Video.VideoDecoder.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.open\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("open") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.close\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("close") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.start\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.stop\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.parse\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("parse") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.set_format\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("set_format") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.reset\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("reset") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.finish\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("finish") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.handle_frame\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("handle_frame") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.sink_event\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("sink_event") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.src_event\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("src_event") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.negotiate\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("negotiate") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.decide_allocation\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("decide_allocation") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.propose_allocation\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("propose_allocation") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.flush\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("flush") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.sink_query\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("sink_query") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.src_query\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("src_query") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.getcaps\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("getcaps") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.drain\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("drain") + "\"");
+                       Console.WriteLine("\"GstVideoDecoderClass.transform_meta\": \"" + Gst.Video.VideoDecoder.class_abi.GetFieldOffset("transform_meta") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoDecoder)\": \"" + Gst.Video.VideoDecoder.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstVideoDecoder.sinkpad\": \"" + Gst.Video.VideoDecoder.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstVideoDecoder.srcpad\": \"" + Gst.Video.VideoDecoder.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstVideoDecoder.stream_lock\": \"" + Gst.Video.VideoDecoder.abi_info.GetFieldOffset("stream_lock") + "\"");
+                       Console.WriteLine("\"GstVideoDecoder.input_segment\": \"" + Gst.Video.VideoDecoder.abi_info.GetFieldOffset("input_segment") + "\"");
+                       Console.WriteLine("\"GstVideoDecoder.output_segment\": \"" + Gst.Video.VideoDecoder.abi_info.GetFieldOffset("output_segment") + "\"");
+                       Console.WriteLine("\"GstVideoDecoder.priv\": \"" + Gst.Video.VideoDecoder.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoEncoderClass)\": \"" + Gst.Video.VideoEncoder.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.open\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("open") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.close\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("close") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.start\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("start") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.stop\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("stop") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.set_format\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("set_format") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.handle_frame\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("handle_frame") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.reset\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("reset") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.finish\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("finish") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.pre_push\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("pre_push") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.getcaps\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("getcaps") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.sink_event\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("sink_event") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.src_event\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("src_event") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.negotiate\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("negotiate") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.decide_allocation\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("decide_allocation") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.propose_allocation\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("propose_allocation") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.flush\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("flush") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.sink_query\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("sink_query") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.src_query\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("src_query") + "\"");
+                       Console.WriteLine("\"GstVideoEncoderClass.transform_meta\": \"" + Gst.Video.VideoEncoder.class_abi.GetFieldOffset("transform_meta") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoEncoder)\": \"" + Gst.Video.VideoEncoder.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstVideoEncoder.sinkpad\": \"" + Gst.Video.VideoEncoder.abi_info.GetFieldOffset("sinkpad") + "\"");
+                       Console.WriteLine("\"GstVideoEncoder.srcpad\": \"" + Gst.Video.VideoEncoder.abi_info.GetFieldOffset("srcpad") + "\"");
+                       Console.WriteLine("\"GstVideoEncoder.stream_lock\": \"" + Gst.Video.VideoEncoder.abi_info.GetFieldOffset("stream_lock") + "\"");
+                       Console.WriteLine("\"GstVideoEncoder.input_segment\": \"" + Gst.Video.VideoEncoder.abi_info.GetFieldOffset("input_segment") + "\"");
+                       Console.WriteLine("\"GstVideoEncoder.output_segment\": \"" + Gst.Video.VideoEncoder.abi_info.GetFieldOffset("output_segment") + "\"");
+                       Console.WriteLine("\"GstVideoEncoder.priv\": \"" + Gst.Video.VideoEncoder.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoFilterClass)\": \"" + Gst.Video.VideoFilter.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstVideoFilterClass.set_info\": \"" + Gst.Video.VideoFilter.class_abi.GetFieldOffset("set_info") + "\"");
+                       Console.WriteLine("\"GstVideoFilterClass.transform_frame\": \"" + Gst.Video.VideoFilter.class_abi.GetFieldOffset("transform_frame") + "\"");
+                       Console.WriteLine("\"GstVideoFilterClass.transform_frame_ip\": \"" + Gst.Video.VideoFilter.class_abi.GetFieldOffset("transform_frame_ip") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoFilter)\": \"" + Gst.Video.VideoFilter.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstVideoFilter.negotiated\": \"" + Gst.Video.VideoFilter.abi_info.GetFieldOffset("negotiated") + "\"");
+                       Console.WriteLine("\"GstVideoFilter.in_info\": \"" + Gst.Video.VideoFilter.abi_info.GetFieldOffset("in_info") + "\"");
+                       Console.WriteLine("\"GstVideoFilter.out_info\": \"" + Gst.Video.VideoFilter.abi_info.GetFieldOffset("out_info") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoSinkClass)\": \"" + Gst.Video.VideoSink.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstVideoSinkClass.show_frame\": \"" + Gst.Video.VideoSink.class_abi.GetFieldOffset("show_frame") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoSink)\": \"" + Gst.Video.VideoSink.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstVideoSink.width\": \"" + Gst.Video.VideoSink.abi_info.GetFieldOffset("width") + "\"");
+                       Console.WriteLine("\"GstVideoSink.height\": \"" + Gst.Video.VideoSink.abi_info.GetFieldOffset("height") + "\"");
+                       Console.WriteLine("\"GstVideoSink.priv\": \"" + Gst.Video.VideoSink.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstVideoInfo)\": \"" + Gst.Video.VideoInfo.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstVideoInfo.finfo\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("finfo") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.interlace_mode\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("interlace_mode") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.flags\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("flags") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.width\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("width") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.height\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("height") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.size\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("size") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.views\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("views") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.chroma_site\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("chroma_site") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.colorimetry\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("colorimetry") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.par_n\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("par_n") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.par_d\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("par_d") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.fps_n\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("fps_n") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.fps_d\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("fps_d") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.offset\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("offset") + "\"");
+                       Console.WriteLine("\"GstVideoInfo.stride\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("stride") + "\"");
+               }
+       }
+}
diff --git a/sources/generated/gstreamer-sharp-api.xml b/sources/generated/gstreamer-sharp-api.xml
new file mode 100644 (file)
index 0000000..88fa6fe
--- /dev/null
@@ -0,0 +1,28759 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api parser_version="3">
+  <namespace name="Gst" library="libgstreamer-1.0-0.dll">
+    <enum name="BufferingMode" cname="GstBufferingMode" type="enum" gtype="gst_buffering_mode_get_type">
+      <member cname="GST_BUFFERING_STREAM" name="Stream" value="0" />
+      <member cname="GST_BUFFERING_DOWNLOAD" name="Download" value="1" />
+      <member cname="GST_BUFFERING_TIMESHIFT" name="Timeshift" value="2" />
+      <member cname="GST_BUFFERING_LIVE" name="Live" value="3" />
+    </enum>
+    <enum name="BusSyncReply" cname="GstBusSyncReply" type="enum" gtype="gst_bus_sync_reply_get_type">
+      <member cname="GST_BUS_DROP" name="Drop" value="0" />
+      <member cname="GST_BUS_PASS" name="Pass" value="1" />
+      <member cname="GST_BUS_ASYNC" name="Async" value="2" />
+    </enum>
+    <enum name="CapsIntersectMode" cname="GstCapsIntersectMode" type="enum" gtype="gst_caps_intersect_mode_get_type">
+      <member cname="GST_CAPS_INTERSECT_ZIG_ZAG" name="ZigZag" value="0" />
+      <member cname="GST_CAPS_INTERSECT_FIRST" name="First" value="1" />
+    </enum>
+    <enum name="ClockEntryType" cname="GstClockEntryType" type="enum" gtype="gst_clock_entry_type_get_type">
+      <member cname="GST_CLOCK_ENTRY_SINGLE" name="Single" value="0" />
+      <member cname="GST_CLOCK_ENTRY_PERIODIC" name="Periodic" value="1" />
+    </enum>
+    <enum name="ClockReturn" cname="GstClockReturn" type="enum" gtype="gst_clock_return_get_type">
+      <member cname="GST_CLOCK_OK" name="Ok" value="0" />
+      <member cname="GST_CLOCK_EARLY" name="Early" value="1" />
+      <member cname="GST_CLOCK_UNSCHEDULED" name="Unscheduled" value="2" />
+      <member cname="GST_CLOCK_BUSY" name="Busy" value="3" />
+      <member cname="GST_CLOCK_BADTIME" name="Badtime" value="4" />
+      <member cname="GST_CLOCK_ERROR" name="Error" value="5" />
+      <member cname="GST_CLOCK_UNSUPPORTED" name="Unsupported" value="6" />
+      <member cname="GST_CLOCK_DONE" name="Done" value="7" />
+    </enum>
+    <enum name="ClockType" cname="GstClockType" type="enum" gtype="gst_clock_type_get_type">
+      <member cname="GST_CLOCK_TYPE_REALTIME" name="Realtime" value="0" />
+      <member cname="GST_CLOCK_TYPE_MONOTONIC" name="Monotonic" value="1" />
+      <member cname="GST_CLOCK_TYPE_OTHER" name="Other" value="2" />
+    </enum>
+    <enum name="CoreError" cname="GstCoreError" type="enum" gtype="gst_core_error_get_type">
+      <member cname="GST_CORE_ERROR_FAILED" name="Failed" value="1" />
+      <member cname="GST_CORE_ERROR_TOO_LAZY" name="TooLazy" value="2" />
+      <member cname="GST_CORE_ERROR_NOT_IMPLEMENTED" name="NotImplemented" value="3" />
+      <member cname="GST_CORE_ERROR_STATE_CHANGE" name="StateChange" value="4" />
+      <member cname="GST_CORE_ERROR_PAD" name="Pad" value="5" />
+      <member cname="GST_CORE_ERROR_THREAD" name="Thread" value="6" />
+      <member cname="GST_CORE_ERROR_NEGOTIATION" name="Negotiation" value="7" />
+      <member cname="GST_CORE_ERROR_EVENT" name="Event" value="8" />
+      <member cname="GST_CORE_ERROR_SEEK" name="Seek" value="9" />
+      <member cname="GST_CORE_ERROR_CAPS" name="Caps" value="10" />
+      <member cname="GST_CORE_ERROR_TAG" name="Tag" value="11" />
+      <member cname="GST_CORE_ERROR_MISSING_PLUGIN" name="MissingPlugin" value="12" />
+      <member cname="GST_CORE_ERROR_CLOCK" name="Clock" value="13" />
+      <member cname="GST_CORE_ERROR_DISABLED" name="Disabled" value="14" />
+      <member cname="GST_CORE_ERROR_NUM_ERRORS" name="NumErrors" value="15" />
+    </enum>
+    <enum name="DebugColorMode" cname="GstDebugColorMode" type="enum" gtype="gst_debug_color_mode_get_type">
+      <member cname="GST_DEBUG_COLOR_MODE_OFF" name="Off" value="0" />
+      <member cname="GST_DEBUG_COLOR_MODE_ON" name="On" value="1" />
+      <member cname="GST_DEBUG_COLOR_MODE_UNIX" name="Unix" value="2" />
+    </enum>
+    <enum name="DebugLevel" cname="GstDebugLevel" type="enum" gtype="gst_debug_level_get_type">
+      <member cname="GST_LEVEL_NONE" name="None" value="0" />
+      <member cname="GST_LEVEL_ERROR" name="Error" value="1" />
+      <member cname="GST_LEVEL_WARNING" name="Warning" value="2" />
+      <member cname="GST_LEVEL_FIXME" name="Fixme" value="3" />
+      <member cname="GST_LEVEL_INFO" name="Info" value="4" />
+      <member cname="GST_LEVEL_DEBUG" name="Debug" value="5" />
+      <member cname="GST_LEVEL_LOG" name="Log" value="6" />
+      <member cname="GST_LEVEL_TRACE" name="Trace" value="7" />
+      <member cname="GST_LEVEL_MEMDUMP" name="Memdump" value="9" />
+      <member cname="GST_LEVEL_COUNT" name="Count" value="10" />
+    </enum>
+    <enum name="EventType" cname="GstEventType" type="enum" gtype="gst_event_type_get_type">
+      <member cname="GST_EVENT_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_EVENT_FLUSH_START" name="FlushStart" value="2563" />
+      <member cname="GST_EVENT_FLUSH_STOP" name="FlushStop" value="5127" />
+      <member cname="GST_EVENT_STREAM_START" name="StreamStart" value="10254" />
+      <member cname="GST_EVENT_CAPS" name="Caps" value="12814" />
+      <member cname="GST_EVENT_SEGMENT" name="Segment" value="17934" />
+      <member cname="GST_EVENT_STREAM_COLLECTION" name="StreamCollection" value="19230" />
+      <member cname="GST_EVENT_TAG" name="Tag" value="20510" />
+      <member cname="GST_EVENT_BUFFERSIZE" name="Buffersize" value="23054" />
+      <member cname="GST_EVENT_SINK_MESSAGE" name="SinkMessage" value="25630" />
+      <member cname="GST_EVENT_STREAM_GROUP_DONE" name="StreamGroupDone" value="26894" />
+      <member cname="GST_EVENT_EOS" name="Eos" value="28174" />
+      <member cname="GST_EVENT_TOC" name="Toc" value="30750" />
+      <member cname="GST_EVENT_PROTECTION" name="Protection" value="33310" />
+      <member cname="GST_EVENT_SEGMENT_DONE" name="SegmentDone" value="38406" />
+      <member cname="GST_EVENT_GAP" name="Gap" value="40966" />
+      <member cname="GST_EVENT_QOS" name="Qos" value="48641" />
+      <member cname="GST_EVENT_SEEK" name="Seek" value="51201" />
+      <member cname="GST_EVENT_NAVIGATION" name="Navigation" value="53761" />
+      <member cname="GST_EVENT_LATENCY" name="Latency" value="56321" />
+      <member cname="GST_EVENT_STEP" name="Step" value="58881" />
+      <member cname="GST_EVENT_RECONFIGURE" name="Reconfigure" value="61441" />
+      <member cname="GST_EVENT_TOC_SELECT" name="TocSelect" value="64001" />
+      <member cname="GST_EVENT_SELECT_STREAMS" name="SelectStreams" value="66561" />
+      <member cname="GST_EVENT_CUSTOM_UPSTREAM" name="CustomUpstream" value="69121" />
+      <member cname="GST_EVENT_CUSTOM_DOWNSTREAM" name="CustomDownstream" value="71686" />
+      <member cname="GST_EVENT_CUSTOM_DOWNSTREAM_OOB" name="CustomDownstreamOob" value="74242" />
+      <member cname="GST_EVENT_CUSTOM_DOWNSTREAM_STICKY" name="CustomDownstreamSticky" value="76830" />
+      <member cname="GST_EVENT_CUSTOM_BOTH" name="CustomBoth" value="79367" />
+      <member cname="GST_EVENT_CUSTOM_BOTH_OOB" name="CustomBothOob" value="81923" />
+    </enum>
+    <enum name="FlowReturn" cname="GstFlowReturn" type="enum" gtype="gst_flow_return_get_type">
+      <member cname="GST_FLOW_CUSTOM_ERROR_2" name="CustomError2" value="-102" />
+      <member cname="GST_FLOW_CUSTOM_ERROR_1" name="CustomError1" value="-101" />
+      <member cname="GST_FLOW_CUSTOM_ERROR" name="CustomError" value="-100" />
+      <member cname="GST_FLOW_NOT_SUPPORTED" name="NotSupported" value="-6" />
+      <member cname="GST_FLOW_ERROR" name="Error" value="-5" />
+      <member cname="GST_FLOW_NOT_NEGOTIATED" name="NotNegotiated" value="-4" />
+      <member cname="GST_FLOW_EOS" name="Eos" value="-3" />
+      <member cname="GST_FLOW_FLUSHING" name="Flushing" value="-2" />
+      <member cname="GST_FLOW_NOT_LINKED" name="NotLinked" value="-1" />
+      <member cname="GST_FLOW_OK" name="Ok" value="0" />
+      <member cname="GST_FLOW_CUSTOM_SUCCESS" name="CustomSuccess" value="100" />
+      <member cname="GST_FLOW_CUSTOM_SUCCESS_1" name="CustomSuccess1" value="101" />
+      <member cname="GST_FLOW_CUSTOM_SUCCESS_2" name="CustomSuccess2" value="102" />
+    </enum>
+    <enum name="Format" cname="GstFormat" type="enum" gtype="gst_format_get_type">
+      <member cname="GST_FORMAT_UNDEFINED" name="Undefined" value="0" />
+      <member cname="GST_FORMAT_DEFAULT" name="Default" value="1" />
+      <member cname="GST_FORMAT_BYTES" name="Bytes" value="2" />
+      <member cname="GST_FORMAT_TIME" name="Time" value="3" />
+      <member cname="GST_FORMAT_BUFFERS" name="Buffers" value="4" />
+      <member cname="GST_FORMAT_PERCENT" name="Percent" value="5" />
+    </enum>
+    <enum name="IteratorItem" cname="GstIteratorItem" type="enum" gtype="gst_iterator_item_get_type">
+      <member cname="GST_ITERATOR_ITEM_SKIP" name="Skip" value="0" />
+      <member cname="GST_ITERATOR_ITEM_PASS" name="Pass" value="1" />
+      <member cname="GST_ITERATOR_ITEM_END" name="End" value="2" />
+    </enum>
+    <enum name="IteratorResult" cname="GstIteratorResult" type="enum" gtype="gst_iterator_result_get_type">
+      <member cname="GST_ITERATOR_DONE" name="Done" value="0" />
+      <member cname="GST_ITERATOR_OK" name="Ok" value="1" />
+      <member cname="GST_ITERATOR_RESYNC" name="Resync" value="2" />
+      <member cname="GST_ITERATOR_ERROR" name="Error" value="3" />
+    </enum>
+    <enum name="LibraryError" cname="GstLibraryError" type="enum" gtype="gst_library_error_get_type">
+      <member cname="GST_LIBRARY_ERROR_FAILED" name="Failed" value="1" />
+      <member cname="GST_LIBRARY_ERROR_TOO_LAZY" name="TooLazy" value="2" />
+      <member cname="GST_LIBRARY_ERROR_INIT" name="Init" value="3" />
+      <member cname="GST_LIBRARY_ERROR_SHUTDOWN" name="Shutdown" value="4" />
+      <member cname="GST_LIBRARY_ERROR_SETTINGS" name="Settings" value="5" />
+      <member cname="GST_LIBRARY_ERROR_ENCODE" name="Encode" value="6" />
+      <member cname="GST_LIBRARY_ERROR_NUM_ERRORS" name="NumErrors" value="7" />
+    </enum>
+    <enum name="PadDirection" cname="GstPadDirection" type="enum" gtype="gst_pad_direction_get_type">
+      <member cname="GST_PAD_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_PAD_SRC" name="Src" value="1" />
+      <member cname="GST_PAD_SINK" name="Sink" value="2" />
+    </enum>
+    <enum name="PadLinkReturn" cname="GstPadLinkReturn" type="enum" gtype="gst_pad_link_return_get_type">
+      <member cname="GST_PAD_LINK_REFUSED" name="Refused" value="-6" />
+      <member cname="GST_PAD_LINK_NOSCHED" name="Nosched" value="-5" />
+      <member cname="GST_PAD_LINK_NOFORMAT" name="Noformat" value="-4" />
+      <member cname="GST_PAD_LINK_WRONG_DIRECTION" name="WrongDirection" value="-3" />
+      <member cname="GST_PAD_LINK_WAS_LINKED" name="WasLinked" value="-2" />
+      <member cname="GST_PAD_LINK_WRONG_HIERARCHY" name="WrongHierarchy" value="-1" />
+      <member cname="GST_PAD_LINK_OK" name="Ok" value="0" />
+    </enum>
+    <enum name="PadMode" cname="GstPadMode" type="enum" gtype="gst_pad_mode_get_type">
+      <member cname="GST_PAD_MODE_NONE" name="None" value="0" />
+      <member cname="GST_PAD_MODE_PUSH" name="Push" value="1" />
+      <member cname="GST_PAD_MODE_PULL" name="Pull" value="2" />
+    </enum>
+    <enum name="PadPresence" cname="GstPadPresence" type="enum" gtype="gst_pad_presence_get_type">
+      <member cname="GST_PAD_ALWAYS" name="Always" value="0" />
+      <member cname="GST_PAD_SOMETIMES" name="Sometimes" value="1" />
+      <member cname="GST_PAD_REQUEST" name="Request" value="2" />
+    </enum>
+    <enum name="PadProbeReturn" cname="GstPadProbeReturn" type="enum" gtype="gst_pad_probe_return_get_type">
+      <member cname="GST_PAD_PROBE_DROP" name="Drop" value="0" />
+      <member cname="GST_PAD_PROBE_OK" name="Ok" value="1" />
+      <member cname="GST_PAD_PROBE_REMOVE" name="Remove" value="2" />
+      <member cname="GST_PAD_PROBE_PASS" name="Pass" value="3" />
+      <member cname="GST_PAD_PROBE_HANDLED" name="Handled" value="4" />
+    </enum>
+    <enum name="ParseError" cname="GstParseError" type="enum" gtype="gst_parse_error_get_type">
+      <member cname="GST_PARSE_ERROR_SYNTAX" name="Syntax" value="0" />
+      <member cname="GST_PARSE_ERROR_NO_SUCH_ELEMENT" name="NoSuchElement" value="1" />
+      <member cname="GST_PARSE_ERROR_NO_SUCH_PROPERTY" name="NoSuchProperty" value="2" />
+      <member cname="GST_PARSE_ERROR_LINK" name="Link" value="3" />
+      <member cname="GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY" name="CouldNotSetProperty" value="4" />
+      <member cname="GST_PARSE_ERROR_EMPTY_BIN" name="EmptyBin" value="5" />
+      <member cname="GST_PARSE_ERROR_EMPTY" name="Empty" value="6" />
+      <member cname="GST_PARSE_ERROR_DELAYED_LINK" name="DelayedLink" value="7" />
+    </enum>
+    <enum name="PluginError" cname="GstPluginError" type="enum" gtype="gst_plugin_error_get_type">
+      <member cname="GST_PLUGIN_ERROR_MODULE" name="Module" value="0" />
+      <member cname="GST_PLUGIN_ERROR_DEPENDENCIES" name="Dependencies" value="1" />
+      <member cname="GST_PLUGIN_ERROR_NAME_MISMATCH" name="NameMismatch" value="2" />
+    </enum>
+    <enum name="ProgressType" cname="GstProgressType" type="enum" gtype="gst_progress_type_get_type">
+      <member cname="GST_PROGRESS_TYPE_START" name="Start" value="0" />
+      <member cname="GST_PROGRESS_TYPE_CONTINUE" name="Continue" value="1" />
+      <member cname="GST_PROGRESS_TYPE_COMPLETE" name="Complete" value="2" />
+      <member cname="GST_PROGRESS_TYPE_CANCELED" name="Canceled" value="3" />
+      <member cname="GST_PROGRESS_TYPE_ERROR" name="Error" value="4" />
+    </enum>
+    <enum name="PromiseResult" cname="GstPromiseResult" type="enum" gtype="gst_promise_result_get_type">
+      <member cname="GST_PROMISE_RESULT_PENDING" name="Pending" value="0" />
+      <member cname="GST_PROMISE_RESULT_INTERRUPTED" name="Interrupted" value="1" />
+      <member cname="GST_PROMISE_RESULT_REPLIED" name="Replied" value="2" />
+      <member cname="GST_PROMISE_RESULT_EXPIRED" name="Expired" value="3" />
+    </enum>
+    <enum name="QOSType" cname="GstQOSType" type="enum" gtype="gst_qos_type_get_type">
+      <member cname="GST_QOS_TYPE_OVERFLOW" name="Overflow" value="0" />
+      <member cname="GST_QOS_TYPE_UNDERFLOW" name="Underflow" value="1" />
+      <member cname="GST_QOS_TYPE_THROTTLE" name="Throttle" value="2" />
+    </enum>
+    <enum name="QueryType" cname="GstQueryType" type="enum" gtype="gst_query_type_get_type">
+      <member cname="GST_QUERY_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_QUERY_POSITION" name="Position" value="2563" />
+      <member cname="GST_QUERY_DURATION" name="Duration" value="5123" />
+      <member cname="GST_QUERY_LATENCY" name="Latency" value="7683" />
+      <member cname="GST_QUERY_JITTER" name="Jitter" value="10243" />
+      <member cname="GST_QUERY_RATE" name="Rate" value="12803" />
+      <member cname="GST_QUERY_SEEKING" name="Seeking" value="15363" />
+      <member cname="GST_QUERY_SEGMENT" name="Segment" value="17923" />
+      <member cname="GST_QUERY_CONVERT" name="Convert" value="20483" />
+      <member cname="GST_QUERY_FORMATS" name="Formats" value="23043" />
+      <member cname="GST_QUERY_BUFFERING" name="Buffering" value="28163" />
+      <member cname="GST_QUERY_CUSTOM" name="Custom" value="30723" />
+      <member cname="GST_QUERY_URI" name="Uri" value="33283" />
+      <member cname="GST_QUERY_ALLOCATION" name="Allocation" value="35846" />
+      <member cname="GST_QUERY_SCHEDULING" name="Scheduling" value="38401" />
+      <member cname="GST_QUERY_ACCEPT_CAPS" name="AcceptCaps" value="40963" />
+      <member cname="GST_QUERY_CAPS" name="Caps" value="43523" />
+      <member cname="GST_QUERY_DRAIN" name="Drain" value="46086" />
+      <member cname="GST_QUERY_CONTEXT" name="Context" value="48643" />
+    </enum>
+    <enum name="Rank" cname="GstRank" type="enum" gtype="gst_rank_get_type">
+      <member cname="GST_RANK_NONE" name="None" value="0" />
+      <member cname="GST_RANK_MARGINAL" name="Marginal" value="64" />
+      <member cname="GST_RANK_SECONDARY" name="Secondary" value="128" />
+      <member cname="GST_RANK_PRIMARY" name="Primary" value="256" />
+    </enum>
+    <enum name="ResourceError" cname="GstResourceError" type="enum" gtype="gst_resource_error_get_type">
+      <member cname="GST_RESOURCE_ERROR_FAILED" name="Failed" value="1" />
+      <member cname="GST_RESOURCE_ERROR_TOO_LAZY" name="TooLazy" value="2" />
+      <member cname="GST_RESOURCE_ERROR_NOT_FOUND" name="NotFound" value="3" />
+      <member cname="GST_RESOURCE_ERROR_BUSY" name="Busy" value="4" />
+      <member cname="GST_RESOURCE_ERROR_OPEN_READ" name="OpenRead" value="5" />
+      <member cname="GST_RESOURCE_ERROR_OPEN_WRITE" name="OpenWrite" value="6" />
+      <member cname="GST_RESOURCE_ERROR_OPEN_READ_WRITE" name="OpenReadWrite" value="7" />
+      <member cname="GST_RESOURCE_ERROR_CLOSE" name="Close" value="8" />
+      <member cname="GST_RESOURCE_ERROR_READ" name="Read" value="9" />
+      <member cname="GST_RESOURCE_ERROR_WRITE" name="Write" value="10" />
+      <member cname="GST_RESOURCE_ERROR_SEEK" name="Seek" value="11" />
+      <member cname="GST_RESOURCE_ERROR_SYNC" name="Sync" value="12" />
+      <member cname="GST_RESOURCE_ERROR_SETTINGS" name="Settings" value="13" />
+      <member cname="GST_RESOURCE_ERROR_NO_SPACE_LEFT" name="NoSpaceLeft" value="14" />
+      <member cname="GST_RESOURCE_ERROR_NOT_AUTHORIZED" name="NotAuthorized" value="15" />
+      <member cname="GST_RESOURCE_ERROR_NUM_ERRORS" name="NumErrors" value="16" />
+    </enum>
+    <enum name="SearchMode" cname="GstSearchMode" type="enum" gtype="gst_search_mode_get_type">
+      <member cname="GST_SEARCH_MODE_EXACT" name="Exact" value="0" />
+      <member cname="GST_SEARCH_MODE_BEFORE" name="Before" value="1" />
+      <member cname="GST_SEARCH_MODE_AFTER" name="After" value="2" />
+    </enum>
+    <enum name="SeekType" cname="GstSeekType" type="enum" gtype="gst_seek_type_get_type">
+      <member cname="GST_SEEK_TYPE_NONE" name="None" value="0" />
+      <member cname="GST_SEEK_TYPE_SET" name="Set" value="1" />
+      <member cname="GST_SEEK_TYPE_END" name="End" value="2" />
+    </enum>
+    <enum name="State" cname="GstState" type="enum" gtype="gst_state_get_type">
+      <member cname="GST_STATE_VOID_PENDING" name="VoidPending" value="0" />
+      <member cname="GST_STATE_NULL" name="Null" value="1" />
+      <member cname="GST_STATE_READY" name="Ready" value="2" />
+      <member cname="GST_STATE_PAUSED" name="Paused" value="3" />
+      <member cname="GST_STATE_PLAYING" name="Playing" value="4" />
+    </enum>
+    <enum name="StateChange" cname="GstStateChange" type="enum" gtype="gst_state_change_get_type">
+      <member cname="GST_STATE_CHANGE_NULL_TO_NULL" name="NullToNull" value="9" />
+      <member cname="GST_STATE_CHANGE_NULL_TO_READY" name="NullToReady" value="10" />
+      <member cname="GST_STATE_CHANGE_READY_TO_NULL" name="ReadyToNull" value="17" />
+      <member cname="GST_STATE_CHANGE_READY_TO_READY" name="ReadyToReady" value="18" />
+      <member cname="GST_STATE_CHANGE_READY_TO_PAUSED" name="ReadyToPaused" value="19" />
+      <member cname="GST_STATE_CHANGE_PAUSED_TO_READY" name="PausedToReady" value="26" />
+      <member cname="GST_STATE_CHANGE_PAUSED_TO_PAUSED" name="PausedToPaused" value="27" />
+      <member cname="GST_STATE_CHANGE_PAUSED_TO_PLAYING" name="PausedToPlaying" value="28" />
+      <member cname="GST_STATE_CHANGE_PLAYING_TO_PAUSED" name="PlayingToPaused" value="35" />
+      <member cname="GST_STATE_CHANGE_PLAYING_TO_PLAYING" name="PlayingToPlaying" value="36" />
+    </enum>
+    <enum name="StateChangeReturn" cname="GstStateChangeReturn" type="enum" gtype="gst_state_change_return_get_type">
+      <member cname="GST_STATE_CHANGE_FAILURE" name="Failure" value="0" />
+      <member cname="GST_STATE_CHANGE_SUCCESS" name="Success" value="1" />
+      <member cname="GST_STATE_CHANGE_ASYNC" name="Async" value="2" />
+      <member cname="GST_STATE_CHANGE_NO_PREROLL" name="NoPreroll" value="3" />
+    </enum>
+    <enum name="StreamError" cname="GstStreamError" type="enum" gtype="gst_stream_error_get_type">
+      <member cname="GST_STREAM_ERROR_FAILED" name="Failed" value="1" />
+      <member cname="GST_STREAM_ERROR_TOO_LAZY" name="TooLazy" value="2" />
+      <member cname="GST_STREAM_ERROR_NOT_IMPLEMENTED" name="NotImplemented" value="3" />
+      <member cname="GST_STREAM_ERROR_TYPE_NOT_FOUND" name="TypeNotFound" value="4" />
+      <member cname="GST_STREAM_ERROR_WRONG_TYPE" name="WrongType" value="5" />
+      <member cname="GST_STREAM_ERROR_CODEC_NOT_FOUND" name="CodecNotFound" value="6" />
+      <member cname="GST_STREAM_ERROR_DECODE" name="Decode" value="7" />
+      <member cname="GST_STREAM_ERROR_ENCODE" name="Encode" value="8" />
+      <member cname="GST_STREAM_ERROR_DEMUX" name="Demux" value="9" />
+      <member cname="GST_STREAM_ERROR_MUX" name="Mux" value="10" />
+      <member cname="GST_STREAM_ERROR_FORMAT" name="Format" value="11" />
+      <member cname="GST_STREAM_ERROR_DECRYPT" name="Decrypt" value="12" />
+      <member cname="GST_STREAM_ERROR_DECRYPT_NOKEY" name="DecryptNokey" value="13" />
+      <member cname="GST_STREAM_ERROR_NUM_ERRORS" name="NumErrors" value="14" />
+    </enum>
+    <enum name="StreamStatusType" cname="GstStreamStatusType" type="enum" gtype="gst_stream_status_type_get_type">
+      <member cname="GST_STREAM_STATUS_TYPE_CREATE" name="Create" value="0" />
+      <member cname="GST_STREAM_STATUS_TYPE_ENTER" name="Enter" value="1" />
+      <member cname="GST_STREAM_STATUS_TYPE_LEAVE" name="Leave" value="2" />
+      <member cname="GST_STREAM_STATUS_TYPE_DESTROY" name="Destroy" value="3" />
+      <member cname="GST_STREAM_STATUS_TYPE_START" name="Start" value="8" />
+      <member cname="GST_STREAM_STATUS_TYPE_PAUSE" name="Pause" value="9" />
+      <member cname="GST_STREAM_STATUS_TYPE_STOP" name="Stop" value="10" />
+    </enum>
+    <enum name="StructureChangeType" cname="GstStructureChangeType" type="enum" gtype="gst_structure_change_type_get_type">
+      <member cname="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK" name="Link" value="0" />
+      <member cname="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK" name="Unlink" value="1" />
+    </enum>
+    <enum name="TagFlag" cname="GstTagFlag" type="enum" gtype="gst_tag_flag_get_type">
+      <member cname="GST_TAG_FLAG_UNDEFINED" name="Undefined" value="0" />
+      <member cname="GST_TAG_FLAG_META" name="Meta" value="1" />
+      <member cname="GST_TAG_FLAG_ENCODED" name="Encoded" value="2" />
+      <member cname="GST_TAG_FLAG_DECODED" name="Decoded" value="3" />
+      <member cname="GST_TAG_FLAG_COUNT" name="Count" value="4" />
+    </enum>
+    <enum name="TagMergeMode" cname="GstTagMergeMode" type="enum" gtype="gst_tag_merge_mode_get_type">
+      <member cname="GST_TAG_MERGE_UNDEFINED" name="Undefined" value="0" />
+      <member cname="GST_TAG_MERGE_REPLACE_ALL" name="ReplaceAll" value="1" />
+      <member cname="GST_TAG_MERGE_REPLACE" name="Replace" value="2" />
+      <member cname="GST_TAG_MERGE_APPEND" name="Append" value="3" />
+      <member cname="GST_TAG_MERGE_PREPEND" name="Prepend" value="4" />
+      <member cname="GST_TAG_MERGE_KEEP" name="Keep" value="5" />
+      <member cname="GST_TAG_MERGE_KEEP_ALL" name="KeepAll" value="6" />
+      <member cname="GST_TAG_MERGE_COUNT" name="Count" value="7" />
+    </enum>
+    <enum name="TagScope" cname="GstTagScope" type="enum" gtype="gst_tag_scope_get_type">
+      <member cname="GST_TAG_SCOPE_STREAM" name="Stream" value="0" />
+      <member cname="GST_TAG_SCOPE_GLOBAL" name="Global" value="1" />
+    </enum>
+    <enum name="TaskState" cname="GstTaskState" type="enum" gtype="gst_task_state_get_type">
+      <member cname="GST_TASK_STARTED" name="Started" value="0" />
+      <member cname="GST_TASK_STOPPED" name="Stopped" value="1" />
+      <member cname="GST_TASK_PAUSED" name="Paused" value="2" />
+    </enum>
+    <enum name="TocEntryType" cname="GstTocEntryType" type="enum" gtype="gst_toc_entry_type_get_type">
+      <member cname="GST_TOC_ENTRY_TYPE_ANGLE" name="Angle" value="-3" />
+      <member cname="GST_TOC_ENTRY_TYPE_VERSION" name="Version" value="-2" />
+      <member cname="GST_TOC_ENTRY_TYPE_EDITION" name="Edition" value="-1" />
+      <member cname="GST_TOC_ENTRY_TYPE_INVALID" name="Invalid" value="0" />
+      <member cname="GST_TOC_ENTRY_TYPE_TITLE" name="Title" value="1" />
+      <member cname="GST_TOC_ENTRY_TYPE_TRACK" name="Track" value="2" />
+      <member cname="GST_TOC_ENTRY_TYPE_CHAPTER" name="Chapter" value="3" />
+    </enum>
+    <enum name="TocLoopType" cname="GstTocLoopType" type="enum" gtype="gst_toc_loop_type_get_type" version="1.4">
+      <member cname="GST_TOC_LOOP_NONE" name="None" value="0" />
+      <member cname="GST_TOC_LOOP_FORWARD" name="Forward" value="1" />
+      <member cname="GST_TOC_LOOP_REVERSE" name="Reverse" value="2" />
+      <member cname="GST_TOC_LOOP_PING_PONG" name="PingPong" value="3" />
+    </enum>
+    <enum name="TocScope" cname="GstTocScope" type="enum" gtype="gst_toc_scope_get_type">
+      <member cname="GST_TOC_SCOPE_GLOBAL" name="Global" value="1" />
+      <member cname="GST_TOC_SCOPE_CURRENT" name="Current" value="2" />
+    </enum>
+    <enum name="TracerValueScope" cname="GstTracerValueScope" type="enum" gtype="gst_tracer_value_scope_get_type" version="1.8">
+      <member cname="GST_TRACER_VALUE_SCOPE_PROCESS" name="Process" value="0" />
+      <member cname="GST_TRACER_VALUE_SCOPE_THREAD" name="Thread" value="1" />
+      <member cname="GST_TRACER_VALUE_SCOPE_ELEMENT" name="Element" value="2" />
+      <member cname="GST_TRACER_VALUE_SCOPE_PAD" name="Pad" value="3" />
+    </enum>
+    <enum name="TypeFindProbability" cname="GstTypeFindProbability" type="enum" gtype="gst_type_find_probability_get_type">
+      <member cname="GST_TYPE_FIND_NONE" name="None" value="0" />
+      <member cname="GST_TYPE_FIND_MINIMUM" name="Minimum" value="1" />
+      <member cname="GST_TYPE_FIND_POSSIBLE" name="Possible" value="50" />
+      <member cname="GST_TYPE_FIND_LIKELY" name="Likely" value="80" />
+      <member cname="GST_TYPE_FIND_NEARLY_CERTAIN" name="NearlyCertain" value="99" />
+      <member cname="GST_TYPE_FIND_MAXIMUM" name="Maximum" value="100" />
+    </enum>
+    <enum name="URIError" cname="GstURIError" type="enum" gtype="gst_uri_error_get_type">
+      <member cname="GST_URI_ERROR_UNSUPPORTED_PROTOCOL" name="UnsupportedProtocol" value="0" />
+      <member cname="GST_URI_ERROR_BAD_URI" name="BadUri" value="1" />
+      <member cname="GST_URI_ERROR_BAD_STATE" name="BadState" value="2" />
+      <member cname="GST_URI_ERROR_BAD_REFERENCE" name="BadReference" value="3" />
+    </enum>
+    <enum name="URIType" cname="GstURIType" type="enum" gtype="gst_uri_type_get_type">
+      <member cname="GST_URI_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_URI_SINK" name="Sink" value="1" />
+      <member cname="GST_URI_SRC" name="Src" value="2" />
+    </enum>
+    <enum name="AllocatorFlags" cname="GstAllocatorFlags" type="flags" gtype="gst_allocator_flags_get_type">
+      <member cname="GST_ALLOCATOR_FLAG_CUSTOM_ALLOC" name="CustomAlloc" value="16" />
+      <member cname="GST_ALLOCATOR_FLAG_LAST" name="Last" value="1048576" />
+    </enum>
+    <enum name="BinFlags" cname="GstBinFlags" type="flags" gtype="gst_bin_flags_get_type">
+      <member cname="GST_BIN_FLAG_NO_RESYNC" name="NoResync" value="16384" />
+      <member cname="GST_BIN_FLAG_STREAMS_AWARE" name="StreamsAware" value="32768" />
+      <member cname="GST_BIN_FLAG_LAST" name="Last" value="524288" />
+    </enum>
+    <enum name="BufferCopyFlags" cname="GstBufferCopyFlags" type="flags" gtype="gst_buffer_copy_flags_get_type">
+      <member cname="GST_BUFFER_COPY_NONE" name="None" value="0" />
+      <member cname="GST_BUFFER_COPY_FLAGS" name="Flags" value="1" />
+      <member cname="GST_BUFFER_COPY_TIMESTAMPS" name="Timestamps" value="2" />
+      <member cname="GST_BUFFER_COPY_META" name="Meta" value="4" />
+      <member cname="GST_BUFFER_COPY_MEMORY" name="Memory" value="8" />
+      <member cname="GST_BUFFER_COPY_MERGE" name="Merge" value="16" />
+      <member cname="GST_BUFFER_COPY_DEEP" name="Deep" value="32" />
+    </enum>
+    <enum name="BufferFlags" cname="GstBufferFlags" type="flags" gtype="gst_buffer_flags_get_type">
+      <member cname="GST_BUFFER_FLAG_LIVE" name="Live" value="16" />
+      <member cname="GST_BUFFER_FLAG_DECODE_ONLY" name="DecodeOnly" value="32" />
+      <member cname="GST_BUFFER_FLAG_DISCONT" name="Discont" value="64" />
+      <member cname="GST_BUFFER_FLAG_RESYNC" name="Resync" value="128" />
+      <member cname="GST_BUFFER_FLAG_CORRUPTED" name="Corrupted" value="256" />
+      <member cname="GST_BUFFER_FLAG_MARKER" name="Marker" value="512" />
+      <member cname="GST_BUFFER_FLAG_HEADER" name="Header" value="1024" />
+      <member cname="GST_BUFFER_FLAG_GAP" name="Gap" value="2048" />
+      <member cname="GST_BUFFER_FLAG_DROPPABLE" name="Droppable" value="4096" />
+      <member cname="GST_BUFFER_FLAG_DELTA_UNIT" name="DeltaUnit" value="8192" />
+      <member cname="GST_BUFFER_FLAG_TAG_MEMORY" name="TagMemory" value="16384" />
+      <member cname="GST_BUFFER_FLAG_SYNC_AFTER" name="SyncAfter" value="32768" />
+      <member cname="GST_BUFFER_FLAG_LAST" name="Last" value="1048576" />
+    </enum>
+    <enum name="BufferPoolAcquireFlags" cname="GstBufferPoolAcquireFlags" type="flags" gtype="gst_buffer_pool_acquire_flags_get_type">
+      <member cname="GST_BUFFER_POOL_ACQUIRE_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_BUFFER_POOL_ACQUIRE_FLAG_KEY_UNIT" name="KeyUnit" value="1" />
+      <member cname="GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT" name="Dontwait" value="2" />
+      <member cname="GST_BUFFER_POOL_ACQUIRE_FLAG_DISCONT" name="Discont" value="4" />
+      <member cname="GST_BUFFER_POOL_ACQUIRE_FLAG_LAST" name="Last" value="65536" />
+    </enum>
+    <enum name="BusFlags" cname="GstBusFlags" type="flags" gtype="gst_bus_flags_get_type">
+      <member cname="GST_BUS_FLUSHING" name="Flushing" value="16" />
+      <member cname="GST_BUS_FLAG_LAST" name="FlagLast" value="32" />
+    </enum>
+    <enum name="CapsFlags" cname="GstCapsFlags" type="flags" gtype="gst_caps_flags_get_type">
+      <member cname="GST_CAPS_FLAG_ANY" name="Any" value="16" />
+    </enum>
+    <enum name="ClockFlags" cname="GstClockFlags" type="flags" gtype="gst_clock_flags_get_type">
+      <member cname="GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC" name="CanDoSingleSync" value="16" />
+      <member cname="GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC" name="CanDoSingleAsync" value="32" />
+      <member cname="GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC" name="CanDoPeriodicSync" value="64" />
+      <member cname="GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC" name="CanDoPeriodicAsync" value="128" />
+      <member cname="GST_CLOCK_FLAG_CAN_SET_RESOLUTION" name="CanSetResolution" value="256" />
+      <member cname="GST_CLOCK_FLAG_CAN_SET_MASTER" name="CanSetMaster" value="512" />
+      <member cname="GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC" name="NeedsStartupSync" value="1024" />
+      <member cname="GST_CLOCK_FLAG_LAST" name="Last" value="4096" />
+    </enum>
+    <enum name="DebugColorFlags" cname="GstDebugColorFlags" type="flags" gtype="gst_debug_color_flags_get_type">
+      <member cname="GST_DEBUG_FG_BLACK" name="FgBlack" value="0" />
+      <member cname="GST_DEBUG_BG_BLACK" name="BgBlack" value="0" />
+      <member cname="GST_DEBUG_FG_RED" name="FgRed" value="1" />
+      <member cname="GST_DEBUG_FG_GREEN" name="FgGreen" value="2" />
+      <member cname="GST_DEBUG_FG_YELLOW" name="FgYellow" value="3" />
+      <member cname="GST_DEBUG_FG_BLUE" name="FgBlue" value="4" />
+      <member cname="GST_DEBUG_FG_MAGENTA" name="FgMagenta" value="5" />
+      <member cname="GST_DEBUG_FG_CYAN" name="FgCyan" value="6" />
+      <member cname="GST_DEBUG_FG_WHITE" name="FgWhite" value="7" />
+      <member cname="GST_DEBUG_BG_RED" name="BgRed" value="16" />
+      <member cname="GST_DEBUG_BG_GREEN" name="BgGreen" value="32" />
+      <member cname="GST_DEBUG_BG_YELLOW" name="BgYellow" value="48" />
+      <member cname="GST_DEBUG_BG_BLUE" name="BgBlue" value="64" />
+      <member cname="GST_DEBUG_BG_MAGENTA" name="BgMagenta" value="80" />
+      <member cname="GST_DEBUG_BG_CYAN" name="BgCyan" value="96" />
+      <member cname="GST_DEBUG_BG_WHITE" name="BgWhite" value="112" />
+      <member cname="GST_DEBUG_BOLD" name="Bold" value="256" />
+      <member cname="GST_DEBUG_UNDERLINE" name="Underline" value="512" />
+    </enum>
+    <enum name="DebugGraphDetails" cname="GstDebugGraphDetails" type="flags" gtype="gst_debug_graph_details_get_type">
+      <member cname="GST_DEBUG_GRAPH_SHOW_VERBOSE" name="Verbose" value="-1" />
+      <member cname="GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE" name="MediaType" value="1" />
+      <member cname="GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS" name="CapsDetails" value="2" />
+      <member cname="GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS" name="NonDefaultParams" value="4" />
+      <member cname="GST_DEBUG_GRAPH_SHOW_STATES" name="States" value="8" />
+      <member cname="GST_DEBUG_GRAPH_SHOW_ALL" name="All" value="15" />
+      <member cname="GST_DEBUG_GRAPH_SHOW_FULL_PARAMS" name="FullParams" value="16" />
+    </enum>
+    <enum name="ElementFlags" cname="GstElementFlags" type="flags" gtype="gst_element_flags_get_type">
+      <member cname="GST_ELEMENT_FLAG_LOCKED_STATE" name="LockedState" value="16" />
+      <member cname="GST_ELEMENT_FLAG_SINK" name="Sink" value="32" />
+      <member cname="GST_ELEMENT_FLAG_SOURCE" name="Source" value="64" />
+      <member cname="GST_ELEMENT_FLAG_PROVIDE_CLOCK" name="ProvideClock" value="128" />
+      <member cname="GST_ELEMENT_FLAG_REQUIRE_CLOCK" name="RequireClock" value="256" />
+      <member cname="GST_ELEMENT_FLAG_INDEXABLE" name="Indexable" value="512" />
+      <member cname="GST_ELEMENT_FLAG_LAST" name="Last" value="16384" />
+    </enum>
+    <enum name="EventTypeFlags" cname="GstEventTypeFlags" type="flags" gtype="gst_event_type_flags_get_type">
+      <member cname="GST_EVENT_TYPE_UPSTREAM" name="Upstream" value="1" />
+      <member cname="GST_EVENT_TYPE_DOWNSTREAM" name="Downstream" value="2" />
+      <member cname="GST_EVENT_TYPE_SERIALIZED" name="Serialized" value="4" />
+      <member cname="GST_EVENT_TYPE_STICKY" name="Sticky" value="8" />
+      <member cname="GST_EVENT_TYPE_STICKY_MULTI" name="StickyMulti" value="16" />
+    </enum>
+    <enum name="LockFlags" cname="GstLockFlags" type="flags" gtype="gst_lock_flags_get_type">
+      <member cname="GST_LOCK_FLAG_READ" name="Read" value="1" />
+      <member cname="GST_LOCK_FLAG_WRITE" name="Write" value="2" />
+      <member cname="GST_LOCK_FLAG_EXCLUSIVE" name="Exclusive" value="4" />
+      <member cname="GST_LOCK_FLAG_LAST" name="Last" value="256" />
+    </enum>
+    <enum name="MapFlags" cname="GstMapFlags" type="flags" gtype="gst_map_flags_get_type">
+      <member cname="GST_MAP_READ" name="Read" value="1" />
+      <member cname="GST_MAP_WRITE" name="Write" value="2" />
+      <member cname="GST_MAP_FLAG_LAST" name="FlagLast" value="65536" />
+    </enum>
+    <enum name="MemoryFlags" cname="GstMemoryFlags" type="flags" gtype="gst_memory_flags_get_type">
+      <member cname="GST_MEMORY_FLAG_READONLY" name="Readonly" value="2" />
+      <member cname="GST_MEMORY_FLAG_NO_SHARE" name="NoShare" value="16" />
+      <member cname="GST_MEMORY_FLAG_ZERO_PREFIXED" name="ZeroPrefixed" value="32" />
+      <member cname="GST_MEMORY_FLAG_ZERO_PADDED" name="ZeroPadded" value="64" />
+      <member cname="GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS" name="PhysicallyContiguous" value="128" />
+      <member cname="GST_MEMORY_FLAG_NOT_MAPPABLE" name="NotMappable" value="256" />
+      <member cname="GST_MEMORY_FLAG_LAST" name="Last" value="1048576" />
+    </enum>
+    <enum name="MessageType" cname="GstMessageType" type="flags" gtype="gst_message_type_get_type">
+      <member cname="GST_MESSAGE_UNKNOWN" name="Unknown" value="0U" />
+      <member cname="GST_MESSAGE_EOS" name="Eos" value="1" />
+      <member cname="GST_MESSAGE_ERROR" name="Error" value="2" />
+      <member cname="GST_MESSAGE_WARNING" name="Warning" value="4" />
+      <member cname="GST_MESSAGE_INFO" name="Info" value="8" />
+      <member cname="GST_MESSAGE_TAG" name="Tag" value="16" />
+      <member cname="GST_MESSAGE_BUFFERING" name="Buffering" value="32" />
+      <member cname="GST_MESSAGE_STATE_CHANGED" name="StateChanged" value="64" />
+      <member cname="GST_MESSAGE_STATE_DIRTY" name="StateDirty" value="128" />
+      <member cname="GST_MESSAGE_STEP_DONE" name="StepDone" value="256" />
+      <member cname="GST_MESSAGE_CLOCK_PROVIDE" name="ClockProvide" value="512" />
+      <member cname="GST_MESSAGE_CLOCK_LOST" name="ClockLost" value="1024" />
+      <member cname="GST_MESSAGE_NEW_CLOCK" name="NewClock" value="2048" />
+      <member cname="GST_MESSAGE_STRUCTURE_CHANGE" name="StructureChange" value="4096" />
+      <member cname="GST_MESSAGE_STREAM_STATUS" name="StreamStatus" value="8192" />
+      <member cname="GST_MESSAGE_APPLICATION" name="Application" value="16384" />
+      <member cname="GST_MESSAGE_ELEMENT" name="Element" value="32768" />
+      <member cname="GST_MESSAGE_SEGMENT_START" name="SegmentStart" value="65536" />
+      <member cname="GST_MESSAGE_SEGMENT_DONE" name="SegmentDone" value="131072" />
+      <member cname="GST_MESSAGE_DURATION_CHANGED" name="DurationChanged" value="262144" />
+      <member cname="GST_MESSAGE_LATENCY" name="Latency" value="524288" />
+      <member cname="GST_MESSAGE_ASYNC_START" name="AsyncStart" value="1048576" />
+      <member cname="GST_MESSAGE_ASYNC_DONE" name="AsyncDone" value="2097152" />
+      <member cname="GST_MESSAGE_REQUEST_STATE" name="RequestState" value="4194304" />
+      <member cname="GST_MESSAGE_STEP_START" name="StepStart" value="8388608" />
+      <member cname="GST_MESSAGE_QOS" name="Qos" value="16777216" />
+      <member cname="GST_MESSAGE_PROGRESS" name="Progress" value="33554432" />
+      <member cname="GST_MESSAGE_TOC" name="Toc" value="67108864" />
+      <member cname="GST_MESSAGE_RESET_TIME" name="ResetTime" value="134217728" />
+      <member cname="GST_MESSAGE_STREAM_START" name="StreamStart" value="268435456" />
+      <member cname="GST_MESSAGE_NEED_CONTEXT" name="NeedContext" value="536870912" />
+      <member cname="GST_MESSAGE_HAVE_CONTEXT" name="HaveContext" value="1073741824" />
+      <member cname="GST_MESSAGE_EXTENDED" name="Extended" value="2147483648" />
+      <member cname="GST_MESSAGE_DEVICE_ADDED" name="DeviceAdded" value="2147483649" />
+      <member cname="GST_MESSAGE_DEVICE_REMOVED" name="DeviceRemoved" value="2147483650" />
+      <member cname="GST_MESSAGE_PROPERTY_NOTIFY" name="PropertyNotify" value="2147483651" />
+      <member cname="GST_MESSAGE_STREAM_COLLECTION" name="StreamCollection" value="2147483652" />
+      <member cname="GST_MESSAGE_STREAMS_SELECTED" name="StreamsSelected" value="2147483653" />
+      <member cname="GST_MESSAGE_REDIRECT" name="Redirect" value="2147483654" />
+      <member cname="GST_MESSAGE_ANY" name="Any" value="4294967295" />
+    </enum>
+    <enum name="MetaFlags" cname="GstMetaFlags" type="flags" gtype="gst_meta_flags_get_type">
+      <member cname="GST_META_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_META_FLAG_READONLY" name="Readonly" value="1" />
+      <member cname="GST_META_FLAG_POOLED" name="Pooled" value="2" />
+      <member cname="GST_META_FLAG_LOCKED" name="Locked" value="4" />
+      <member cname="GST_META_FLAG_LAST" name="Last" value="65536" />
+    </enum>
+    <enum name="MiniObjectFlags" cname="GstMiniObjectFlags" type="flags" gtype="gst_mini_object_flags_get_type">
+      <member cname="GST_MINI_OBJECT_FLAG_LOCKABLE" name="Lockable" value="1" />
+      <member cname="GST_MINI_OBJECT_FLAG_LOCK_READONLY" name="LockReadonly" value="2" />
+      <member cname="GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED" name="MayBeLeaked" value="4" />
+      <member cname="GST_MINI_OBJECT_FLAG_LAST" name="Last" value="16" />
+    </enum>
+    <enum name="ObjectFlags" cname="GstObjectFlags" type="flags" gtype="gst_object_flags_get_type">
+      <member cname="GST_OBJECT_FLAG_MAY_BE_LEAKED" name="MayBeLeaked" value="1" />
+      <member cname="GST_OBJECT_FLAG_LAST" name="Last" value="16" />
+    </enum>
+    <enum name="PadFlags" cname="GstPadFlags" type="flags" gtype="gst_pad_flags_get_type">
+      <member cname="GST_PAD_FLAG_BLOCKED" name="Blocked" value="16" />
+      <member cname="GST_PAD_FLAG_FLUSHING" name="Flushing" value="32" />
+      <member cname="GST_PAD_FLAG_EOS" name="Eos" value="64" />
+      <member cname="GST_PAD_FLAG_BLOCKING" name="Blocking" value="128" />
+      <member cname="GST_PAD_FLAG_NEED_PARENT" name="NeedParent" value="256" />
+      <member cname="GST_PAD_FLAG_NEED_RECONFIGURE" name="NeedReconfigure" value="512" />
+      <member cname="GST_PAD_FLAG_PENDING_EVENTS" name="PendingEvents" value="1024" />
+      <member cname="GST_PAD_FLAG_FIXED_CAPS" name="FixedCaps" value="2048" />
+      <member cname="GST_PAD_FLAG_PROXY_CAPS" name="ProxyCaps" value="4096" />
+      <member cname="GST_PAD_FLAG_PROXY_ALLOCATION" name="ProxyAllocation" value="8192" />
+      <member cname="GST_PAD_FLAG_PROXY_SCHEDULING" name="ProxyScheduling" value="16384" />
+      <member cname="GST_PAD_FLAG_ACCEPT_INTERSECT" name="AcceptIntersect" value="32768" />
+      <member cname="GST_PAD_FLAG_ACCEPT_TEMPLATE" name="AcceptTemplate" value="65536" />
+      <member cname="GST_PAD_FLAG_LAST" name="Last" value="1048576" />
+    </enum>
+    <enum name="PadLinkCheck" cname="GstPadLinkCheck" type="flags" gtype="gst_pad_link_check_get_type">
+      <member cname="GST_PAD_LINK_CHECK_NOTHING" name="Nothing" value="0" />
+      <member cname="GST_PAD_LINK_CHECK_HIERARCHY" name="Hierarchy" value="1" />
+      <member cname="GST_PAD_LINK_CHECK_TEMPLATE_CAPS" name="TemplateCaps" value="2" />
+      <member cname="GST_PAD_LINK_CHECK_CAPS" name="Caps" value="4" />
+      <member cname="GST_PAD_LINK_CHECK_DEFAULT" name="Default" value="5" />
+      <member cname="GST_PAD_LINK_CHECK_NO_RECONFIGURE" name="NoReconfigure" value="8" />
+    </enum>
+    <enum name="PadProbeType" cname="GstPadProbeType" type="flags" gtype="gst_pad_probe_type_get_type">
+      <member cname="GST_PAD_PROBE_TYPE_INVALID" name="Invalid" value="0" />
+      <member cname="GST_PAD_PROBE_TYPE_IDLE" name="Idle" value="1" />
+      <member cname="GST_PAD_PROBE_TYPE_BLOCK" name="Block" value="2" />
+      <member cname="GST_PAD_PROBE_TYPE_BLOCKING" name="Blocking" value="3" />
+      <member cname="GST_PAD_PROBE_TYPE_BUFFER" name="Buffer" value="16" />
+      <member cname="GST_PAD_PROBE_TYPE_BUFFER_LIST" name="BufferList" value="32" />
+      <member cname="GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM" name="EventDownstream" value="64" />
+      <member cname="GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM" name="DataDownstream" value="112" />
+      <member cname="GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM" name="BlockDownstream" value="114" />
+      <member cname="GST_PAD_PROBE_TYPE_EVENT_UPSTREAM" name="EventUpstream" value="128" />
+      <member cname="GST_PAD_PROBE_TYPE_DATA_UPSTREAM" name="DataUpstream" value="128" />
+      <member cname="GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM" name="BlockUpstream" value="130" />
+      <member cname="GST_PAD_PROBE_TYPE_EVENT_BOTH" name="EventBoth" value="192" />
+      <member cname="GST_PAD_PROBE_TYPE_DATA_BOTH" name="DataBoth" value="240" />
+      <member cname="GST_PAD_PROBE_TYPE_EVENT_FLUSH" name="EventFlush" value="256" />
+      <member cname="GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM" name="QueryDownstream" value="512" />
+      <member cname="GST_PAD_PROBE_TYPE_QUERY_UPSTREAM" name="QueryUpstream" value="1024" />
+      <member cname="GST_PAD_PROBE_TYPE_QUERY_BOTH" name="QueryBoth" value="1536" />
+      <member cname="GST_PAD_PROBE_TYPE_ALL_BOTH" name="AllBoth" value="1776" />
+      <member cname="GST_PAD_PROBE_TYPE_PUSH" name="Push" value="4096" />
+      <member cname="GST_PAD_PROBE_TYPE_PULL" name="Pull" value="8192" />
+      <member cname="GST_PAD_PROBE_TYPE_SCHEDULING" name="Scheduling" value="12288" />
+    </enum>
+    <enum name="PadTemplateFlags" cname="GstPadTemplateFlags" type="flags" gtype="gst_pad_template_flags_get_type">
+      <member cname="GST_PAD_TEMPLATE_FLAG_LAST" name="Last" value="256" />
+    </enum>
+    <enum name="ParseFlags" cname="GstParseFlags" type="flags" gtype="gst_parse_flags_get_type">
+      <member cname="GST_PARSE_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_PARSE_FLAG_FATAL_ERRORS" name="FatalErrors" value="1" />
+      <member cname="GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS" name="NoSingleElementBins" value="2" />
+      <member cname="GST_PARSE_FLAG_PLACE_IN_BIN" name="PlaceInBin" value="4" />
+    </enum>
+    <enum name="PipelineFlags" cname="GstPipelineFlags" type="flags" gtype="gst_pipeline_flags_get_type">
+      <member cname="GST_PIPELINE_FLAG_FIXED_CLOCK" name="FixedClock" value="524288" />
+      <member cname="GST_PIPELINE_FLAG_LAST" name="Last" value="8388608" />
+    </enum>
+    <enum name="PluginDependencyFlags" cname="GstPluginDependencyFlags" type="flags" gtype="gst_plugin_dependency_flags_get_type">
+      <member cname="GST_PLUGIN_DEPENDENCY_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_PLUGIN_DEPENDENCY_FLAG_RECURSE" name="Recurse" value="1" />
+      <member cname="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY" name="PathsAreDefaultOnly" value="2" />
+      <member cname="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX" name="FileNameIsSuffix" value="4" />
+      <member cname="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX" name="FileNameIsPrefix" value="8" />
+      <member cname="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE" name="PathsAreRelativeToExe" value="16" />
+    </enum>
+    <enum name="PluginFlags" cname="GstPluginFlags" type="flags" gtype="gst_plugin_flags_get_type">
+      <member cname="GST_PLUGIN_FLAG_CACHED" name="Cached" value="16" />
+      <member cname="GST_PLUGIN_FLAG_BLACKLISTED" name="Blacklisted" value="32" />
+    </enum>
+    <enum name="QueryTypeFlags" cname="GstQueryTypeFlags" type="flags" gtype="gst_query_type_flags_get_type">
+      <member cname="GST_QUERY_TYPE_UPSTREAM" name="Upstream" value="1" />
+      <member cname="GST_QUERY_TYPE_DOWNSTREAM" name="Downstream" value="2" />
+      <member cname="GST_QUERY_TYPE_SERIALIZED" name="Serialized" value="4" />
+    </enum>
+    <enum name="SchedulingFlags" cname="GstSchedulingFlags" type="flags" gtype="gst_scheduling_flags_get_type">
+      <member cname="GST_SCHEDULING_FLAG_SEEKABLE" name="Seekable" value="1" />
+      <member cname="GST_SCHEDULING_FLAG_SEQUENTIAL" name="Sequential" value="2" />
+      <member cname="GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED" name="BandwidthLimited" value="4" />
+    </enum>
+    <enum name="SeekFlags" cname="GstSeekFlags" type="flags" gtype="gst_seek_flags_get_type">
+      <member cname="GST_SEEK_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_SEEK_FLAG_FLUSH" name="Flush" value="1" />
+      <member cname="GST_SEEK_FLAG_ACCURATE" name="Accurate" value="2" />
+      <member cname="GST_SEEK_FLAG_KEY_UNIT" name="KeyUnit" value="4" />
+      <member cname="GST_SEEK_FLAG_SEGMENT" name="Segment" value="8" />
+      <member cname="GST_SEEK_FLAG_TRICKMODE" name="Trickmode" value="16" />
+      <member cname="GST_SEEK_FLAG_SKIP" name="Skip" value="16" />
+      <member cname="GST_SEEK_FLAG_SNAP_BEFORE" name="SnapBefore" value="32" />
+      <member cname="GST_SEEK_FLAG_SNAP_AFTER" name="SnapAfter" value="64" />
+      <member cname="GST_SEEK_FLAG_SNAP_NEAREST" name="SnapNearest" value="96" />
+      <member cname="GST_SEEK_FLAG_TRICKMODE_KEY_UNITS" name="TrickmodeKeyUnits" value="128" />
+      <member cname="GST_SEEK_FLAG_TRICKMODE_NO_AUDIO" name="TrickmodeNoAudio" value="256" />
+    </enum>
+    <enum name="SegmentFlags" cname="GstSegmentFlags" type="flags" gtype="gst_segment_flags_get_type">
+      <member cname="GST_SEGMENT_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_SEGMENT_FLAG_RESET" name="Reset" value="1" />
+      <member cname="GST_SEGMENT_FLAG_SEGMENT" name="Segment" value="8" />
+      <member cname="GST_SEGMENT_FLAG_TRICKMODE" name="Trickmode" value="16" />
+      <member cname="GST_SEGMENT_FLAG_SKIP" name="Skip" value="16" />
+      <member cname="GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS" name="TrickmodeKeyUnits" value="128" />
+      <member cname="GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO" name="TrickmodeNoAudio" value="256" />
+    </enum>
+    <enum name="StackTraceFlags" cname="GstStackTraceFlags" type="flags" gtype="gst_stack_trace_flags_get_type" version="1.12">
+      <member cname="GST_STACK_TRACE_SHOW_FULL" name="Full" value="1" />
+    </enum>
+    <enum name="StreamFlags" cname="GstStreamFlags" type="flags" gtype="gst_stream_flags_get_type" version="1.2">
+      <member cname="GST_STREAM_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_STREAM_FLAG_SPARSE" name="Sparse" value="1" />
+      <member cname="GST_STREAM_FLAG_SELECT" name="Select" value="2" />
+      <member cname="GST_STREAM_FLAG_UNSELECT" name="Unselect" value="4" />
+    </enum>
+    <enum name="StreamType" cname="GstStreamType" type="flags" gtype="gst_stream_type_get_type" version="1.10">
+      <member cname="GST_STREAM_TYPE_UNKNOWN" name="Unknown" value="1" />
+      <member cname="GST_STREAM_TYPE_AUDIO" name="Audio" value="2" />
+      <member cname="GST_STREAM_TYPE_VIDEO" name="Video" value="4" />
+      <member cname="GST_STREAM_TYPE_CONTAINER" name="Container" value="8" />
+      <member cname="GST_STREAM_TYPE_TEXT" name="Text" value="16" />
+    </enum>
+    <enum name="TracerValueFlags" cname="GstTracerValueFlags" type="flags" gtype="gst_tracer_value_flags_get_type">
+      <member cname="GST_TRACER_VALUE_FLAGS_NONE" name="None" value="0" />
+      <member cname="GST_TRACER_VALUE_FLAGS_OPTIONAL" name="Optional" value="1" />
+      <member cname="GST_TRACER_VALUE_FLAGS_AGGREGATED" name="Aggregated" value="2" />
+    </enum>
+    <callback name="BufferForeachMetaFunc" cname="GstBufferForeachMetaFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="buffer" type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="meta" type="GstMeta**" owned="true" pass_as="out">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="BufferListFunc" cname="GstBufferListFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="buffer" type="GstBuffer**" owned="true" pass_as="out">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="idx" type="guint" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="BusFunc" cname="GstBusFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="bus" type="GstBus*" />
+        <parameter name="message" type="GstMessage*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="BusSyncHandler" cname="GstBusSyncHandler">
+      <return-type type="GstBusSyncReply" />
+      <parameters>
+        <parameter name="bus" type="GstBus*" />
+        <parameter name="message" type="GstMessage*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CapsFilterMapFunc" cname="GstCapsFilterMapFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="features" type="GstCapsFeatures*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="structure" type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CapsForeachFunc" cname="GstCapsForeachFunc" version="1.6">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="features" type="GstCapsFeatures*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="structure" type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CapsMapFunc" cname="GstCapsMapFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="features" type="GstCapsFeatures*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="structure" type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="ClockCallback" cname="GstClockCallback">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="clock" type="GstClock*" />
+        <parameter name="time" type="guint64" />
+        <parameter name="id" type="gpointer" />
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="ControlBindingConvert" cname="GstControlBindingConvert">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="binding" type="GstControlBinding*" />
+        <parameter name="src_value" type="gdouble" />
+        <parameter name="dest_value" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="ControlSourceGetValue" cname="GstControlSourceGetValue">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="self" type="GstControlSource*" />
+        <parameter name="timestamp" type="guint64" />
+        <parameter name="value" type="gdouble" />
+      </parameters>
+    </callback>
+    <callback name="ControlSourceGetValueArray" cname="GstControlSourceGetValueArray">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="self" type="GstControlSource*" />
+        <parameter name="timestamp" type="guint64" />
+        <parameter name="interval" type="guint64" />
+        <parameter name="n_values" type="guint" />
+        <parameter name="values" type="gdouble" />
+      </parameters>
+    </callback>
+    <callback name="DebugFuncPtr" cname="GstDebugFuncPtr">
+      <return-type type="void" />
+    </callback>
+    <callback name="ElementCallAsyncFunc" cname="GstElementCallAsyncFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="element" type="GstElement*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="ElementForeachPadFunc" cname="GstElementForeachPadFunc" version="1.14">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="element" type="GstElement*" />
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="IteratorCopyFunction" cname="GstIteratorCopyFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="it" type="GstIterator*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="copy" type="GstIterator*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="IteratorFoldFunction" cname="GstIteratorFoldFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="item" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="_ret" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="IteratorForeachFunction" cname="GstIteratorForeachFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="item" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="IteratorFreeFunction" cname="GstIteratorFreeFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="it" type="GstIterator*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="IteratorItemFunction" cname="GstIteratorItemFunction">
+      <return-type type="GstIteratorItem" />
+      <parameters>
+        <parameter name="it" type="GstIterator*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="item" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="IteratorNextFunction" cname="GstIteratorNextFunction">
+      <return-type type="GstIteratorResult" />
+      <parameters>
+        <parameter name="it" type="GstIterator*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="_result" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="IteratorResyncFunction" cname="GstIteratorResyncFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="it" type="GstIterator*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="LogFunction" cname="GstLogFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="category" type="GstDebugCategory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="level" type="GstDebugLevel" />
+        <parameter name="file" type="const-gchar*" />
+        <parameter name="function" type="const-gchar*" />
+        <parameter name="line" type="gint" />
+        <parameter name="_object" type="GObject*" />
+        <parameter name="message" type="GstDebugMessage*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="7" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="MemoryCopyFunction" cname="GstMemoryCopyFunction">
+      <return-type type="GstMemory*" owned="true">
+        <warning>missing glib:type-name</warning>
+      </return-type>
+      <parameters>
+        <parameter name="mem" type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="offset" type="gssize" />
+        <parameter name="size" type="gssize" />
+      </parameters>
+    </callback>
+    <callback name="MemoryIsSpanFunction" cname="GstMemoryIsSpanFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="mem1" type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="mem2" type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="offset" type="gsize" />
+      </parameters>
+    </callback>
+    <callback name="MemoryMapFullFunction" cname="GstMemoryMapFullFunction">
+      <return-type type="gpointer" />
+      <parameters>
+        <parameter name="mem" type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="info" type="GstMapInfo*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="maxsize" type="gsize" />
+      </parameters>
+    </callback>
+    <callback name="MemoryMapFunction" cname="GstMemoryMapFunction">
+      <return-type type="gpointer" />
+      <parameters>
+        <parameter name="mem" type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="maxsize" type="gsize" />
+        <parameter name="flags" type="GstMapFlags" />
+      </parameters>
+    </callback>
+    <callback name="MemoryShareFunction" cname="GstMemoryShareFunction">
+      <return-type type="GstMemory*" owned="true">
+        <warning>missing glib:type-name</warning>
+      </return-type>
+      <parameters>
+        <parameter name="mem" type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="offset" type="gssize" />
+        <parameter name="size" type="gssize" />
+      </parameters>
+    </callback>
+    <callback name="MemoryUnmapFullFunction" cname="GstMemoryUnmapFullFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="mem" type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="info" type="GstMapInfo*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="MemoryUnmapFunction" cname="GstMemoryUnmapFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="mem" type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="MetaFreeFunction" cname="GstMetaFreeFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="meta" type="GstMeta*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="buffer" type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="MetaInitFunction" cname="GstMetaInitFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="meta" type="GstMeta*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" name="params" type="gpointer" />
+        <parameter name="buffer" type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="MetaTransformFunction" cname="GstMetaTransformFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="transbuf" type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="meta" type="GstMeta*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="buffer" type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="type" type="guint32" />
+        <parameter allow-none="1" name="data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback hidden="0" name="MiniObjectCopyFunction" cname="GstMiniObjectCopyFunction">
+      <return-type type="GstMiniObject*">
+        <warning>missing glib:type-name</warning>
+      </return-type>
+      <parameters>
+        <parameter name="obj" type="GstMiniObject*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="MiniObjectDisposeFunction" cname="GstMiniObjectDisposeFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="obj" type="GstMiniObject*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="MiniObjectFreeFunction" cname="GstMiniObjectFreeFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="obj" type="GstMiniObject*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="MiniObjectNotify" cname="GstMiniObjectNotify">
+      <return-type type="void" />
+      <parameters>
+        <parameter allow-none="1" closure="0" name="user_data" type="gpointer" />
+        <parameter name="obj" type="GstMiniObject*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="PadActivateFunction" cname="GstPadActivateFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter name="parent" type="GstObject*" />
+      </parameters>
+    </callback>
+    <callback name="PadActivateModeFunction" cname="GstPadActivateModeFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter name="parent" type="GstObject*" />
+        <parameter name="mode" type="GstPadMode" />
+        <parameter name="active" type="gboolean" />
+      </parameters>
+    </callback>
+    <callback name="PadChainFunction" cname="GstPadChainFunction">
+      <return-type type="GstFlowReturn" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+        <parameter name="buffer" type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="PadChainListFunction" cname="GstPadChainListFunction">
+      <return-type type="GstFlowReturn" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+        <parameter name="list" type="GstBufferList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="PadEventFullFunction" cname="GstPadEventFullFunction" version="1.8">
+      <return-type type="GstFlowReturn" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+        <parameter name="event" type="GstEvent*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="PadEventFunction" cname="GstPadEventFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+        <parameter name="event" type="GstEvent*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="PadForwardFunction" cname="GstPadForwardFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="PadGetRangeFunction" cname="GstPadGetRangeFunction">
+      <return-type type="GstFlowReturn" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+        <parameter name="offset" type="guint64" />
+        <parameter name="length" type="guint" />
+        <parameter name="buffer" type="GstBuffer**">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="PadIterIntLinkFunction" cname="GstPadIterIntLinkFunction">
+      <return-type type="GstIterator*" owned="true">
+        <warning>missing glib:type-name</warning>
+      </return-type>
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+      </parameters>
+    </callback>
+    <callback name="PadLinkFunction" cname="GstPadLinkFunction">
+      <return-type type="GstPadLinkReturn" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+        <parameter name="peer" type="GstPad*" />
+      </parameters>
+    </callback>
+    <callback name="PadProbeCallback" cname="GstPadProbeCallback">
+      <return-type type="GstPadProbeReturn" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter name="info" type="GstPadProbeInfo*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="PadQueryFunction" cname="GstPadQueryFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+        <parameter name="query" type="GstQuery*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="PadStickyEventsForeachFunction" cname="GstPadStickyEventsForeachFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="event" type="GstEvent**">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="PadUnlinkFunction" cname="GstPadUnlinkFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="pad" type="GstPad*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+      </parameters>
+    </callback>
+    <callback name="PluginFeatureFilter" cname="GstPluginFeatureFilter">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="feature" type="GstPluginFeature*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="PluginFilter" cname="GstPluginFilter">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="plugin" type="GstPlugin*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="PluginInitFullFunc" cname="GstPluginInitFullFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="plugin" type="GstPlugin*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="PluginInitFunc" cname="GstPluginInitFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="plugin" type="GstPlugin*" />
+      </parameters>
+    </callback>
+    <callback name="PromiseChangeFunc" cname="GstPromiseChangeFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="promise" type="GstPromise*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="StructureFilterMapFunc" cname="GstStructureFilterMapFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="field_id" type="guint32" />
+        <parameter name="value" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="StructureForeachFunc" cname="GstStructureForeachFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="field_id" type="guint32" />
+        <parameter name="value" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="StructureMapFunc" cname="GstStructureMapFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="field_id" type="guint32" />
+        <parameter name="value" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="TagForeachFunc" cname="GstTagForeachFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="list" type="GstTagList*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="tag" type="const-gchar*" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="TagMergeFunc" cname="GstTagMergeFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="dest" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="src" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="TaskFunction" cname="GstTaskFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter allow-none="1" closure="0" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="TaskPoolFunction" cname="GstTaskPoolFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter allow-none="1" closure="0" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="TaskThreadFunc" cname="GstTaskThreadFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="task" type="GstTask*" />
+        <parameter name="thread" type="GThread*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="TypeFindFunction" cname="GstTypeFindFunction">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="find" type="GstTypeFind*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="ValueCompareFunc" cname="GstValueCompareFunc">
+      <return-type type="gint" />
+      <parameters>
+        <parameter name="value1" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="value2" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="ValueDeserializeFunc" cname="GstValueDeserializeFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="dest" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="s" type="const-gchar*" />
+      </parameters>
+    </callback>
+    <callback name="ValueSerializeFunc" cname="GstValueSerializeFunc">
+      <return-type type="gchar*" owned="true" />
+      <parameters>
+        <parameter name="value1" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <interface name="ChildProxy" cname="GstChildProxy" opaque="false" hidden="false">
+      <class_struct cname="GstChildProxyInterface">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_child_by_name" />
+        <method vm="get_child_by_index" />
+        <method vm="get_children_count" />
+        <method signal_vm="child_added" />
+        <method signal_vm="child_removed" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_child_proxy_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="GetChildByIndex" cname="get_child_by_index">
+        <return-type type="GObject*" owned="true" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetChildByName" cname="get_child_by_name">
+        <return-type type="GObject*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetChildrenCount" cname="get_children_count">
+        <return-type type="guint" />
+        <parameters />
+      </virtual_method>
+      <method name="ChildAdded" cname="gst_child_proxy_child_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="child" type="GObject*" />
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ChildRemoved" cname="gst_child_proxy_child_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="child" type="GObject*" />
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetChildByIndex" cname="gst_child_proxy_get_child_by_index">
+        <return-type type="GObject*" owned="true" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetChildByName" cname="gst_child_proxy_get_child_by_name">
+        <return-type type="GObject*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetChildrenCount" cname="gst_child_proxy_get_children_count">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetProperty" cname="gst_child_proxy_get_property" hidden="1">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="value" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Lookup" cname="gst_child_proxy_lookup">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter allow-none="1" name="target" type="GObject*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="pspec" type="GParamSpec*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="SetProperty" cname="gst_child_proxy_set_property" hidden="1">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <signal name="ChildAddedEvent" cname="child-added" when="first" field_name="child_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GObject*" />
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="ChildRemovedEvent" cname="child-removed" when="first" field_name="child_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GObject*" />
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+    </interface>
+    <interface name="Preset" cname="GstPreset" opaque="false" hidden="false">
+      <class_struct cname="GstPresetInterface">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_preset_names" />
+        <method vm="get_property_names" />
+        <method vm="load_preset" />
+        <method vm="save_preset" />
+        <method vm="rename_preset" />
+        <method vm="delete_preset" />
+        <method vm="set_meta" />
+        <method vm="get_meta" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_preset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetAppDir" cname="gst_preset_get_app_dir" shared="true">
+        <return-type type="const-gchar*" />
+      </method>
+      <method name="SetAppDir" cname="gst_preset_set_app_dir" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="app_dir" type="const-gchar*" />
+        </parameters>
+      </method>
+      <virtual_method name="DeletePreset" cname="delete_preset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetMeta" cname="get_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetPresetNames" cname="get_preset_names">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="GetPropertyNames" cname="get_property_names">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="LoadPreset" cname="load_preset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RenamePreset" cname="rename_preset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="old_name" type="const-gchar*" />
+          <parameter name="new_name" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SavePreset" cname="save_preset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetMeta" cname="set_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="tag" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <method name="DeletePreset" cname="gst_preset_delete_preset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetMeta" cname="gst_preset_get_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetPresetNames" cname="gst_preset_get_preset_names">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="GetPropertyNames" cname="gst_preset_get_property_names">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="IsEditable" cname="gst_preset_is_editable" version="1.6">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="LoadPreset" cname="gst_preset_load_preset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RenamePreset" cname="gst_preset_rename_preset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="old_name" type="const-gchar*" />
+          <parameter name="new_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SavePreset" cname="gst_preset_save_preset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetMeta" cname="gst_preset_set_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="tag" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+    </interface>
+    <interface name="TagSetter" cname="GstTagSetter" opaque="false" hidden="false">
+      <class_struct cname="GstTagSetterInterface">
+        <field cname="g_iface" access="public" writeable="false" readable="true" is_callback="false" name="GIface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+      </class_struct>
+      <method name="GetType" cname="gst_tag_setter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="AddTagValue" cname="gst_tag_setter_add_tag_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstTagMergeMode" />
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetTagList" cname="gst_tag_setter_get_tag_list">
+        <return-type type="GstTagList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetTagMergeMode" cname="gst_tag_setter_get_tag_merge_mode">
+        <return-type type="GstTagMergeMode" />
+        <parameters />
+      </method>
+      <method name="MergeTags" cname="gst_tag_setter_merge_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="ResetTags" cname="gst_tag_setter_reset_tags">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetTagMergeMode" cname="gst_tag_setter_set_tag_merge_mode">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+    </interface>
+    <interface name="TocSetter" cname="GstTocSetter" opaque="false" hidden="false">
+      <class_struct cname="GstTocSetterInterface">
+        <field cname="g_iface" access="public" writeable="false" readable="true" is_callback="false" name="GIface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+      </class_struct>
+      <method name="GetType" cname="gst_toc_setter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetToc" cname="gst_toc_setter_get_toc">
+        <return-type type="GstToc*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Reset" cname="gst_toc_setter_reset">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetToc" cname="gst_toc_setter_set_toc">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="toc" type="GstToc*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <interface name="URIHandler" cname="GstURIHandler" opaque="false" hidden="false">
+      <class_struct cname="GstURIHandlerInterface">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_protocols" />
+        <method vm="get_uri" />
+        <method vm="set_uri" />
+      </class_struct>
+      <virtual_method name="GetProtocols" cname="get_protocols" shared="true">
+        <return-type type="const gchar* const*" array="true" null_term_array="true" />
+        <parameters>
+          <parameter name="type" type="GType" />
+        </parameters>
+      </virtual_method>
+      <method name="GetType" cname="gst_uri_handler_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="GetUri" cname="get_uri">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="SetUri" cname="set_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <method name="GetProtocols" cname="gst_uri_handler_get_protocols">
+        <return-type type="const gchar* const*" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="GetUri" cname="gst_uri_handler_get_uri">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetUriType" cname="gst_uri_handler_get_uri_type">
+        <return-type type="GstURIType" />
+        <parameters />
+      </method>
+      <method name="SetUri" cname="gst_uri_handler_set_uri">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+    </interface>
+    <object name="Allocator" cname="GstAllocator" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstAllocatorClass">
+        <field cname="object_class" access="public" writeable="false" readable="true" is_callback="false" name="ObjectClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="alloc" />
+        <method vm="free" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_allocator_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Find" cname="gst_allocator_find" shared="true">
+        <return-type type="GstAllocator*" owned="true" />
+        <parameters>
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Register" cname="gst_allocator_register" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="allocator" type="GstAllocator*" owned="true" />
+        </parameters>
+      </method>
+      <virtual_method name="Alloc" cname="alloc">
+        <return-type type="GstMemory*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="size" type="gsize" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Free" cname="free">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="memory" type="GstMemory*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="Alloc" cname="gst_allocator_alloc">
+        <return-type type="GstMemory*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="size" type="gsize" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_allocator_free">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="memory" type="GstMemory*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetDefault" cname="gst_allocator_set_default">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="mem_type" access="public" writeable="false" readable="true" is_callback="false" name="MemType" type="gchar*" />
+      <field cname="mem_map" access="public" writeable="false" readable="true" is_callback="false" name="MemMap" type="GstMemoryMapFunction" />
+      <field cname="mem_unmap" access="public" writeable="false" readable="true" is_callback="false" name="MemUnmap" type="GstMemoryUnmapFunction" />
+      <field cname="mem_copy" access="public" writeable="false" readable="true" is_callback="false" name="MemCopy" type="GstMemoryCopyFunction" />
+      <field cname="mem_share" access="public" writeable="false" readable="true" is_callback="false" name="MemShare" type="GstMemoryShareFunction" />
+      <field cname="mem_is_span" access="public" writeable="false" readable="true" is_callback="false" name="MemIsSpan" type="GstMemoryIsSpanFunction" />
+      <field cname="mem_map_full" access="public" writeable="false" readable="true" is_callback="false" name="MemMapFull" type="GstMemoryMapFullFunction" />
+      <field cname="mem_unmap_full" access="public" writeable="false" readable="true" is_callback="false" name="MemUnmapFull" type="GstMemoryUnmapFullFunction" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="2" padding="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAllocatorPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </object>
+    <object name="Bin" cname="GstBin" opaque="false" hidden="false" parent="GstElement">
+      <implements>
+        <interface cname="GstChildProxy" />
+      </implements>
+      <class_struct cname="GstBinClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="pool" access="private" writeable="false" readable="false" is_callback="false" name="Pool" type="GThreadPool*">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="element_added" />
+        <method signal_vm="element_removed" />
+        <method vm="add_element" />
+        <method vm="remove_element" />
+        <method vm="handle_message" />
+        <method signal_vm="do_latency" />
+        <method signal_vm="deep_element_added" />
+        <method signal_vm="deep_element_removed" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="2" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_bin_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_bin_new">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <virtual_method name="AddElement" cname="add_element">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleMessage" cname="handle_message">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RemoveElement" cname="remove_element">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </virtual_method>
+      <method name="Add" cname="gst_bin_add">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </method>
+      <method name="FindUnlinkedPad" cname="gst_bin_find_unlinked_pad">
+        <return-type type="GstPad*" owned="true" />
+        <parameters>
+          <parameter name="direction" type="GstPadDirection" />
+        </parameters>
+      </method>
+      <method name="GetByInterface" cname="gst_bin_get_by_interface">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter name="iface" type="GType" />
+        </parameters>
+      </method>
+      <method name="GetByName" cname="gst_bin_get_by_name">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetByNameRecurseUp" cname="gst_bin_get_by_name_recurse_up">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetSuppressedFlags" cname="gst_bin_get_suppressed_flags" version="1.10">
+        <return-type type="GstElementFlags" />
+        <parameters />
+      </method>
+      <method name="IterateAllByInterface" cname="gst_bin_iterate_all_by_interface">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="iface" type="GType" />
+        </parameters>
+      </method>
+      <method name="IterateElements" cname="gst_bin_iterate_elements">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IterateRecurse" cname="gst_bin_iterate_recurse">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IterateSinks" cname="gst_bin_iterate_sinks">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IterateSorted" cname="gst_bin_iterate_sorted">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IterateSources" cname="gst_bin_iterate_sources">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="RecalculateLatency" cname="gst_bin_recalculate_latency">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Remove" cname="gst_bin_remove">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </method>
+      <method name="SetSuppressedFlags" cname="gst_bin_set_suppressed_flags" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flags" type="GstElementFlags" />
+        </parameters>
+      </method>
+      <method name="SyncChildrenStates" cname="gst_bin_sync_children_states" version="1.6">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <property name="AsyncHandling" cname="async-handling" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MessageForward" cname="message-forward" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" hidden="true" />
+      <field cname="numchildren" access="public" writeable="false" readable="true" is_callback="false" name="Numchildren" type="gint" />
+      <field cname="children" access="public" writeable="false" readable="true" is_callback="false" name="Children" type="GList*" element_type="GstElement*" />
+      <field cname="children_cookie" access="public" writeable="false" readable="true" is_callback="false" name="ChildrenCookie" type="guint32" />
+      <field cname="child_bus" access="public" writeable="false" readable="true" is_callback="false" name="ChildBus" type="GstBus*" />
+      <field cname="messages" access="public" writeable="false" readable="true" is_callback="false" name="Messages" type="GList*" element_type="GList*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="polling" access="public" writeable="false" readable="true" is_callback="false" name="Polling" type="gboolean" />
+      <field cname="state_dirty" access="public" writeable="false" readable="true" is_callback="false" name="StateDirty" type="gboolean" />
+      <field cname="clock_dirty" access="public" writeable="false" readable="true" is_callback="false" name="ClockDirty" type="gboolean" />
+      <field cname="provided_clock" access="public" writeable="false" readable="true" is_callback="false" name="ProvidedClock" type="GstClock*" />
+      <field cname="clock_provider" access="public" writeable="false" readable="true" is_callback="false" name="ClockProvider" type="GstElement*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstBinPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="DeepElementAdded" cname="deep-element-added" when="first" field_name="deep_element_added" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sub_bin" type="GstBin*" />
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </signal>
+      <signal name="DeepElementRemoved" cname="deep-element-removed" when="first" field_name="deep_element_removed" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sub_bin" type="GstBin*" />
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </signal>
+      <signal name="DoLatency" cname="do-latency" when="last" field_name="do_latency">
+        <return-type type="gboolean" />
+        <parameters />
+      </signal>
+      <signal name="ElementAdded" cname="element-added" when="first" field_name="element_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </signal>
+      <signal name="ElementRemoved" cname="element-removed" when="first" field_name="element_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </signal>
+    </object>
+    <struct name="Bitmask" cname="GstBitmask" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_bitmask_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <object name="BufferPool" cname="GstBufferPool" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstBufferPoolClass">
+        <field cname="object_class" access="public" writeable="false" readable="true" is_callback="false" name="ObjectClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_options" />
+        <method vm="set_config" />
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="acquire_buffer" />
+        <method vm="alloc_buffer" />
+        <method vm="reset_buffer" />
+        <method vm="release_buffer" />
+        <method vm="free_buffer" />
+        <method vm="flush_start" />
+        <method vm="flush_stop" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="2" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_buffer_pool_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_buffer_pool_new" disable_void_ctor="" />
+      <method name="ConfigAddOption" cname="gst_buffer_pool_config_add_option" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="option" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ConfigGetAllocator" cname="gst_buffer_pool_config_get_allocator" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ConfigGetOption" cname="gst_buffer_pool_config_get_option" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="ConfigGetParams" cname="gst_buffer_pool_config_get_params" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="caps" type="GstCaps**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="size" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="min_buffers" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max_buffers" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ConfigHasOption" cname="gst_buffer_pool_config_has_option" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="option" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ConfigNOptions" cname="gst_buffer_pool_config_n_options" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ConfigSetAllocator" cname="gst_buffer_pool_config_set_allocator" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ConfigSetParams" cname="gst_buffer_pool_config_set_params" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="guint" />
+          <parameter name="min_buffers" type="guint" />
+          <parameter name="max_buffers" type="guint" />
+        </parameters>
+      </method>
+      <method name="ConfigValidateParams" cname="gst_buffer_pool_config_validate_params" shared="true" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="guint" />
+          <parameter name="min_buffers" type="guint" />
+          <parameter name="max_buffers" type="guint" />
+        </parameters>
+      </method>
+      <virtual_method name="AcquireBuffer" cname="acquire_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="params" type="GstBufferPoolAcquireParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="AllocBuffer" cname="alloc_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="params" type="GstBufferPoolAcquireParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="FlushStart" cname="flush_start">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="FlushStop" cname="flush_stop">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="FreeBuffer" cname="free_buffer">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetOptions" cname="get_options">
+        <return-type type="const-gchar**" array="true" null_term_array="true" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="ReleaseBuffer" cname="release_buffer">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ResetBuffer" cname="reset_buffer">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetConfig" cname="set_config">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="config" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <method name="AcquireBuffer" cname="gst_buffer_pool_acquire_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="params" type="GstBufferPoolAcquireParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetConfig" cname="gst_buffer_pool_get_config">
+        <return-type type="GstStructure*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetOptions" cname="gst_buffer_pool_get_options">
+        <return-type type="const-gchar**" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="HasOption" cname="gst_buffer_pool_has_option">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="option" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="IsActive" cname="gst_buffer_pool_is_active">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="ReleaseBuffer" cname="gst_buffer_pool_release_buffer">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetActive" cname="gst_buffer_pool_set_active">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetConfig" cname="gst_buffer_pool_set_config">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="config" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetFlushing" cname="gst_buffer_pool_set_flushing" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flushing" type="gboolean" />
+        </parameters>
+      </method>
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="flushing" access="public" writeable="false" readable="true" is_callback="false" name="Flushing" type="gboolean" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstBufferPoolPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="Bus" cname="GstBus" opaque="true" hidden="false" parent="GstObject">
+      <class_struct cname="GstBusClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="message" />
+        <method signal_vm="sync_message" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_bus_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_bus_new" disable_void_ctor="" />
+      <method name="AddSignalWatch" cname="gst_bus_add_signal_watch">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="AddSignalWatchFull" cname="gst_bus_add_signal_watch_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="priority" type="gint" />
+        </parameters>
+      </method>
+      <method name="AddWatchFull" cname="gst_bus_add_watch_full">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="priority" type="gint" />
+          <parameter closure="2" destroy="3" scope="notified" name="func" type="GstBusFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="AsyncSignalFunc" cname="gst_bus_async_signal_func">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="CreateWatch" cname="gst_bus_create_watch">
+        <return-type type="GSource*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="DisableSyncMessageEmission" cname="gst_bus_disable_sync_message_emission">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="EnableSyncMessageEmission" cname="gst_bus_enable_sync_message_emission">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetPollfd" cname="gst_bus_get_pollfd" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fd" type="GPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="HavePending" cname="gst_bus_have_pending">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Peek" cname="gst_bus_peek">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Poll" cname="gst_bus_poll">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="events" type="GstMessageType" />
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <method name="Pop" cname="gst_bus_pop">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="PopFiltered" cname="gst_bus_pop_filtered">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="types" type="GstMessageType" />
+        </parameters>
+      </method>
+      <method name="Post" cname="gst_bus_post">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RemoveSignalWatch" cname="gst_bus_remove_signal_watch">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="RemoveWatch" cname="gst_bus_remove_watch" version="1.6">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetFlushing" cname="gst_bus_set_flushing">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flushing" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSyncHandler" cname="gst_bus_set_sync_handler">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" allow-none="1" name="func" type="GstBusSyncHandler" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SyncSignalHandler" cname="gst_bus_sync_signal_handler">
+        <return-type type="GstBusSyncReply" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="data" type="gpointer" hidden="1" />
+        </parameters>
+      </method>
+      <method name="TimedPop" cname="gst_bus_timed_pop">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <method name="TimedPopFiltered" cname="gst_bus_timed_pop_filtered">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+          <parameter name="types" type="GstMessageType" />
+        </parameters>
+      </method>
+      <property name="EnableAsync" cname="enable-async" type="gboolean" readable="false" writeable="true" construct="false" construct-only="true" />
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstBusPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="Message" cname="message" when="last" field_name="message">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="SyncMessage" cname="sync-message" when="last" field_name="sync_message">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+    </object>
+    <object name="Clock" cname="GstClock" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstClockClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="change_resolution" />
+        <method vm="get_resolution" />
+        <method vm="get_internal_time" />
+        <method vm="wait" />
+        <method vm="wait_async" />
+        <method vm="unschedule" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_clock_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="IdCompareFunc" cname="gst_clock_id_compare_func" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter allow-none="1" name="id1" type="gpointer" />
+          <parameter allow-none="1" name="id2" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="IdGetTime" cname="gst_clock_id_get_time" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="id" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="IdRef" cname="gst_clock_id_ref" shared="true">
+        <return-type type="gpointer" owned="true" />
+        <parameters>
+          <parameter name="id" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="IdUnref" cname="gst_clock_id_unref" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="id" type="gpointer" owned="true" />
+        </parameters>
+      </method>
+      <method name="IdUnschedule" cname="gst_clock_id_unschedule" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="id" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="IdWait" cname="gst_clock_id_wait" shared="true">
+        <return-type type="GstClockReturn" />
+        <parameters>
+          <parameter name="id" type="gpointer" />
+          <parameter allow-none="1" name="jitter" type="gint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="IdWaitAsync" cname="gst_clock_id_wait_async" shared="true">
+        <return-type type="GstClockReturn" />
+        <parameters>
+          <parameter name="id" type="gpointer" />
+          <parameter closure="2" destroy="3" scope="notified" name="func" type="GstClockCallback" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="destroy_data" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <virtual_method name="ChangeResolution" cname="change_resolution">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="old_resolution" type="guint64" />
+          <parameter name="new_resolution" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetInternalTime" cname="get_internal_time">
+        <return-type type="guint64" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="GetResolution" cname="get_resolution">
+        <return-type type="guint64" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Unschedule" cname="unschedule">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="entry" type="GstClockEntry*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Wait" cname="wait">
+        <return-type type="GstClockReturn" />
+        <parameters>
+          <parameter name="entry" type="GstClockEntry*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="jitter" type="gint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="WaitAsync" cname="wait_async">
+        <return-type type="GstClockReturn" />
+        <parameters>
+          <parameter name="entry" type="GstClockEntry*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AddObservation" cname="gst_clock_add_observation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="slave" type="guint64" />
+          <parameter name="master" type="guint64" />
+          <parameter name="r_squared" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="AddObservationUnapplied" cname="gst_clock_add_observation_unapplied" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="slave" type="guint64" />
+          <parameter name="master" type="guint64" />
+          <parameter name="r_squared" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="internal" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="external" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="rate_num" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="rate_denom" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="AdjustUnlocked" cname="gst_clock_adjust_unlocked">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="internal" type="guint64" />
+        </parameters>
+      </method>
+      <method name="AdjustWithCalibration" cname="gst_clock_adjust_with_calibration" version="1.6">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="internal_target" type="guint64" />
+          <parameter name="cinternal" type="guint64" />
+          <parameter name="cexternal" type="guint64" />
+          <parameter name="cnum" type="guint64" />
+          <parameter name="cdenom" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetCalibration" cname="gst_clock_get_calibration">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="internal" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="external" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="rate_num" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="rate_denom" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetInternalTime" cname="gst_clock_get_internal_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetMaster" cname="gst_clock_get_master">
+        <return-type type="GstClock*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetResolution" cname="gst_clock_get_resolution">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetTime" cname="gst_clock_get_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetTimeout" cname="gst_clock_get_timeout">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="IsSynced" cname="gst_clock_is_synced" version="1.6">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="NewPeriodicId" cname="gst_clock_new_periodic_id">
+        <return-type type="gpointer" owned="true" />
+        <parameters>
+          <parameter name="start_time" type="guint64" />
+          <parameter name="interval" type="guint64" />
+        </parameters>
+      </method>
+      <method name="NewSingleShotId" cname="gst_clock_new_single_shot_id">
+        <return-type type="gpointer" owned="true" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="PeriodicIdReinit" cname="gst_clock_periodic_id_reinit">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="id" type="gpointer" />
+          <parameter name="start_time" type="guint64" />
+          <parameter name="interval" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetCalibration" cname="gst_clock_set_calibration">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="internal" type="guint64" />
+          <parameter name="external" type="guint64" />
+          <parameter name="rate_num" type="guint64" />
+          <parameter name="rate_denom" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetMaster" cname="gst_clock_set_master">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="master" type="GstClock*" />
+        </parameters>
+      </method>
+      <method name="SetResolution" cname="gst_clock_set_resolution">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="resolution" type="guint64" />
+        </parameters>
+      </method>
+      <method name="is_synced" cname="gst_clock_set_synced" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="synced" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetTimeout" cname="gst_clock_set_timeout">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SingleShotIdReinit" cname="gst_clock_single_shot_id_reinit">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="id" type="gpointer" />
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="UnadjustUnlocked" cname="gst_clock_unadjust_unlocked">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="external" type="guint64" />
+        </parameters>
+      </method>
+      <method name="UnadjustWithCalibration" cname="gst_clock_unadjust_with_calibration" version="1.8">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="external_target" type="guint64" />
+          <parameter name="cinternal" type="guint64" />
+          <parameter name="cexternal" type="guint64" />
+          <parameter name="cnum" type="guint64" />
+          <parameter name="cdenom" type="guint64" />
+        </parameters>
+      </method>
+      <method name="WaitForSync" cname="gst_clock_wait_for_sync" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <property name="Timeout" cname="timeout" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="WindowSize" cname="window-size" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="WindowThreshold" cname="window-threshold" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstClockPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="Synced" cname="synced" when="last" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="synced" type="gboolean" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="ControlBinding" cname="GstControlBinding" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstControlBindingClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="sync_values" />
+        <method vm="get_value" />
+        <method vm="get_value_array" />
+        <method vm="get_g_value_array" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_control_binding_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="GetGValueArray" cname="get_g_value_array" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="interval" type="guint64" />
+          <parameter name="n_values" type="guint" array_index="3" />
+          <parameter name="values" type="GValue*" array="true" array_length_param_index="2" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetValue" cname="get_value">
+        <return-type type="GValue*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetValueArray" cname="get_value_array" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="interval" type="guint64" />
+          <parameter name="n_values" type="guint" array_index="3" />
+          <parameter allow-none="1" name="values" type="gpointer" array="true" array_length_param_index="2" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SyncValues" cname="sync_values">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="_object" type="GstObject*" />
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="last_sync" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <method name="GetGValueArray" cname="gst_control_binding_get_g_value_array">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="interval" type="guint64" />
+          <parameter name="n_values" type="guint" array_index="3" />
+          <parameter name="values" type="GValue*" array="true" array_length_param_index="2" />
+        </parameters>
+      </method>
+      <method name="GetValue" cname="gst_control_binding_get_value">
+        <return-type type="GValue*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="IsDisabled" cname="gst_control_binding_is_disabled">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetDisabled" cname="gst_control_binding_set_disabled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="disabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SyncValues" cname="gst_control_binding_sync_values">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="_object" type="GstObject*" />
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="last_sync" type="guint64" />
+        </parameters>
+      </method>
+      <property name="Name" cname="name" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Object" cname="object" type="GstObject*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
+      <field cname="name" access="public" writeable="false" readable="true" is_callback="false" name="NameField" type="gchar*" />
+      <field cname="pspec" access="public" writeable="false" readable="true" is_callback="false" name="Pspec" type="GParamSpec*" />
+      <field cname="object" access="private" writeable="false" readable="false" is_callback="false" name="ObjectField" type="GstObject*" hidden="true" />
+      <field cname="disabled" access="private" writeable="false" readable="false" is_callback="false" name="Disabled" type="gboolean" />
+      <union name="ABI" cname="ABI">
+        <struct name="abi" cname="abi" opaque="false" hidden="false">
+          <field cname="priv" access="public" writeable="true" readable="true" is_callback="false" name="Priv" type="GstControlBindingPrivate*">
+            <warning>missing glib:type-name</warning>
+          </field>
+        </struct>
+        <field cname="_gst_reserved" access="public" writeable="true" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </union>
+    </object>
+    <object name="ControlSource" cname="GstControlSource" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstControlSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_control_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetValueAt" cname="gst_control_source_get_value">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="value" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetValues" cname="gst_control_source_get_value_array">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="interval" type="guint64" />
+          <parameter name="n_values" type="guint" array_index="3" />
+          <parameter name="values" type="gdouble*" array="true" array_length_param_index="2" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
+      <field cname="get_value" access="public" writeable="false" readable="true" is_callback="false" name="GetValue" type="GstControlSourceGetValue" />
+      <field cname="get_value_array" access="public" writeable="false" readable="true" is_callback="false" name="GetValueArray" type="GstControlSourceGetValueArray" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="Device" cname="GstDevice" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject" version="1.4">
+      <class_struct cname="GstDeviceClass" version="1.4">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_element" />
+        <method vm="reconfigure_element" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_device_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="CreateElement" cname="create_element" version="1.4">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ReconfigureElement" cname="reconfigure_element" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </virtual_method>
+      <method name="CreateElement" cname="gst_device_create_element" version="1.4">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetCaps" cname="gst_device_get_caps" version="1.4">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetDeviceClass" cname="gst_device_get_device_class" version="1.4">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDisplayName" cname="gst_device_get_display_name" version="1.4">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetProperties" cname="gst_device_get_properties" version="1.6">
+        <return-type type="GstStructure*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="HasClasses" cname="gst_device_has_classes" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="classes" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="HasClassesv" cname="gst_device_has_classesv" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="classes" type="const-gchar**" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="ReconfigureElement" cname="gst_device_reconfigure_element" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+        </parameters>
+      </method>
+      <property name="Caps" cname="caps" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="DeviceClass" cname="device-class" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="DisplayName" cname="display-name" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Properties" cname="properties" type="GstStructure*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstDevicePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="Removed" cname="removed" when="last">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+    </object>
+    <object name="DeviceMonitor" cname="GstDeviceMonitor" opaque="false" hidden="false" parent="GstObject" version="1.4">
+      <class_struct cname="GstDeviceMonitorClass" version="1.4">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_device_monitor_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_device_monitor_new" disable_void_ctor="" version="1.4" />
+      <method name="AddFilter" cname="gst_device_monitor_add_filter" version="1.4">
+        <return-type type="guint" />
+        <parameters>
+          <parameter allow-none="1" name="classes" type="const-gchar*" />
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBus" cname="gst_device_monitor_get_bus" version="1.4">
+        <return-type type="GstBus*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDevices" cname="gst_device_monitor_get_devices" version="1.4">
+        <return-type type="GList*" element_type="GstDevice*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetProviders" cname="gst_device_monitor_get_providers" version="1.6">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="GetShowAllDevices" cname="gst_device_monitor_get_show_all_devices" version="1.6">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="RemoveFilter" cname="gst_device_monitor_remove_filter" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="filter_id" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetShowAllDevices" cname="gst_device_monitor_set_show_all_devices" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="show_all" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Start" cname="gst_device_monitor_start" version="1.4">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Stop" cname="gst_device_monitor_stop" version="1.4">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <property name="ShowAll" cname="show-all" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstDeviceMonitorPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="DeviceProvider" cname="GstDeviceProvider" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject" version="1.4">
+      <class_struct cname="GstDeviceProviderClass" version="1.4">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="factory" access="public" writeable="false" readable="true" is_callback="false" name="Factory" type="GstDeviceProviderFactory*" />
+        <method vm="probe" />
+        <method vm="start" />
+        <method vm="stop" />
+        <field cname="metadata" access="private" writeable="false" readable="false" is_callback="false" name="Metadata" type="gpointer" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="AddMetadata" cname="gst_device_provider_class_add_metadata" shared="true" version="1.4" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddStaticMetadata" cname="gst_device_provider_class_add_static_metadata" shared="true" version="1.4" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter name="value" type="gchar*" owned="true" />
+        </parameters>
+      </method>
+      <method name="GetMetadata" cname="gst_device_provider_class_get_metadata" shared="true" version="1.4" hidden="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetMetadata" cname="gst_device_provider_class_set_metadata" shared="true" version="1.4" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="longname" type="const-gchar*" />
+          <parameter name="classification" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+          <parameter name="author" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetStaticMetadata" cname="gst_device_provider_class_set_static_metadata" shared="true" version="1.4" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="longname" type="gchar*" owned="true" />
+          <parameter name="classification" type="gchar*" owned="true" />
+          <parameter name="description" type="gchar*" owned="true" />
+          <parameter name="author" type="gchar*" owned="true" />
+        </parameters>
+      </method>
+      <method name="GetType" cname="gst_device_provider_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Register" cname="gst_device_provider_register" shared="true" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="plugin" type="GstPlugin*" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="rank" type="guint" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <virtual_method name="Probe" cname="probe" hidden="true">
+        <return-type type="GList*" element_type="gpointer" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Start" cname="start" version="1.4">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop" version="1.4">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <method name="CanMonitor" cname="gst_device_provider_can_monitor">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="DeviceAdd" cname="gst_device_provider_device_add" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="device" type="GstDevice*" />
+        </parameters>
+      </method>
+      <method name="DeviceRemove" cname="gst_device_provider_device_remove" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="device" type="GstDevice*" />
+        </parameters>
+      </method>
+      <method name="GetBus" cname="gst_device_provider_get_bus" version="1.4">
+        <return-type type="GstBus*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDevices" cname="gst_device_provider_get_devices" version="1.4">
+        <return-type type="GList*" element_type="GstDevice*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetFactory" cname="gst_device_provider_get_factory" version="1.4">
+        <return-type type="GstDeviceProviderFactory*" />
+        <parameters />
+      </method>
+      <method name="GetHiddenProviders" cname="gst_device_provider_get_hidden_providers" version="1.6">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="GetMetadata" cname="gst_device_provider_get_metadata" version="1.14">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="HideProvider" cname="gst_device_provider_hide_provider" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Start" cname="gst_device_provider_start" version="1.4">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Stop" cname="gst_device_provider_stop" version="1.4">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="UnhideProvider" cname="gst_device_provider_unhide_provider" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
+      <field cname="devices" access="public" writeable="false" readable="true" is_callback="false" name="Devices" type="GList*" element_type="gpointer" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstDeviceProviderPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="ProviderHidden" cname="provider-hidden" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="const-gchar*" />
+        </parameters>
+      </signal>
+      <signal name="ProviderUnhidden" cname="provider-unhidden" when="first">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="const-gchar*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="DeviceProviderFactory" cname="GstDeviceProviderFactory" opaque="false" hidden="false" parent="GstPluginFeature" version="1.4">
+      <class_struct cname="GstDeviceProviderFactoryClass" version="1.4" />
+      <method name="GetType" cname="gst_device_provider_factory_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Find" cname="gst_device_provider_factory_find" shared="true" version="1.4">
+        <return-type type="GstDeviceProviderFactory*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetByName" cname="gst_device_provider_factory_get_by_name" shared="true" version="1.4">
+        <return-type type="GstDeviceProvider*" owned="true" />
+        <parameters>
+          <parameter name="factoryname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ListGetDeviceProviders" cname="gst_device_provider_factory_list_get_device_providers" shared="true" version="1.4">
+        <return-type type="GList*" element_type="GstDeviceProviderFactory*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="minrank" type="GstRank" />
+        </parameters>
+      </method>
+      <method name="Get" cname="gst_device_provider_factory_get" version="1.4">
+        <return-type type="GstDeviceProvider*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDeviceProviderType" cname="gst_device_provider_factory_get_device_provider_type" version="1.4">
+        <return-type type="GType" />
+        <parameters />
+      </method>
+      <method name="GetMetadata" cname="gst_device_provider_factory_get_metadata" version="1.4">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetMetadataKeys" cname="gst_device_provider_factory_get_metadata_keys" version="1.4">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="HasClasses" cname="gst_device_provider_factory_has_classes" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="classes" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="HasClassesv" cname="gst_device_provider_factory_has_classesv" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="classes" type="const-gchar**" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+    </object>
+    <struct name="DoubleRange" cname="GstDoubleRange" opaque="true" hidden="true">
+      <method name="GetType" cname="gst_double_range_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <object name="DynamicTypeFactory" cname="GstDynamicTypeFactory" opaque="false" hidden="false" parent="GstPluginFeature">
+      <class_struct cname="GstDynamicTypeFactoryClass" />
+      <method name="GetType" cname="gst_dynamic_type_factory_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Load" cname="gst_dynamic_type_factory_load" shared="true">
+        <return-type type="GType" />
+        <parameters>
+          <parameter name="factoryname" type="const-gchar*" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Element" cname="GstElement" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstElementClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="metadata" access="public" writeable="false" readable="true" is_callback="false" name="Metadata" type="gpointer" />
+        <field cname="elementfactory" access="public" writeable="false" readable="true" is_callback="false" name="Elementfactory" type="GstElementFactory*" />
+        <field cname="padtemplates" access="public" writeable="false" readable="true" is_callback="false" name="Padtemplates" type="GList*" element_type="gpointer" />
+        <field cname="numpadtemplates" access="public" writeable="false" readable="true" is_callback="false" name="Numpadtemplates" type="gint" />
+        <field cname="pad_templ_cookie" access="public" writeable="false" readable="true" is_callback="false" name="PadTemplCookie" type="guint32" />
+        <method signal_vm="pad_added" />
+        <method signal_vm="pad_removed" />
+        <method signal_vm="no_more_pads" />
+        <method vm="request_new_pad" />
+        <method vm="release_pad" />
+        <method vm="get_state" />
+        <method vm="set_state" />
+        <method vm="change_state" />
+        <method vm="state_changed" />
+        <method vm="set_bus" />
+        <method vm="provide_clock" />
+        <method vm="set_clock" />
+        <method vm="send_event" />
+        <method vm="query" />
+        <method vm="post_message" />
+        <method vm="set_context" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="18" padding="true" />
+      </class_struct>
+      <method name="AddMetadata" cname="gst_element_class_add_metadata" shared="true" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddPadTemplate" cname="gst_element_class_add_pad_template" shared="true" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="templ" type="GstPadTemplate*" />
+        </parameters>
+      </method>
+      <method name="AddStaticMetadata" cname="gst_element_class_add_static_metadata" shared="true" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddStaticPadTemplate" cname="gst_element_class_add_static_pad_template" shared="true" version="1.8" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="static_templ" type="GstStaticPadTemplate*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddStaticPadTemplateWithGtype" cname="gst_element_class_add_static_pad_template_with_gtype" shared="true" version="1.14" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="static_templ" type="GstStaticPadTemplate*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="pad_type" type="GType" />
+        </parameters>
+      </method>
+      <method name="GetMetadata" cname="gst_element_class_get_metadata" shared="true" hidden="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetPadTemplate" cname="gst_element_class_get_pad_template" shared="true" hidden="true">
+        <return-type type="GstPadTemplate*" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetPadTemplateList" cname="gst_element_class_get_pad_template_list" shared="true" hidden="true">
+        <return-type type="GList*" element_type="GstPadTemplate*" />
+        <parameters />
+      </method>
+      <method name="SetMetadata" cname="gst_element_class_set_metadata" shared="true" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="longname" type="const-gchar*" />
+          <parameter name="classification" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+          <parameter name="author" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetStaticMetadata" cname="gst_element_class_set_static_metadata" shared="true" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="longname" type="const-gchar*" />
+          <parameter name="classification" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+          <parameter name="author" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetType" cname="gst_element_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="MakeFromUri" cname="gst_element_make_from_uri" shared="true">
+        <return-type type="GstElement*" />
+        <parameters throws="1">
+          <parameter name="type" type="GstURIType" />
+          <parameter name="uri" type="const-gchar*" />
+          <parameter allow-none="1" name="elementname" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="Register" cname="gst_element_register" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="plugin" type="GstPlugin*" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="rank" type="guint" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="StateChangeReturnGetName" cname="gst_element_state_change_return_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="state_ret" type="GstStateChangeReturn" />
+        </parameters>
+      </method>
+      <method name="StateGetName" cname="gst_element_state_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="state" type="GstState" />
+        </parameters>
+      </method>
+      <virtual_method name="ChangeState" cname="change_state">
+        <return-type type="GstStateChangeReturn" />
+        <parameters>
+          <parameter name="transition" type="GstStateChange" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetState" cname="get_state">
+        <return-type type="GstStateChangeReturn" />
+        <parameters>
+          <parameter allow-none="1" name="state" type="GstState" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="pending" type="GstState" owned="true" pass_as="out" />
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="PostMessage" cname="post_message">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProvideClock" cname="provide_clock">
+        <return-type type="GstClock*" owned="true" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Query" cname="query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ReleasePad" cname="release_pad">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RequestNewPad" cname="request_new_pad">
+        <return-type type="GstPad*" owned="true" />
+        <parameters>
+          <parameter name="templ" type="GstPadTemplate*" />
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SendEvent" cname="send_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetBus" cname="set_bus">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="bus" type="GstBus*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetClock" cname="set_clock">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetContext" cname="set_context">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="context" type="GstContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetState" cname="set_state">
+        <return-type type="GstStateChangeReturn" />
+        <parameters>
+          <parameter name="state" type="GstState" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="StateChanged" cname="state_changed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="oldstate" type="GstState" />
+          <parameter name="newstate" type="GstState" />
+          <parameter name="pending" type="GstState" />
+        </parameters>
+      </virtual_method>
+      <method name="AbortState" cname="gst_element_abort_state">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="AddPad" cname="gst_element_add_pad">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="AddPropertyDeepNotifyWatch" cname="gst_element_add_property_deep_notify_watch" version="1.10">
+        <return-type type="gulong" />
+        <parameters>
+          <parameter allow-none="1" name="property_name" type="const-gchar*" />
+          <parameter name="include_value" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="AddPropertyNotifyWatch" cname="gst_element_add_property_notify_watch" version="1.10">
+        <return-type type="gulong" />
+        <parameters>
+          <parameter allow-none="1" name="property_name" type="const-gchar*" />
+          <parameter name="include_value" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="CallAsync" cname="gst_element_call_async" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="func" type="GstElementCallAsyncFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="destroy_notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="ChangeState" cname="gst_element_change_state">
+        <return-type type="GstStateChangeReturn" />
+        <parameters>
+          <parameter name="transition" type="GstStateChange" />
+        </parameters>
+      </method>
+      <method name="ContinueState" cname="gst_element_continue_state">
+        <return-type type="GstStateChangeReturn" />
+        <parameters>
+          <parameter name="_ret" type="GstStateChangeReturn" />
+        </parameters>
+      </method>
+      <method name="CreateAllPads" cname="gst_element_create_all_pads">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="ForeachPad" cname="gst_element_foreach_pad" version="1.14">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstElementForeachPadFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="ForeachSinkPad" cname="gst_element_foreach_sink_pad" version="1.14">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstElementForeachPadFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="ForeachSrcPad" cname="gst_element_foreach_src_pad" version="1.14">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstElementForeachPadFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="GetBaseTime" cname="gst_element_get_base_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetBus" cname="gst_element_get_bus">
+        <return-type type="GstBus*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetClock" cname="gst_element_get_clock">
+        <return-type type="GstClock*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetCompatiblePad" cname="gst_element_get_compatible_pad">
+        <return-type type="GstPad*" owned="true" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetCompatiblePadTemplate" cname="gst_element_get_compatible_pad_template">
+        <return-type type="GstPadTemplate*" />
+        <parameters>
+          <parameter name="compattempl" type="GstPadTemplate*" />
+        </parameters>
+      </method>
+      <method name="GetContext" cname="gst_element_get_context" version="1.8">
+        <return-type type="GstContext*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="context_type" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetContextUnlocked" cname="gst_element_get_context_unlocked" version="1.8">
+        <return-type type="GstContext*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="context_type" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetContexts" cname="gst_element_get_contexts" version="1.8">
+        <return-type type="GList*" element_type="GList*" elements_owned="true" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetFactory" cname="gst_element_get_factory">
+        <return-type type="GstElementFactory*" />
+        <parameters />
+      </method>
+      <method name="GetMetadata" cname="gst_element_get_metadata" version="1.14">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetPadTemplate" cname="gst_element_get_pad_template" version="1.14">
+        <return-type type="GstPadTemplate*" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetPadTemplateList" cname="gst_element_get_pad_template_list" version="1.14">
+        <return-type type="GList*" element_type="GstPadTemplate*" />
+        <parameters />
+      </method>
+      <method name="GetRequestPad" cname="gst_element_get_request_pad">
+        <return-type type="GstPad*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetStartTime" cname="gst_element_get_start_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetState" cname="gst_element_get_state">
+        <return-type type="GstStateChangeReturn" />
+        <parameters>
+          <parameter allow-none="1" name="state" type="GstState" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="pending" type="GstState" owned="true" pass_as="out" />
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetStaticPad" cname="gst_element_get_static_pad">
+        <return-type type="GstPad*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="IsLockedState" cname="gst_element_is_locked_state">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IteratePads" cname="gst_element_iterate_pads">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IterateSinkPads" cname="gst_element_iterate_sink_pads">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IterateSrcPads" cname="gst_element_iterate_src_pads">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Link" cname="gst_element_link">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GstElement*" />
+        </parameters>
+      </method>
+      <method name="LinkFiltered" cname="gst_element_link_filtered">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GstElement*" />
+          <parameter allow-none="1" name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="LinkPads" cname="gst_element_link_pads">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="srcpadname" type="const-gchar*" />
+          <parameter name="dest" type="GstElement*" />
+          <parameter allow-none="1" name="destpadname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="LinkPadsFiltered" cname="gst_element_link_pads_filtered">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="srcpadname" type="const-gchar*" />
+          <parameter name="dest" type="GstElement*" />
+          <parameter allow-none="1" name="destpadname" type="const-gchar*" />
+          <parameter allow-none="1" name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="LinkPadsFull" cname="gst_element_link_pads_full">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="srcpadname" type="const-gchar*" />
+          <parameter name="dest" type="GstElement*" />
+          <parameter allow-none="1" name="destpadname" type="const-gchar*" />
+          <parameter name="flags" type="GstPadLinkCheck" />
+        </parameters>
+      </method>
+      <method name="LostState" cname="gst_element_lost_state">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="MessageFull" cname="gst_element_message_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GstMessageType" />
+          <parameter name="domain" type="guint32" />
+          <parameter name="code" type="gint" />
+          <parameter allow-none="1" name="text" type="gchar*" owned="true" />
+          <parameter allow-none="1" name="debug" type="gchar*" owned="true" />
+          <parameter name="file" type="const-gchar*" />
+          <parameter name="function" type="const-gchar*" />
+          <parameter name="line" type="gint" />
+        </parameters>
+      </method>
+      <method name="MessageFullWithDetails" cname="gst_element_message_full_with_details" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GstMessageType" />
+          <parameter name="domain" type="guint32" />
+          <parameter name="code" type="gint" />
+          <parameter allow-none="1" name="text" type="gchar*" owned="true" />
+          <parameter allow-none="1" name="debug" type="gchar*" owned="true" />
+          <parameter name="file" type="const-gchar*" />
+          <parameter name="function" type="const-gchar*" />
+          <parameter name="line" type="gint" />
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NoMorePads" cname="gst_element_no_more_pads">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="PostMessage" cname="gst_element_post_message">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ProvideClock" cname="gst_element_provide_clock">
+        <return-type type="GstClock*" owned="true" />
+        <parameters />
+      </method>
+      <method name="Query" cname="gst_element_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="QueryConvert" cname="gst_element_query_convert">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src_format" type="GstFormat" />
+          <parameter name="src_val" type="gint64" />
+          <parameter name="dest_format" type="GstFormat" />
+          <parameter name="dest_val" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QueryDuration" cname="gst_element_query_duration">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter allow-none="1" name="duration" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QueryPosition" cname="gst_element_query_position">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter allow-none="1" name="cur" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ReleaseRequestPad" cname="gst_element_release_request_pad">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="RemovePad" cname="gst_element_remove_pad">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="RemovePropertyNotifyWatch" cname="gst_element_remove_property_notify_watch" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="watch_id" type="gulong" />
+        </parameters>
+      </method>
+      <method name="RequestPad" cname="gst_element_request_pad">
+        <return-type type="GstPad*" owned="true" />
+        <parameters>
+          <parameter name="templ" type="GstPadTemplate*" />
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Seek" cname="gst_element_seek">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="rate" type="gdouble" />
+          <parameter name="format" type="GstFormat" />
+          <parameter name="flags" type="GstSeekFlags" />
+          <parameter name="start_type" type="GstSeekType" />
+          <parameter name="start" type="gint64" />
+          <parameter name="stop_type" type="GstSeekType" />
+          <parameter name="stop" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SeekSimple" cname="gst_element_seek_simple">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="seek_flags" type="GstSeekFlags" />
+          <parameter name="seek_pos" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SendEvent" cname="gst_element_send_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetBaseTime" cname="gst_element_set_base_time">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetBus" cname="gst_element_set_bus">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="bus" type="GstBus*" />
+        </parameters>
+      </method>
+      <method name="SetClock" cname="gst_element_set_clock">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*" />
+        </parameters>
+      </method>
+      <method name="SetContext" cname="gst_element_set_context">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="context" type="GstContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetLockedState" cname="gst_element_set_locked_state">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="locked_state" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetStartTime" cname="gst_element_set_start_time">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetState" cname="gst_element_set_state">
+        <return-type type="GstStateChangeReturn" />
+        <parameters>
+          <parameter name="state" type="GstState" />
+        </parameters>
+      </method>
+      <method name="SyncStateWithParent" cname="gst_element_sync_state_with_parent">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Unlink" cname="gst_element_unlink">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dest" type="GstElement*" />
+        </parameters>
+      </method>
+      <method name="UnlinkPads" cname="gst_element_unlink_pads">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="srcpadname" type="const-gchar*" />
+          <parameter name="dest" type="GstElement*" />
+          <parameter name="destpadname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="state_lock" access="public" writeable="false" readable="true" is_callback="false" name="StateLock" type="GRecMutex">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="state_cond" access="public" writeable="false" readable="true" is_callback="false" name="StateCond" type="GCond">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="state_cookie" access="public" writeable="false" readable="true" is_callback="false" name="StateCookie" type="guint32" />
+      <field cname="target_state" access="public" writeable="false" readable="true" is_callback="false" name="TargetState" type="GstState" />
+      <field cname="current_state" access="public" writeable="false" readable="true" is_callback="false" name="CurrentState" type="GstState" />
+      <field cname="next_state" access="public" writeable="false" readable="true" is_callback="false" name="NextState" type="GstState" />
+      <field cname="pending_state" access="public" writeable="false" readable="true" is_callback="false" name="PendingState" type="GstState" />
+      <field cname="last_return" access="public" writeable="false" readable="true" is_callback="false" name="LastReturn" type="GstStateChangeReturn" />
+      <field cname="bus" access="public" writeable="false" readable="true" is_callback="false" name="Bus" type="GstBus*" />
+      <field cname="clock" access="public" writeable="false" readable="true" is_callback="false" name="Clock" type="GstClock*" />
+      <field cname="base_time" access="public" writeable="false" readable="true" is_callback="false" name="BaseTime" type="gint64" />
+      <field cname="start_time" access="public" writeable="false" readable="true" is_callback="false" name="StartTime" type="guint64" />
+      <field cname="numpads" access="public" writeable="false" readable="true" is_callback="false" name="Numpads" type="guint16" />
+      <field cname="pads" access="public" writeable="false" readable="true" is_callback="false" name="Pads" type="GList*" element_type="GstPad*" />
+      <field cname="numsrcpads" access="public" writeable="false" readable="true" is_callback="false" name="Numsrcpads" type="guint16" />
+      <field cname="srcpads" access="public" writeable="false" readable="true" is_callback="false" name="Srcpads" type="GList*" element_type="GstPad*" />
+      <field cname="numsinkpads" access="public" writeable="false" readable="true" is_callback="false" name="Numsinkpads" type="guint16" />
+      <field cname="sinkpads" access="public" writeable="false" readable="true" is_callback="false" name="Sinkpads" type="GList*" element_type="GstPad*" />
+      <field cname="pads_cookie" access="public" writeable="false" readable="true" is_callback="false" name="PadsCookie" type="guint32" />
+      <field cname="contexts" access="public" writeable="false" readable="true" is_callback="false" name="Contexts" type="GList*" element_type="GList*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" padding="true" />
+      <signal name="NoMorePadsEvent" cname="no-more-pads" when="last" field_name="no_more_pads">
+        <return-type type="void" />
+        <parameters />
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="PadAdded" cname="pad-added" when="last" field_name="pad_added">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="new_pad" type="GstPad*" />
+        </parameters>
+      </signal>
+      <signal name="PadRemoved" cname="pad-removed" when="last" field_name="pad_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="old_pad" type="GstPad*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="ElementFactory" cname="GstElementFactory" opaque="true" hidden="false" parent="GstPluginFeature">
+      <class_struct cname="GstElementFactoryClass" />
+      <method name="GetType" cname="gst_element_factory_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Find" cname="gst_element_factory_find" shared="true">
+        <return-type type="GstElementFactory*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ListFilter" cname="gst_element_factory_list_filter" shared="true">
+        <return-type type="GList*" element_type="GstElementFactory*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="list" type="GList*" element_type="GstElementFactory*" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="direction" type="GstPadDirection" />
+          <parameter name="subsetonly" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="ListGetElements" cname="gst_element_factory_list_get_elements" shared="true">
+        <return-type type="GList*" element_type="GstElementFactory*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="type" type="guint64" />
+          <parameter name="minrank" type="GstRank" />
+        </parameters>
+      </method>
+      <method name="Make" cname="gst_element_factory_make" shared="true">
+        <return-type type="GstElement*" />
+        <parameters>
+          <parameter name="factoryname" type="const-gchar*" />
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="CanSinkAllCaps" cname="gst_element_factory_can_sink_all_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CanSinkAnyCaps" cname="gst_element_factory_can_sink_any_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CanSrcAllCaps" cname="gst_element_factory_can_src_all_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CanSrcAnyCaps" cname="gst_element_factory_can_src_any_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Create" cname="gst_element_factory_create">
+        <return-type type="GstElement*" />
+        <parameters>
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetElementType" cname="gst_element_factory_get_element_type">
+        <return-type type="GType" />
+        <parameters />
+      </method>
+      <method name="GetMetadata" cname="gst_element_factory_get_metadata">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetMetadataKeys" cname="gst_element_factory_get_metadata_keys">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="GetNumPadTemplates" cname="gst_element_factory_get_num_pad_templates">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetStaticPadTemplates" cname="gst_element_factory_get_static_pad_templates">
+        <parameters />
+        <return-type type="GList*" element_type="GstStaticPadTemplate" />
+      </method>
+      <method name="GetUriProtocols" cname="gst_element_factory_get_uri_protocols">
+        <return-type type="const-gchar**" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="GetUriType" cname="gst_element_factory_get_uri_type">
+        <return-type type="GstURIType" />
+        <parameters />
+      </method>
+      <method name="HasInterface" cname="gst_element_factory_has_interface">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="interfacename" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ListIsType" cname="gst_element_factory_list_is_type">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="guint64" />
+        </parameters>
+      </method>
+    </object>
+    <struct name="FlagSet" cname="GstFlagSet" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_flagset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Register" cname="gst_flagset_register" shared="true" version="1.6">
+        <return-type type="GType" />
+        <parameters>
+          <parameter name="flags_type" type="GType" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="Fraction" cname="GstFraction" opaque="true" hidden="true">
+      <method name="GetType" cname="gst_fraction_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <struct name="FractionRange" cname="GstFractionRange" opaque="true" hidden="true">
+      <method name="GetType" cname="gst_fraction_range_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <object name="GhostPad" cname="GstGhostPad" opaque="false" hidden="false" parent="GstProxyPad">
+      <class_struct cname="GstGhostPadClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstProxyPadClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_ghost_pad_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_ghost_pad_new">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="target" type="GstPad*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_ghost_pad_new_from_template">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="target" type="GstPad*" />
+          <parameter name="templ" type="GstPadTemplate*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_ghost_pad_new_no_target">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="dir" type="GstPadDirection" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_ghost_pad_new_no_target_from_template">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="templ" type="GstPadTemplate*" />
+        </parameters>
+      </constructor>
+      <method name="ActivateModeDefault" cname="gst_ghost_pad_activate_mode_default" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+          <parameter name="mode" type="GstPadMode" />
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="InternalActivateModeDefault" cname="gst_ghost_pad_internal_activate_mode_default" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+          <parameter name="mode" type="GstPadMode" />
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Construct" cname="gst_ghost_pad_construct">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetTarget" cname="gst_ghost_pad_get_target">
+        <return-type type="GstPad*" owned="true" />
+        <parameters />
+      </method>
+      <method name="SetTarget" cname="gst_ghost_pad_set_target">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="newtarget" type="GstPad*" />
+        </parameters>
+      </method>
+      <field cname="pad" access="public" writeable="false" readable="true" is_callback="false" name="Pad" type="GstProxyPad*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstGhostPadPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </object>
+    <struct name="Int64Range" cname="GstInt64Range" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_int64_range_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <struct name="IntRange" cname="GstIntRange" opaque="true" hidden="true">
+      <method name="GetType" cname="gst_int_range_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <object name="Object" cname="GstObject" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GInitiallyUnowned">
+      <class_struct cname="GstObjectClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GInitiallyUnownedClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="path_string_separator" access="public" writeable="false" readable="true" is_callback="false" name="PathStringSeparator" type="gchar*" />
+        <method signal_vm="deep_notify" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_object_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="CheckUniqueness" cname="gst_object_check_uniqueness" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="list" type="GList*" element_type="GstObject*" />
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="DefaultDeepNotify" cname="gst_object_default_deep_notify" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GObject*" />
+          <parameter name="orig" type="GstObject*" />
+          <parameter name="pspec" type="GParamSpec*" />
+          <parameter allow-none="1" name="excluded_props" type="const-gchar**" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="Replace" cname="gst_object_replace" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="oldobj" type="GstObject*" owned="true" />
+          <parameter allow-none="1" name="newobj" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="AddControlBinding" cname="gst_object_add_control_binding">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="binding" type="GstControlBinding*" />
+        </parameters>
+      </method>
+      <method name="DefaultError" cname="gst_object_default_error">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="error" type="GError*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="debug" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetControlBinding" cname="gst_object_get_control_binding">
+        <return-type type="GstControlBinding*" owned="true" />
+        <parameters>
+          <parameter name="property_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetControlRate" cname="gst_object_get_control_rate">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetGValueArray" cname="gst_object_get_g_value_array">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="interval" type="guint64" />
+          <parameter name="n_values" type="guint" array_index="4" />
+          <parameter name="values" type="GValue*" array="true" array_length_param_index="3" />
+        </parameters>
+      </method>
+      <method name="GetName" cname="gst_object_get_name">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetParent" cname="gst_object_get_parent">
+        <return-type type="GstObject*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPathString" cname="gst_object_get_path_string">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetValue" cname="gst_object_get_value">
+        <return-type type="GValue*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="HasActiveControlBindings" cname="gst_object_has_active_control_bindings">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="HasAncestor" cname="gst_object_has_ancestor" deprecated="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ancestor" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="HasAsAncestor" cname="gst_object_has_as_ancestor">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ancestor" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="HasAsParent" cname="gst_object_has_as_parent" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="parent" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="Ref" cname="gst_object_ref">
+        <return-type type="GstObject*" owned="true" />
+        <parameters />
+      </method>
+      <method name="RemoveControlBinding" cname="gst_object_remove_control_binding">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="binding" type="GstControlBinding*" />
+        </parameters>
+      </method>
+      <method name="SetControlBindingDisabled" cname="gst_object_set_control_binding_disabled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="disabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetControlBindingsDisabled" cname="gst_object_set_control_bindings_disabled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="disabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetControlRate" cname="gst_object_set_control_rate">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="control_rate" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetName" cname="gst_object_set_name">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetParent" cname="gst_object_set_parent">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="parent" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="SuggestNextSync" cname="gst_object_suggest_next_sync">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="SyncValues" cname="gst_object_sync_values">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="Unparent" cname="gst_object_unparent">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Unref" cname="gst_object_unref">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <property name="Name" cname="name" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Parent" cname="parent" type="GstObject*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GInitiallyUnowned*" hidden="true" />
+      <field cname="lock" access="public" writeable="false" readable="true" is_callback="false" name="Lock" type="GMutex*" />
+      <field cname="name" access="public" writeable="false" readable="true" is_callback="false" name="NameField" type="gchar*" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="ParentField" type="GstObject*" hidden="true" />
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="guint32" />
+      <field cname="control_bindings" access="private" writeable="false" readable="false" is_callback="false" name="ControlBindings" type="GList*" element_type="gpointer" />
+      <field cname="control_rate" access="private" writeable="false" readable="false" is_callback="false" name="ControlRate" type="guint64" />
+      <field cname="last_sync" access="private" writeable="false" readable="false" is_callback="false" name="LastSync" type="guint64" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" padding="true" />
+      <signal name="DeepNotify" cname="deep-notify" when="first" field_name="deep_notify">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="prop_object" type="GstObject*" />
+          <parameter name="prop" type="GParamSpec*" />
+        </parameters>
+      </signal>
+      <method name="Connect">
+        <parameters>
+          <parameter name="o" type="GObject" />
+          <parameter name="handler" type="Delegate" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Pad" cname="GstPad" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstPadClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="linked" />
+        <method signal_vm="unlinked" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_pad_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_pad_new">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="direction" type="GstPadDirection" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_pad_new_from_static_template">
+        <parameters>
+          <parameter name="templ" type="GstStaticPadTemplate*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_pad_new_from_template">
+        <parameters>
+          <parameter name="templ" type="GstPadTemplate*" />
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="LinkGetName" cname="gst_pad_link_get_name" shared="true" version="1.4">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="_ret" type="GstPadLinkReturn" />
+        </parameters>
+      </method>
+      <method name="ActivateMode" cname="gst_pad_activate_mode">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="mode" type="GstPadMode" />
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="AddProbe" cname="gst_pad_add_probe">
+        <return-type type="gulong" />
+        <parameters>
+          <parameter name="mask" type="GstPadProbeType" />
+          <parameter closure="2" destroy="3" scope="notified" name="callback" type="GstPadProbeCallback" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="destroy_data" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="CanLink" cname="gst_pad_can_link">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sinkpad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="Chain" cname="gst_pad_chain">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ChainList" cname="gst_pad_chain_list">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="list" type="GstBufferList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CheckReconfigure" cname="gst_pad_check_reconfigure">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="CreateStreamId" cname="gst_pad_create_stream_id">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="parent" type="GstElement*" />
+          <parameter allow-none="1" name="stream_id" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="EventDefault" cname="gst_pad_event_default">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+          <parameter name="event" type="GstEvent*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Forward" cname="gst_pad_forward">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="forward" type="GstPadForwardFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="GetAllowedCaps" cname="gst_pad_get_allowed_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetCurrentCaps" cname="gst_pad_get_current_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetDirection" cname="gst_pad_get_direction">
+        <return-type type="GstPadDirection" />
+        <parameters />
+      </method>
+      <method name="GetElementPrivate" cname="gst_pad_get_element_private">
+        <return-type type="gpointer" />
+        <parameters />
+      </method>
+      <method name="GetLastFlowReturn" cname="gst_pad_get_last_flow_return" version="1.4">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </method>
+      <method name="GetOffset" cname="gst_pad_get_offset">
+        <return-type type="gint64" />
+        <parameters />
+      </method>
+      <method name="GetPadTemplate" cname="gst_pad_get_pad_template">
+        <return-type type="GstPadTemplate*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPadTemplateCaps" cname="gst_pad_get_pad_template_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetParentElement" cname="gst_pad_get_parent_element">
+        <return-type type="GstElement*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPeer" cname="gst_pad_get_peer">
+        <return-type type="GstPad*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetRange" cname="gst_pad_get_range">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="offset" type="guint64" />
+          <parameter name="size" type="guint" />
+          <parameter name="buffer" type="GstBuffer**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetStickyEvent" cname="gst_pad_get_sticky_event">
+        <return-type type="GstEvent*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="event_type" type="GstEventType" />
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetStream" cname="gst_pad_get_stream" version="1.10">
+        <return-type type="GstStream*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetStreamId" cname="gst_pad_get_stream_id" version="1.2">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetTaskState" cname="gst_pad_get_task_state" version="1.12">
+        <return-type type="GstTaskState" />
+        <parameters />
+      </method>
+      <method name="HasCurrentCaps" cname="gst_pad_has_current_caps">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsActive" cname="gst_pad_is_active">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsBlocked" cname="gst_pad_is_blocked">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsBlocking" cname="gst_pad_is_blocking">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsLinked" cname="gst_pad_is_linked">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IterateInternalLinks" cname="gst_pad_iterate_internal_links">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IterateInternalLinksDefault" cname="gst_pad_iterate_internal_links_default">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="Link" cname="gst_pad_link">
+        <return-type type="GstPadLinkReturn" />
+        <parameters>
+          <parameter name="sinkpad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="LinkFull" cname="gst_pad_link_full">
+        <return-type type="GstPadLinkReturn" />
+        <parameters>
+          <parameter name="sinkpad" type="GstPad*" />
+          <parameter name="flags" type="GstPadLinkCheck" />
+        </parameters>
+      </method>
+      <method name="LinkMaybeGhosting" cname="gst_pad_link_maybe_ghosting" version="1.10">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sink" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="LinkMaybeGhostingFull" cname="gst_pad_link_maybe_ghosting_full" version="1.10">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sink" type="GstPad*" />
+          <parameter name="flags" type="GstPadLinkCheck" />
+        </parameters>
+      </method>
+      <method name="MarkReconfigure" cname="gst_pad_mark_reconfigure">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="NeedsReconfigure" cname="gst_pad_needs_reconfigure">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="PauseTask" cname="gst_pad_pause_task">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="PeerQuery" cname="gst_pad_peer_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PeerQueryAcceptCaps" cname="gst_pad_peer_query_accept_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PeerQueryCaps" cname="gst_pad_peer_query_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PeerQueryConvert" cname="gst_pad_peer_query_convert">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src_format" type="GstFormat" />
+          <parameter name="src_val" type="gint64" />
+          <parameter name="dest_format" type="GstFormat" />
+          <parameter name="dest_val" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PeerQueryDuration" cname="gst_pad_peer_query_duration">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter allow-none="1" name="duration" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PeerQueryPosition" cname="gst_pad_peer_query_position">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter allow-none="1" name="cur" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ProxyQueryAcceptCaps" cname="gst_pad_proxy_query_accept_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ProxyQueryCaps" cname="gst_pad_proxy_query_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PullRange" cname="gst_pad_pull_range">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="offset" type="guint64" />
+          <parameter name="size" type="guint" />
+          <parameter name="buffer" type="GstBuffer**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Push" cname="gst_pad_push">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PushEvent" cname="gst_pad_push_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PushList" cname="gst_pad_push_list">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="list" type="GstBufferList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Query" cname="gst_pad_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="QueryAcceptCaps" cname="gst_pad_query_accept_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="QueryCaps" cname="gst_pad_query_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="QueryConvert" cname="gst_pad_query_convert">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src_format" type="GstFormat" />
+          <parameter name="src_val" type="gint64" />
+          <parameter name="dest_format" type="GstFormat" />
+          <parameter name="dest_val" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QueryDefault" cname="gst_pad_query_default">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="QueryDuration" cname="gst_pad_query_duration">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter allow-none="1" name="duration" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QueryPosition" cname="gst_pad_query_position">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter allow-none="1" name="cur" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="RemoveProbe" cname="gst_pad_remove_probe">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="id" type="gulong" />
+        </parameters>
+      </method>
+      <method name="SendEvent" cname="gst_pad_send_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetActivateFunctionFull" cname="gst_pad_set_activate_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="activate" type="GstPadActivateFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetActivatemodeFunctionFull" cname="gst_pad_set_activatemode_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="activatemode" type="GstPadActivateModeFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetActive" cname="gst_pad_set_active">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetChainFunctionFull" cname="gst_pad_set_chain_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="chain" type="GstPadChainFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetChainListFunctionFull" cname="gst_pad_set_chain_list_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="chainlist" type="GstPadChainListFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetElementPrivate" cname="gst_pad_set_element_private">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="priv" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetEventFullFunctionFull" cname="gst_pad_set_event_full_function_full" version="1.8">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="event" type="GstPadEventFullFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetEventFunctionFull" cname="gst_pad_set_event_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="event" type="GstPadEventFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetGetrangeFunctionFull" cname="gst_pad_set_getrange_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="get" type="GstPadGetRangeFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetIterateInternalLinksFunctionFull" cname="gst_pad_set_iterate_internal_links_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="iterintlink" type="GstPadIterIntLinkFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetLinkFunctionFull" cname="gst_pad_set_link_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="link" type="GstPadLinkFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetOffset" cname="gst_pad_set_offset">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="offset" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetQueryFunctionFull" cname="gst_pad_set_query_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="query" type="GstPadQueryFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetUnlinkFunctionFull" cname="gst_pad_set_unlink_function_full">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="unlink" type="GstPadUnlinkFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="StartTask" cname="gst_pad_start_task">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="func" type="GstTaskFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="StickyEventsForeach" cname="gst_pad_sticky_events_foreach">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="foreach_func" type="GstPadStickyEventsForeachFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="StopTask" cname="gst_pad_stop_task">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="StoreStickyEvent" cname="gst_pad_store_sticky_event" version="1.2">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Unlink" cname="gst_pad_unlink">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sinkpad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="UseFixedCaps" cname="gst_pad_use_fixed_caps">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <property name="Direction" cname="direction" type="GstPadDirection" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Offset" cname="offset" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.6" />
+      <property name="Template" cname="template" type="GstPadTemplate*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="element_private" access="public" writeable="false" readable="true" is_callback="false" name="ElementPrivate" type="gpointer" />
+      <field cname="padtemplate" access="public" writeable="false" readable="true" is_callback="false" name="Padtemplate" type="GstPadTemplate*" />
+      <field cname="direction" access="public" writeable="false" readable="true" is_callback="false" name="DirectionField" type="GstPadDirection" />
+      <field cname="stream_rec_lock" access="private" writeable="false" readable="false" is_callback="false" name="StreamRecLock" type="GRecMutex">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="task" access="private" writeable="false" readable="false" is_callback="false" name="Task" type="GstTask*" />
+      <field cname="block_cond" access="private" writeable="false" readable="false" is_callback="false" name="BlockCond" type="GCond">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="probes" access="private" writeable="false" readable="false" is_callback="false" name="Probes" type="GHookList">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="mode" access="private" writeable="false" readable="false" is_callback="false" name="Mode" type="GstPadMode" />
+      <field cname="activatefunc" access="private" writeable="false" readable="false" is_callback="false" name="Activatefunc" type="GstPadActivateFunction" />
+      <field cname="activatedata" access="private" writeable="false" readable="false" is_callback="false" name="Activatedata" type="gpointer" />
+      <field cname="activatenotify" access="private" writeable="false" readable="false" is_callback="false" name="Activatenotify" type="GDestroyNotify" />
+      <field cname="activatemodefunc" access="private" writeable="false" readable="false" is_callback="false" name="Activatemodefunc" type="GstPadActivateModeFunction" />
+      <field cname="activatemodedata" access="private" writeable="false" readable="false" is_callback="false" name="Activatemodedata" type="gpointer" />
+      <field cname="activatemodenotify" access="private" writeable="false" readable="false" is_callback="false" name="Activatemodenotify" type="GDestroyNotify" />
+      <field cname="peer" access="private" writeable="false" readable="false" is_callback="false" name="Peer" type="GstPad*" />
+      <field cname="linkfunc" access="private" writeable="false" readable="false" is_callback="false" name="Linkfunc" type="GstPadLinkFunction" />
+      <field cname="linkdata" access="private" writeable="false" readable="false" is_callback="false" name="Linkdata" type="gpointer" />
+      <field cname="linknotify" access="private" writeable="false" readable="false" is_callback="false" name="Linknotify" type="GDestroyNotify" />
+      <field cname="unlinkfunc" access="private" writeable="false" readable="false" is_callback="false" name="Unlinkfunc" type="GstPadUnlinkFunction" />
+      <field cname="unlinkdata" access="private" writeable="false" readable="false" is_callback="false" name="Unlinkdata" type="gpointer" />
+      <field cname="unlinknotify" access="private" writeable="false" readable="false" is_callback="false" name="Unlinknotify" type="GDestroyNotify" />
+      <field cname="chainfunc" access="private" writeable="false" readable="false" is_callback="false" name="Chainfunc" type="GstPadChainFunction" />
+      <field cname="chaindata" access="private" writeable="false" readable="false" is_callback="false" name="Chaindata" type="gpointer" />
+      <field cname="chainnotify" access="private" writeable="false" readable="false" is_callback="false" name="Chainnotify" type="GDestroyNotify" />
+      <field cname="chainlistfunc" access="private" writeable="false" readable="false" is_callback="false" name="Chainlistfunc" type="GstPadChainListFunction" />
+      <field cname="chainlistdata" access="private" writeable="false" readable="false" is_callback="false" name="Chainlistdata" type="gpointer" />
+      <field cname="chainlistnotify" access="private" writeable="false" readable="false" is_callback="false" name="Chainlistnotify" type="GDestroyNotify" />
+      <field cname="getrangefunc" access="private" writeable="false" readable="false" is_callback="false" name="Getrangefunc" type="GstPadGetRangeFunction" />
+      <field cname="getrangedata" access="private" writeable="false" readable="false" is_callback="false" name="Getrangedata" type="gpointer" />
+      <field cname="getrangenotify" access="private" writeable="false" readable="false" is_callback="false" name="Getrangenotify" type="GDestroyNotify" />
+      <field cname="eventfunc" access="private" writeable="false" readable="false" is_callback="false" name="Eventfunc" type="GstPadEventFunction" />
+      <field cname="eventdata" access="private" writeable="false" readable="false" is_callback="false" name="Eventdata" type="gpointer" />
+      <field cname="eventnotify" access="private" writeable="false" readable="false" is_callback="false" name="Eventnotify" type="GDestroyNotify" />
+      <field cname="offset" access="private" writeable="false" readable="false" is_callback="false" name="OffsetField" type="gint64" />
+      <field cname="queryfunc" access="private" writeable="false" readable="false" is_callback="false" name="Queryfunc" type="GstPadQueryFunction" />
+      <field cname="querydata" access="private" writeable="false" readable="false" is_callback="false" name="Querydata" type="gpointer" />
+      <field cname="querynotify" access="private" writeable="false" readable="false" is_callback="false" name="Querynotify" type="GDestroyNotify" />
+      <field cname="iterintlinkfunc" access="private" writeable="false" readable="false" is_callback="false" name="Iterintlinkfunc" type="GstPadIterIntLinkFunction" />
+      <field cname="iterintlinkdata" access="private" writeable="false" readable="false" is_callback="false" name="Iterintlinkdata" type="gpointer" />
+      <field cname="iterintlinknotify" access="private" writeable="false" readable="false" is_callback="false" name="Iterintlinknotify" type="GDestroyNotify" />
+      <field cname="num_probes" access="private" writeable="false" readable="false" is_callback="false" name="NumProbes" type="gint" />
+      <field cname="num_blocked" access="private" writeable="false" readable="false" is_callback="false" name="NumBlocked" type="gint" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstPadPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <union name="ABI" cname="ABI" hidden="true">
+        <field cname="_gst_reserved" access="public" writeable="true" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+        <struct name="abi" cname="abi" opaque="false" hidden="false">
+          <field cname="last_flowret" access="public" writeable="true" readable="true" is_callback="false" name="LastFlowret" type="GstFlowReturn" />
+          <field cname="eventfullfunc" access="public" writeable="true" readable="true" is_callback="false" name="Eventfullfunc" type="GstPadEventFullFunction" />
+        </struct>
+      </union>
+      <signal name="Linked" cname="linked" when="last" field_name="linked">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="peer" type="GstPad*" />
+        </parameters>
+      </signal>
+      <signal name="Unlinked" cname="unlinked" when="last" field_name="unlinked">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="peer" type="GstPad*" />
+        </parameters>
+      </signal>
+      <method name="PadModeGetName" cname="gst_pad_mode_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="mode" type="GstPadMode" />
+        </parameters>
+      </method>
+    </object>
+    <object name="PadTemplate" cname="GstPadTemplate" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstPadTemplateClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="pad_created" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_pad_template_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_pad_template_new">
+        <parameters>
+          <parameter name="name_template" type="const-gchar*" />
+          <parameter name="direction" type="GstPadDirection" />
+          <parameter name="presence" type="GstPadPresence" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_pad_template_new_from_static_pad_template_with_gtype" version="1.14">
+        <parameters>
+          <parameter name="pad_template" type="GstStaticPadTemplate*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="pad_type" type="GType" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_pad_template_new_with_gtype" version="1.14">
+        <parameters>
+          <parameter name="name_template" type="const-gchar*" />
+          <parameter name="direction" type="GstPadDirection" />
+          <parameter name="presence" type="GstPadPresence" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="pad_type" type="GType" />
+        </parameters>
+      </constructor>
+      <method name="GetCaps" cname="gst_pad_template_get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="PadCreated" cname="gst_pad_template_pad_created">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <property name="Caps" cname="caps" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Direction" cname="direction" type="GstPadDirection" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Gtype" cname="gtype" type="GType" readable="true" writeable="true" construct="false" construct-only="true" version="1.14" />
+      <property name="NameTemplate" cname="name-template" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Presence" cname="presence" type="GstPadPresence" readable="true" writeable="true" construct="false" construct-only="true" />
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="name_template" access="public" writeable="false" readable="true" is_callback="false" name="NameTemplateField" type="gchar*" />
+      <field cname="direction" access="public" writeable="false" readable="true" is_callback="false" name="DirectionField" type="GstPadDirection" />
+      <field cname="presence" access="public" writeable="false" readable="true" is_callback="false" name="PresenceField" type="GstPadPresence" />
+      <field cname="caps" access="public" writeable="false" readable="true" is_callback="false" name="CapsField" type="GstCaps*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <union name="ABI" cname="ABI">
+        <field cname="_gst_reserved" access="public" writeable="true" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+        <struct name="abi" cname="abi" opaque="false" hidden="false">
+          <field cname="gtype" access="public" writeable="true" readable="true" is_callback="false" name="Gtype" type="GType" />
+        </struct>
+      </union>
+      <signal name="PadCreatedEvent" cname="pad-created" when="last" field_name="pad_created">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+    </object>
+    <struct name="ParamArray" cname="GstParamArray" opaque="true" hidden="false" parent="GParam">
+      <method name="GetType" cname="gst_param_spec_array_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <struct name="ParamFraction" cname="GstParamFraction" opaque="true" hidden="false" parent="GParam">
+      <method name="GetType" cname="gst_param_spec_fraction_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <object name="Pipeline" cname="GstPipeline" opaque="false" hidden="false" parent="GstBin">
+      <implements>
+        <interface cname="GstChildProxy" />
+      </implements>
+      <class_struct cname="GstPipelineClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBinClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_pipeline_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_pipeline_new">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AutoClock" cname="gst_pipeline_auto_clock">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetAutoFlushBus" cname="gst_pipeline_get_auto_flush_bus">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetBus" cname="gst_pipeline_get_bus">
+        <return-type type="GstBus*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDelay" cname="gst_pipeline_get_delay">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_pipeline_get_latency" version="1.6">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetPipelineClock" cname="gst_pipeline_get_pipeline_clock" version="1.6">
+        <return-type type="GstClock*" owned="true" />
+        <parameters />
+      </method>
+      <method name="SetAutoFlushBus" cname="gst_pipeline_set_auto_flush_bus">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="auto_flush" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetDelay" cname="gst_pipeline_set_delay">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="delay" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_pipeline_set_latency" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="latency" type="guint64" />
+        </parameters>
+      </method>
+      <method name="UseClock" cname="gst_pipeline_use_clock">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*" />
+        </parameters>
+      </method>
+      <property name="AutoFlushBus" cname="auto-flush-bus" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Delay" cname="delay" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Latency" cname="latency" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.6" />
+      <field cname="bin" access="public" writeable="false" readable="true" is_callback="false" name="Bin" type="GstBin*" hidden="true" />
+      <field cname="fixed_clock" access="public" writeable="false" readable="true" is_callback="false" name="FixedClock" type="GstClock*" />
+      <field cname="stream_time" access="public" writeable="false" readable="true" is_callback="false" name="StreamTime" type="guint64" />
+      <field cname="delay" access="public" writeable="false" readable="true" is_callback="false" name="DelayField" type="guint64" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstPipelinePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="Plugin" cname="GstPlugin" opaque="true" hidden="false" parent="GstObject">
+      <class_struct cname="GstPluginClass" />
+      <method name="GetType" cname="gst_plugin_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ListFree" cname="gst_plugin_list_free" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="list" type="GList*" element_type="GstPlugin*" elements_owned="true" owned="true" />
+        </parameters>
+      </method>
+      <method name="LoadByName" cname="gst_plugin_load_by_name" shared="true">
+        <return-type type="GstPlugin*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="LoadFile" cname="gst_plugin_load_file" shared="true">
+        <return-type type="GstPlugin*" owned="true" />
+        <parameters throws="1">
+          <parameter name="filename" type="const-gfilename*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="RegisterStatic" cname="gst_plugin_register_static" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="major_version" type="gint" />
+          <parameter name="minor_version" type="gint" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+          <parameter scope="call" name="init_func" type="GstPluginInitFunc" />
+          <parameter name="version" type="const-gchar*" />
+          <parameter name="license" type="const-gchar*" />
+          <parameter name="source" type="const-gchar*" />
+          <parameter name="package" type="const-gchar*" />
+          <parameter name="origin" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RegisterStaticFull" cname="gst_plugin_register_static_full" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="major_version" type="gint" />
+          <parameter name="minor_version" type="gint" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+          <parameter closure="10" scope="call" name="init_full_func" type="GstPluginInitFullFunc" />
+          <parameter name="version" type="const-gchar*" />
+          <parameter name="license" type="const-gchar*" />
+          <parameter name="source" type="const-gchar*" />
+          <parameter name="package" type="const-gchar*" />
+          <parameter name="origin" type="const-gchar*" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="AddDependency" cname="gst_plugin_add_dependency">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="env_vars" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter allow-none="1" name="paths" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter allow-none="1" name="names" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter name="flags" type="GstPluginDependencyFlags" />
+        </parameters>
+      </method>
+      <method name="AddDependencySimple" cname="gst_plugin_add_dependency_simple">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="env_vars" type="const-gchar*" />
+          <parameter allow-none="1" name="paths" type="const-gchar*" />
+          <parameter allow-none="1" name="names" type="const-gchar*" />
+          <parameter name="flags" type="GstPluginDependencyFlags" />
+        </parameters>
+      </method>
+      <method name="GetCacheData" cname="gst_plugin_get_cache_data">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetDescription" cname="gst_plugin_get_description">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetFilename" cname="gst_plugin_get_filename">
+        <return-type type="const-gfilename*" />
+        <parameters />
+      </method>
+      <method name="GetLicense" cname="gst_plugin_get_license">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetName" cname="gst_plugin_get_name">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetOrigin" cname="gst_plugin_get_origin">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetPackage" cname="gst_plugin_get_package">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetReleaseDateString" cname="gst_plugin_get_release_date_string">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetSource" cname="gst_plugin_get_source">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetVersion" cname="gst_plugin_get_version">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="IsLoaded" cname="gst_plugin_is_loaded">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Load" cname="gst_plugin_load">
+        <return-type type="GstPlugin*" owned="true" />
+        <parameters />
+      </method>
+      <method name="SetCacheData" cname="gst_plugin_set_cache_data">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="cache_data" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </object>
+    <object name="PluginFeature" cname="GstPluginFeature" defaultconstructoraccess="protected" opaque="true" hidden="false" parent="GstObject">
+      <class_struct cname="GstPluginFeatureClass" />
+      <method name="GetType" cname="gst_plugin_feature_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ListCopy" cname="gst_plugin_feature_list_copy" shared="true">
+        <return-type type="GList*" element_type="GstPluginFeature*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="list" type="GList*" element_type="GstPluginFeature*" />
+        </parameters>
+      </method>
+      <method name="ListDebug" cname="gst_plugin_feature_list_debug" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="list" type="GList*" element_type="GstPluginFeature*" />
+        </parameters>
+      </method>
+      <method name="ListFree" cname="gst_plugin_feature_list_free" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="list" type="GList*" element_type="GstPluginFeature*" elements_owned="true" owned="true" />
+        </parameters>
+      </method>
+      <method name="RankCompareFunc" cname="gst_plugin_feature_rank_compare_func" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter allow-none="1" name="p1" type="gpointer" />
+          <parameter allow-none="1" name="p2" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="CheckVersion" cname="gst_plugin_feature_check_version">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="min_major" type="guint" />
+          <parameter name="min_minor" type="guint" />
+          <parameter name="min_micro" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetPlugin" cname="gst_plugin_feature_get_plugin">
+        <return-type type="GstPlugin*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPluginName" cname="gst_plugin_feature_get_plugin_name" version="1.2">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetRank" cname="gst_plugin_feature_get_rank">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Load" cname="gst_plugin_feature_load">
+        <return-type type="GstPluginFeature*" owned="true" />
+        <parameters />
+      </method>
+      <method name="SetRank" cname="gst_plugin_feature_set_rank">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="rank" type="guint" />
+        </parameters>
+      </method>
+    </object>
+    <object name="ProxyPad" cname="GstProxyPad" opaque="false" hidden="false" parent="GstPad">
+      <class_struct cname="GstProxyPadClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstPadClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="1" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_proxy_pad_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ChainDefault" cname="gst_proxy_pad_chain_default" shared="true">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ChainListDefault" cname="gst_proxy_pad_chain_list_default" shared="true">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+          <parameter name="list" type="GstBufferList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetrangeDefault" cname="gst_proxy_pad_getrange_default" shared="true">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter name="parent" type="GstObject*" />
+          <parameter name="offset" type="guint64" />
+          <parameter name="size" type="guint" />
+          <parameter name="buffer" type="GstBuffer**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IterateInternalLinksDefault" cname="gst_proxy_pad_iterate_internal_links_default" shared="true">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="GetInternal" cname="gst_proxy_pad_get_internal">
+        <return-type type="GstProxyPad*" owned="true" />
+        <parameters />
+      </method>
+      <field cname="pad" access="public" writeable="false" readable="true" is_callback="false" name="Pad" type="GstPad*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstProxyPadPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </object>
+    <object name="Registry" cname="GstRegistry" opaque="true" hidden="false" parent="GstObject">
+      <class_struct cname="GstRegistryClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+      </class_struct>
+      <method name="GetType" cname="gst_registry_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ForkIsEnabled" cname="gst_registry_fork_is_enabled" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="ForkSetEnabled" cname="gst_registry_fork_set_enabled" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Get" cname="gst_registry_get" shared="true">
+        <return-type type="GstRegistry*" />
+      </method>
+      <method name="AddFeature" cname="gst_registry_add_feature">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="feature" type="GstPluginFeature*" />
+        </parameters>
+      </method>
+      <method name="AddPlugin" cname="gst_registry_add_plugin">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="plugin" type="GstPlugin*" />
+        </parameters>
+      </method>
+      <method name="CheckFeatureVersion" cname="gst_registry_check_feature_version">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="feature_name" type="const-gchar*" />
+          <parameter name="min_major" type="guint" />
+          <parameter name="min_minor" type="guint" />
+          <parameter name="min_micro" type="guint" />
+        </parameters>
+      </method>
+      <method name="FeatureFilter" cname="gst_registry_feature_filter">
+        <return-type type="GList*" element_type="GstPluginFeature*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter closure="2" scope="call" name="filter" type="GstPluginFeatureFilter" />
+          <parameter name="first" type="gboolean" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="FindFeature" cname="gst_registry_find_feature">
+        <return-type type="GstPluginFeature*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="FindPlugin" cname="gst_registry_find_plugin">
+        <return-type type="GstPlugin*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetFeatureList" cname="gst_registry_get_feature_list">
+        <return-type type="GList*" element_type="GstPluginFeature*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="GetFeatureListByPlugin" cname="gst_registry_get_feature_list_by_plugin">
+        <return-type type="GList*" element_type="GstPluginFeature*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetFeatureListCookie" cname="gst_registry_get_feature_list_cookie">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetPluginList" cname="gst_registry_get_plugin_list">
+        <return-type type="GList*" element_type="GstPlugin*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="Lookup" cname="gst_registry_lookup">
+        <return-type type="GstPlugin*" owned="true" />
+        <parameters>
+          <parameter name="filename" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="LookupFeature" cname="gst_registry_lookup_feature">
+        <return-type type="GstPluginFeature*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="PluginFilter" cname="gst_registry_plugin_filter">
+        <return-type type="GList*" element_type="GstPlugin*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter closure="2" scope="call" name="filter" type="GstPluginFilter" />
+          <parameter name="first" type="gboolean" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="RemoveFeature" cname="gst_registry_remove_feature">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="feature" type="GstPluginFeature*" />
+        </parameters>
+      </method>
+      <method name="RemovePlugin" cname="gst_registry_remove_plugin">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="plugin" type="GstPlugin*" />
+        </parameters>
+      </method>
+      <method name="ScanPath" cname="gst_registry_scan_path">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="path" type="const-gfilename*" />
+        </parameters>
+      </method>
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRegistryPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <signal name="FeatureAdded" cname="feature-added" when="last">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="feature" type="GstPluginFeature*" />
+        </parameters>
+      </signal>
+      <signal name="PluginAdded" cname="plugin-added" when="last">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="plugin" type="GstPlugin*" />
+        </parameters>
+      </signal>
+      <method name="UpdateRegistry" cname="gst_update_registry" shared="true">
+        <return-type type="gboolean" />
+      </method>
+    </object>
+    <object name="Stream" cname="GstStream" opaque="false" hidden="false" parent="GstObject" version="1.10">
+      <class_struct cname="GstStreamClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_stream_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_stream_new" version="1.10">
+        <parameters>
+          <parameter name="stream_id" type="const-gchar*" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="type" type="GstStreamType" />
+          <parameter name="flags" type="GstStreamFlags" />
+        </parameters>
+      </constructor>
+      <method name="GetCaps" cname="gst_stream_get_caps" version="1.10">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetStreamFlags" cname="gst_stream_get_stream_flags" version="1.10">
+        <return-type type="GstStreamFlags" />
+        <parameters />
+      </method>
+      <method name="GetStreamId" cname="gst_stream_get_stream_id" version="1.10">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetStreamType" cname="gst_stream_get_stream_type" version="1.10">
+        <return-type type="GstStreamType" />
+        <parameters />
+      </method>
+      <method name="GetTags" cname="gst_stream_get_tags" version="1.10">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="SetCaps" cname="gst_stream_set_caps" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetStreamFlags" cname="gst_stream_set_stream_flags" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flags" type="GstStreamFlags" />
+        </parameters>
+      </method>
+      <method name="SetStreamType" cname="gst_stream_set_stream_type" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="stream_type" type="GstStreamType" />
+        </parameters>
+      </method>
+      <method name="SetTags" cname="gst_stream_set_tags" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <property name="Caps" cname="caps" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="StreamFlags" cname="stream-flags" type="GstStreamFlags" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="StreamId" cname="stream-id" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="StreamType" cname="stream-type" type="GstStreamType" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="Tags" cname="tags" type="GstTagList*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="object" access="private" writeable="false" readable="false" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="stream_id" access="public" writeable="false" readable="true" is_callback="false" name="StreamIdField" type="gchar*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstStreamPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="StreamCollection" cname="GstStreamCollection" opaque="false" hidden="false" parent="GstObject" version="1.10">
+      <class_struct cname="GstStreamCollectionClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="stream_notify" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_stream_collection_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_stream_collection_new" version="1.10">
+        <parameters>
+          <parameter name="upstream_id" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AddStream" cname="gst_stream_collection_add_stream" version="1.10">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="stream" type="GstStream*" owned="true" />
+        </parameters>
+      </method>
+      <method name="GetSize" cname="gst_stream_collection_get_size" version="1.10">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetStream" cname="gst_stream_collection_get_stream" version="1.10">
+        <return-type type="GstStream*" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetUpstreamId" cname="gst_stream_collection_get_upstream_id" version="1.10">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <property name="UpstreamId" cname="upstream-id" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="object" access="private" writeable="false" readable="false" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="upstream_id" access="private" writeable="false" readable="false" is_callback="false" name="UpstreamIdField" type="gchar*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstStreamCollectionPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="StreamNotify" cname="stream-notify" when="first" field_name="stream_notify">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstStream*" />
+          <parameter name="p0" type="GParamSpec*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="SystemClock" cname="GstSystemClock" opaque="false" hidden="false" parent="GstClock">
+      <class_struct cname="GstSystemClockClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstClockClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_system_clock_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Obtain" cname="gst_system_clock_obtain" shared="true">
+        <return-type type="GstClock*" owned="true" />
+      </method>
+      <method name="SetDefault" cname="gst_system_clock_set_default" shared="true" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="new_clock" type="GstClock*" />
+        </parameters>
+      </method>
+      <property name="ClockType" cname="clock-type" type="GstClockType" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="clock" access="public" writeable="false" readable="true" is_callback="false" name="Clock" type="GstClock*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstSystemClockPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="Task" cname="GstTask" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstTaskClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="pool" access="private" writeable="false" readable="false" is_callback="false" name="Pool" type="GstTaskPool*" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_task_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_task_new">
+        <parameters>
+          <parameter name="func" type="GstTaskFunction" />
+          <parameter name="user_data" type="gpointer" />
+          <parameter name="notify" type="GDestroyNotify" />
+        </parameters>
+      </constructor>
+      <method name="CleanupAll" cname="gst_task_cleanup_all" shared="true">
+        <return-type type="void" />
+      </method>
+      <method name="GetPool" cname="gst_task_get_pool">
+        <return-type type="GstTaskPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetState" cname="gst_task_get_state">
+        <return-type type="GstTaskState" />
+        <parameters />
+      </method>
+      <method name="Join" cname="gst_task_join">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Pause" cname="gst_task_pause">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetEnterCallback" cname="gst_task_set_enter_callback">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="enter_func" type="GstTaskThreadFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetLeaveCallback" cname="gst_task_set_leave_callback">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="leave_func" type="GstTaskThreadFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetLock" cname="gst_task_set_lock">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mutex" type="GRecMutex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetPool" cname="gst_task_set_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pool" type="GstTaskPool*" />
+        </parameters>
+      </method>
+      <method name="SetState" cname="gst_task_set_state">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="state" type="GstTaskState" />
+        </parameters>
+      </method>
+      <method name="Start" cname="gst_task_start">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Stop" cname="gst_task_stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="State" type="GstTaskState" />
+      <field cname="cond" access="public" writeable="false" readable="true" is_callback="false" name="Cond" type="GCond">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="lock" access="public" writeable="false" readable="true" is_callback="false" name="Lock" type="GRecMutex*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="func" access="public" writeable="false" readable="true" is_callback="false" name="Func" type="GstTaskFunction" />
+      <field cname="user_data" access="public" writeable="false" readable="true" is_callback="false" name="UserData" type="gpointer" />
+      <field cname="notify" access="public" writeable="false" readable="true" is_callback="false" name="Notify" type="GDestroyNotify" hidden="true" />
+      <field cname="running" access="public" writeable="false" readable="true" is_callback="false" name="Running" type="gboolean" />
+      <field cname="thread" access="private" writeable="false" readable="false" is_callback="false" name="Thread" type="GThread*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstTaskPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="TaskPool" cname="GstTaskPool" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstTaskPoolClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="prepare" />
+        <method vm="cleanup" />
+        <method vm="push" />
+        <method vm="join" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_task_pool_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_task_pool_new" disable_void_ctor="" />
+      <virtual_method name="Cleanup" cname="cleanup">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Join" cname="join">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="id" type="gpointer" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Prepare" cname="prepare">
+        <return-type type="void" />
+        <parameters throws="1">
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Push" cname="push">
+        <return-type type="gpointer" />
+        <parameters throws="1">
+          <parameter closure="1" scope="async" name="func" type="GstTaskPoolFunction" />
+          <parameter closure="1" allow-none="1" name="user_data" type="gpointer" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </virtual_method>
+      <method name="Cleanup" cname="gst_task_pool_cleanup">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Join" cname="gst_task_pool_join">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="id" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Prepare" cname="gst_task_pool_prepare">
+        <return-type type="void" />
+        <parameters throws="1">
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="Push" cname="gst_task_pool_push">
+        <return-type type="gpointer" />
+        <parameters throws="1">
+          <parameter closure="1" scope="async" name="func" type="GstTaskPoolFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="pool" access="private" writeable="false" readable="false" is_callback="false" name="Pool" type="GThreadPool*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="Tracer" cname="GstTracer" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstTracerClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_tracer_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <property name="Params" cname="params" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstTracerPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="TracerFactory" cname="GstTracerFactory" opaque="false" hidden="false" parent="GstPluginFeature" version="1.8">
+      <class_struct cname="GstTracerFactoryClass" />
+      <method name="GetType" cname="gst_tracer_factory_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetList" cname="gst_tracer_factory_get_list" shared="true" version="1.8">
+        <return-type type="GList*" element_type="GstTracerFactory*" elements_owned="true" owned="true" />
+      </method>
+      <method name="GetTracerType" cname="gst_tracer_factory_get_tracer_type">
+        <return-type type="GType" />
+        <parameters />
+      </method>
+    </object>
+    <object name="TracerRecord" cname="GstTracerRecord" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstTracerRecordClass" />
+      <method name="GetType" cname="gst_tracer_record_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </object>
+    <object name="TypeFindFactory" cname="GstTypeFindFactory" opaque="true" hidden="false" parent="GstPluginFeature">
+      <class_struct cname="GstTypeFindFactoryClass" />
+      <method name="GetType" cname="gst_type_find_factory_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetList" cname="gst_type_find_factory_get_list" shared="true">
+        <return-type type="GList*" element_type="GstTypeFindFactory*" elements_owned="true" owned="true" />
+      </method>
+      <method name="CallFunction" cname="gst_type_find_factory_call_function">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="find" type="GstTypeFind*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetCaps" cname="gst_type_find_factory_get_caps">
+        <return-type type="GstCaps*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetExtensions" cname="gst_type_find_factory_get_extensions">
+        <return-type type="const-gchar**" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="HasFunction" cname="gst_type_find_factory_has_function">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+    </object>
+    <struct name="ValueArray" cname="GstValueArray" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_value_array_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="AppendAndTakeValue" cname="gst_value_array_append_and_take_value" shared="true" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="append_value" type="GValue*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AppendValue" cname="gst_value_array_append_value" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="append_value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetSize" cname="gst_value_array_get_size" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetValue" cname="gst_value_array_get_value" shared="true">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="PrependValue" cname="gst_value_array_prepend_value" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="prepend_value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="ValueList" cname="GstValueList" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_value_list_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="AppendAndTakeValue" cname="gst_value_list_append_and_take_value" shared="true" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="append_value" type="GValue*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AppendValue" cname="gst_value_list_append_value" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="append_value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Concat" cname="gst_value_list_concat" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetSize" cname="gst_value_list_get_size" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetValue" cname="gst_value_list_get_value" shared="true">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="Merge" cname="gst_value_list_merge" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PrependValue" cname="gst_value_list_prepend_value" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="prepend_value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <boxed name="AllocationParams" cname="GstAllocationParams" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_allocation_params_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstMemoryFlags" />
+      <field cname="align" access="public" writeable="true" readable="true" is_callback="false" name="Align" type="gsize" />
+      <field cname="prefix" access="public" writeable="true" readable="true" is_callback="false" name="Prefix" type="gsize" />
+      <field cname="padding" access="public" writeable="true" readable="true" is_callback="false" name="Padding" type="gsize" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="Copy" cname="gst_allocation_params_copy">
+        <return-type type="GstAllocationParams*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_allocation_params_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_allocation_params_init">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="AllocatorPrivate" cname="GstAllocatorPrivate" opaque="true" hidden="true" />
+    <boxed name="AtomicQueue" cname="GstAtomicQueue" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_atomic_queue_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_atomic_queue_new">
+        <parameters>
+          <parameter name="initial_size" type="guint" />
+        </parameters>
+      </constructor>
+      <method name="Length" cname="gst_atomic_queue_length">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Peek" cname="gst_atomic_queue_peek">
+        <return-type type="gpointer" />
+        <parameters />
+      </method>
+      <method name="Pop" cname="gst_atomic_queue_pop">
+        <return-type type="gpointer*" owned="true" />
+        <parameters />
+      </method>
+      <method name="Push" cname="gst_atomic_queue_push">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Ref" cname="gst_atomic_queue_ref">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Unref" cname="gst_atomic_queue_unref">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="BinPrivate" cname="GstBinPrivate" opaque="true" hidden="true" />
+    <boxed name="Buffer" cname="GstBuffer" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_buffer_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="pool" access="public" writeable="true" readable="true" is_callback="false" name="Pool" type="GstBufferPool*" array_index="2" />
+      <field cname="pts" access="public" writeable="true" readable="true" is_callback="false" name="Pts" type="guint64" array_index="2" />
+      <field cname="dts" access="public" writeable="true" readable="true" is_callback="false" name="Dts" type="guint64" array_index="1" />
+      <field cname="duration" access="public" writeable="true" readable="true" is_callback="false" name="Duration" type="guint64" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="guint64" />
+      <field cname="offset_end" access="public" writeable="true" readable="true" is_callback="false" name="OffsetEnd" type="guint64" />
+      <constructor cname="gst_buffer_new" disable_void_ctor="" />
+      <constructor cname="gst_buffer_new_allocate">
+        <parameters>
+          <parameter name="allocator" type="GstAllocator*" />
+          <parameter name="size" type="gsize" />
+          <parameter name="params" type="GstAllocationParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_buffer_new_wrapped">
+        <parameters>
+          <parameter name="data" type="guint8*" owned="true" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="gsize" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_buffer_new_wrapped_full">
+        <parameters>
+          <parameter name="flags" type="GstMemoryFlags" />
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="4" />
+          <parameter name="maxsize" type="gsize" />
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" array_index="1" />
+          <parameter name="user_data" type="gpointer" />
+          <parameter name="notify" type="GDestroyNotify" />
+        </parameters>
+      </constructor>
+      <method name="AddMeta" cname="gst_buffer_add_meta">
+        <return-type type="GstMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="info" type="GstMetaInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="params" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="AddParentBufferMeta" cname="gst_buffer_add_parent_buffer_meta" version="1.6">
+        <return-type type="GstParentBufferMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="ref" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddProtectionMeta" cname="gst_buffer_add_protection_meta" version="1.6">
+        <return-type type="GstProtectionMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="info" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddReferenceTimestampMeta" cname="gst_buffer_add_reference_timestamp_meta" version="1.14">
+        <return-type type="GstReferenceTimestampMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="reference" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="duration" type="guint64" />
+        </parameters>
+      </method>
+      <method name="Append" cname="gst_buffer_append">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buf2" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AppendMemory" cname="gst_buffer_append_memory">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mem" type="GstMemory*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AppendRegion" cname="gst_buffer_append_region">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buf2" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="offset" type="gssize" />
+          <parameter name="size" type="gssize" />
+        </parameters>
+      </method>
+      <method name="CopyDeep" cname="gst_buffer_copy_deep" version="1.6">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="CopyInto" cname="gst_buffer_copy_into">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstBufferCopyFlags" />
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="CopyRegion" cname="gst_buffer_copy_region">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstBufferCopyFlags" />
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="Extract" cname="gst_buffer_extract" hidden="true">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter allow-none="1" name="dest" type="gpointer" />
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="ExtractDup" cname="gst_buffer_extract_dup" version="1.0.10" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" />
+          <parameter name="dest" type="gpointer**" owned="true" pass_as="out" array="true" array_length_param_index="3" />
+          <parameter name="dest_size" type="gsize*" owned="true" pass_as="out" array_index="2" />
+        </parameters>
+      </method>
+      <method name="Fill" cname="gst_buffer_fill">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter name="src" type="guint8*" array="true" array_length_param_index="2" />
+          <parameter name="n_length" type="gsize" array_index="1" />
+        </parameters>
+      </method>
+      <method name="FindMemory" cname="gst_buffer_find_memory">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" />
+          <parameter name="idx" type="guint*" owned="true" pass_as="out" />
+          <parameter name="length" type="guint*" owned="true" pass_as="out" />
+          <parameter name="skip" type="gsize*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ForeachMeta" cname="gst_buffer_foreach_meta" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstBufferForeachMetaFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="GetAllMemory" cname="gst_buffer_get_all_memory">
+        <return-type type="GstMemory*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetFlags" cname="gst_buffer_get_flags" version="1.10">
+        <return-type type="GstBufferFlags" />
+        <parameters />
+      </method>
+      <method name="GetMemory" cname="gst_buffer_get_memory">
+        <return-type type="GstMemory*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetMemoryRange" cname="gst_buffer_get_memory_range">
+        <return-type type="GstMemory*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="length" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetMeta" cname="gst_buffer_get_meta">
+        <return-type type="GstMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="api" type="GType" />
+        </parameters>
+      </method>
+      <method name="GetNMeta" cname="gst_buffer_get_n_meta" version="1.14">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="api" type="GType" />
+        </parameters>
+      </method>
+      <method name="GetReferenceTimestampMeta" cname="gst_buffer_get_reference_timestamp_meta" version="1.14">
+        <return-type type="GstReferenceTimestampMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="reference" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetSize" cname="gst_buffer_get_size">
+        <return-type type="gsize" />
+        <parameters />
+      </method>
+      <method name="GetSizes" cname="gst_buffer_get_sizes">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter allow-none="1" name="offset" type="gsize*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="maxsize" type="gsize*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetSizesRange" cname="gst_buffer_get_sizes_range">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="length" type="gint" />
+          <parameter allow-none="1" name="offset" type="gsize*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="maxsize" type="gsize*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="HasFlags" cname="gst_buffer_has_flags">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GstBufferFlags" />
+        </parameters>
+      </method>
+      <method name="InsertMemory" cname="gst_buffer_insert_memory">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="mem" type="GstMemory*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsAllMemoryWritable" cname="gst_buffer_is_all_memory_writable" version="1.4">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsMemoryRangeWritable" cname="gst_buffer_is_memory_range_writable" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="length" type="gint" />
+        </parameters>
+      </method>
+      <method name="Map" cname="gst_buffer_map">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="info" type="GstMapInfo*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+        </parameters>
+      </method>
+      <method name="MapRange" cname="gst_buffer_map_range">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="length" type="gint" />
+          <parameter name="info" type="GstMapInfo*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+        </parameters>
+      </method>
+      <method name="Memcmp" cname="gst_buffer_memcmp">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter name="mem" type="guint8*" array="true" array_length_param_index="2" />
+          <parameter name="n_length" type="gsize" array_index="1" />
+        </parameters>
+      </method>
+      <method name="Memset" cname="gst_buffer_memset">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter name="val" type="guint8" />
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="NMemory" cname="gst_buffer_n_memory">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="PeekMemory" cname="gst_buffer_peek_memory">
+        <return-type type="GstMemory*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="PrependMemory" cname="gst_buffer_prepend_memory">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mem" type="GstMemory*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RemoveAllMemory" cname="gst_buffer_remove_all_memory">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="RemoveMemory" cname="gst_buffer_remove_memory">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveMemoryRange" cname="gst_buffer_remove_memory_range">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="length" type="gint" />
+        </parameters>
+      </method>
+      <method name="RemoveMeta" cname="gst_buffer_remove_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="meta" type="GstMeta*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceAllMemory" cname="gst_buffer_replace_all_memory">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mem" type="GstMemory*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceMemory" cname="gst_buffer_replace_memory">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="mem" type="GstMemory*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceMemoryRange" cname="gst_buffer_replace_memory_range">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="length" type="gint" />
+          <parameter name="mem" type="GstMemory*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Resize" cname="gst_buffer_resize">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="offset" type="gssize" />
+          <parameter name="size" type="gssize" />
+        </parameters>
+      </method>
+      <method name="ResizeRange" cname="gst_buffer_resize_range">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="length" type="gint" />
+          <parameter name="offset" type="gssize" />
+          <parameter name="size" type="gssize" />
+        </parameters>
+      </method>
+      <method name="SetFlags" cname="gst_buffer_set_flags" version="1.10">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GstBufferFlags" />
+        </parameters>
+      </method>
+      <method name="SetSize" cname="gst_buffer_set_size">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="size" type="gssize" />
+        </parameters>
+      </method>
+      <method name="Unmap" cname="gst_buffer_unmap">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="info" type="GstMapInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="UnsetFlags" cname="gst_buffer_unset_flags" version="1.10">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GstBufferFlags" />
+        </parameters>
+      </method>
+      <method name="GetMaxMemory" cname="gst_buffer_get_max_memory" shared="true" version="1.2">
+        <return-type type="guint" />
+      </method>
+    </boxed>
+    <boxed name="BufferList" cname="GstBufferList" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_buffer_list_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_buffer_list_new" disable_void_ctor="" />
+      <constructor cname="gst_buffer_list_new_sized">
+        <parameters>
+          <parameter name="size" type="guint" />
+        </parameters>
+      </constructor>
+      <method name="CalculateSize" cname="gst_buffer_list_calculate_size" version="1.14">
+        <return-type type="gsize" />
+        <parameters />
+      </method>
+      <method name="CopyDeep" cname="gst_buffer_list_copy_deep" version="1.6">
+        <return-type type="GstBufferList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Foreach" cname="gst_buffer_list_foreach">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstBufferListFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Get" cname="gst_buffer_list_get">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetWritable" cname="gst_buffer_list_get_writable" version="1.14">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="Insert" cname="gst_buffer_list_insert">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Length" cname="gst_buffer_list_length">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Remove" cname="gst_buffer_list_remove">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="length" type="guint" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="BufferPoolAcquireParams" cname="GstBufferPoolAcquireParams" opaque="false" hidden="false">
+      <field cname="format" access="public" writeable="true" readable="true" is_callback="false" name="Format" type="GstFormat" />
+      <field cname="start" access="public" writeable="true" readable="true" is_callback="false" name="Start" type="gint64" />
+      <field cname="stop" access="public" writeable="true" readable="true" is_callback="false" name="Stop" type="gint64" />
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstBufferPoolAcquireFlags" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <struct name="BufferPoolPrivate" cname="GstBufferPoolPrivate" opaque="true" hidden="true" />
+    <struct name="BusPrivate" cname="GstBusPrivate" opaque="true" hidden="true" />
+    <boxed name="Caps" cname="GstCaps" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_caps_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_caps_new_any" disable_void_ctor="" />
+      <constructor cname="gst_caps_new_empty" disable_void_ctor="" />
+      <constructor cname="gst_caps_new_empty_simple">
+        <parameters>
+          <parameter name="media_type" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="Append" cname="gst_caps_append">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps2" type="GstCaps*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AppendStructure" cname="gst_caps_append_structure">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AppendStructureFull" cname="gst_caps_append_structure_full" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="features" type="GstCapsFeatures*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CanIntersect" cname="gst_caps_can_intersect">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps2" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CopyNth" cname="gst_caps_copy_nth">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nth" type="guint" />
+        </parameters>
+      </method>
+      <method name="FilterAndMapInPlace" cname="gst_caps_filter_and_map_in_place" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCapsFilterMapFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Fixate" cname="gst_caps_fixate">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Foreach" cname="gst_caps_foreach" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCapsForeachFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="GetFeatures" cname="gst_caps_get_features" version="1.2">
+        <return-type type="GstCapsFeatures*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetSize" cname="gst_caps_get_size">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetStructure" cname="gst_caps_get_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="Intersect" cname="gst_caps_intersect">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="caps2" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IntersectFull" cname="gst_caps_intersect_full">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="caps2" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstCapsIntersectMode" />
+        </parameters>
+      </method>
+      <method name="IsAlwaysCompatible" cname="gst_caps_is_always_compatible">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps2" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsAny" cname="gst_caps_is_any">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEmpty" cname="gst_caps_is_empty">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEqual" cname="gst_caps_is_equal">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps2" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsEqualFixed" cname="gst_caps_is_equal_fixed">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps2" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsFixed" cname="gst_caps_is_fixed">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsStrictlyEqual" cname="gst_caps_is_strictly_equal">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps2" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsSubset" cname="gst_caps_is_subset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="superset" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsSubsetStructure" cname="gst_caps_is_subset_structure">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsSubsetStructureFull" cname="gst_caps_is_subset_structure_full" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="features" type="GstCapsFeatures*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MapInPlace" cname="gst_caps_map_in_place" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCapsMapFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Merge" cname="gst_caps_merge">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="caps2" type="GstCaps*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MergeStructure" cname="gst_caps_merge_structure">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MergeStructureFull" cname="gst_caps_merge_structure_full" version="1.2">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="features" type="GstCapsFeatures*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Normalize" cname="gst_caps_normalize">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="RemoveStructure" cname="gst_caps_remove_structure">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetFeatures" cname="gst_caps_set_features" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="index" type="guint" />
+          <parameter allow-none="1" name="features" type="GstCapsFeatures*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetValue" cname="gst_caps_set_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="field" type="const-gchar*" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Simplify" cname="gst_caps_simplify">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="StealStructure" cname="gst_caps_steal_structure">
+        <return-type type="GstStructure*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="Subtract" cname="gst_caps_subtract">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="subtrahend" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ToString" cname="gst_caps_to_string">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="Truncate" cname="gst_caps_truncate">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="FromString" cname="gst_caps_from_string" shared="true">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="string" type="const-gchar*" />
+        </parameters>
+      </method>
+    </boxed>
+    <boxed name="CapsFeatures" cname="GstCapsFeatures" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_caps_features_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_caps_features_new_any" disable_void_ctor="" version="1.2" />
+      <constructor cname="gst_caps_features_new_empty" disable_void_ctor="" version="1.2" />
+      <method name="Add" cname="gst_caps_features_add" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="feature" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddId" cname="gst_caps_features_add_id" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="feature" type="guint32" />
+        </parameters>
+      </method>
+      <method name="Contains" cname="gst_caps_features_contains" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="feature" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ContainsId" cname="gst_caps_features_contains_id" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="feature" type="guint32" />
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_caps_features_copy" version="1.2">
+        <return-type type="GstCapsFeatures*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_caps_features_free" version="1.2">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetNth" cname="gst_caps_features_get_nth" version="1.2">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="i" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetNthId" cname="gst_caps_features_get_nth_id" version="1.2">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="i" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetSize" cname="gst_caps_features_get_size" version="1.2">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="IsAny" cname="gst_caps_features_is_any" version="1.2">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEqual" cname="gst_caps_features_is_equal" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="features2" type="GstCapsFeatures*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Remove" cname="gst_caps_features_remove" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="feature" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RemoveId" cname="gst_caps_features_remove_id" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="feature" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetParentRefcount" cname="gst_caps_features_set_parent_refcount" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="refcount" type="gint" />
+        </parameters>
+      </method>
+      <method name="ToString" cname="gst_caps_features_to_string" version="1.2">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="FromString" cname="gst_caps_features_from_string" shared="true" version="1.2">
+        <return-type type="GstCapsFeatures*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="features" type="const-gchar*" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="ClockEntry" cname="GstClockEntry" opaque="true" hidden="false">
+      <field cname="refcount" access="public" writeable="true" readable="true" is_callback="false" name="Refcount" type="gint" />
+      <field cname="clock" access="public" writeable="true" readable="true" is_callback="false" name="Clock" type="GstClock*" />
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstClockEntryType" />
+      <field cname="time" access="public" writeable="true" readable="true" is_callback="false" name="Time" type="guint64" />
+      <field cname="interval" access="public" writeable="true" readable="true" is_callback="false" name="Interval" type="guint64" />
+      <field cname="status" access="public" writeable="true" readable="true" is_callback="false" name="Status" type="GstClockReturn" />
+      <field cname="func" access="public" writeable="true" readable="true" is_callback="false" name="Func" type="GstClockCallback" hidden="true" />
+      <field cname="user_data" access="public" writeable="true" readable="true" is_callback="false" name="UserData" type="gpointer" />
+      <field cname="destroy_data" access="public" writeable="true" readable="true" is_callback="false" name="DestroyData" type="GDestroyNotify" hidden="true" />
+      <field cname="unscheduled" access="public" writeable="true" readable="true" is_callback="false" name="Unscheduled" type="gboolean" />
+      <field cname="woken_up" access="public" writeable="true" readable="true" is_callback="false" name="WokenUp" type="gboolean" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <struct name="ClockPrivate" cname="GstClockPrivate" opaque="true" hidden="true" />
+    <boxed name="Context" cname="GstContext" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_context_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_context_new" version="1.2">
+        <parameters>
+          <parameter name="context_type" type="const-gchar*" />
+          <parameter name="persistent" type="gboolean" />
+        </parameters>
+      </constructor>
+      <method name="GetContextType" cname="gst_context_get_context_type" version="1.2">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetStructure" cname="gst_context_get_structure" version="1.2">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="HasContextType" cname="gst_context_has_context_type" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="context_type" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="IsPersistent" cname="gst_context_is_persistent" version="1.2">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="WritableStructure" cname="gst_context_writable_structure" version="1.2">
+        <return-type type="GstStructure*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="ControlBindingPrivate" cname="GstControlBindingPrivate" opaque="true" hidden="true" />
+    <boxed name="DateTime" cname="GstDateTime" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_date_time_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_date_time_new">
+        <parameters>
+          <parameter name="tzoffset" type="gfloat" />
+          <parameter name="year" type="gint" />
+          <parameter name="month" type="gint" />
+          <parameter name="day" type="gint" />
+          <parameter name="hour" type="gint" />
+          <parameter name="minute" type="gint" />
+          <parameter name="seconds" type="gdouble" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_date_time_new_from_g_date_time">
+        <parameters>
+          <parameter name="dt" type="GDateTime*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_date_time_new_from_iso8601_string">
+        <parameters>
+          <parameter name="string" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_date_time_new_from_unix_epoch_local_time">
+        <parameters>
+          <parameter name="secs" type="gint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_date_time_new_from_unix_epoch_utc">
+        <parameters>
+          <parameter name="secs" type="gint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_date_time_new_local_time">
+        <parameters>
+          <parameter name="year" type="gint" />
+          <parameter name="month" type="gint" />
+          <parameter name="day" type="gint" />
+          <parameter name="hour" type="gint" />
+          <parameter name="minute" type="gint" />
+          <parameter name="seconds" type="gdouble" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_date_time_new_now_local_time" disable_void_ctor="" />
+      <constructor cname="gst_date_time_new_now_utc" disable_void_ctor="" />
+      <constructor cname="gst_date_time_new_y">
+        <parameters>
+          <parameter name="year" type="gint" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_date_time_new_ym">
+        <parameters>
+          <parameter name="year" type="gint" />
+          <parameter name="month" type="gint" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_date_time_new_ymd">
+        <parameters>
+          <parameter name="year" type="gint" />
+          <parameter name="month" type="gint" />
+          <parameter name="day" type="gint" />
+        </parameters>
+      </constructor>
+      <method name="GetDay" cname="gst_date_time_get_day">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetHour" cname="gst_date_time_get_hour">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetMicrosecond" cname="gst_date_time_get_microsecond">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetMinute" cname="gst_date_time_get_minute">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetMonth" cname="gst_date_time_get_month">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetSecond" cname="gst_date_time_get_second">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetTimeZoneOffset" cname="gst_date_time_get_time_zone_offset">
+        <return-type type="gfloat" />
+        <parameters />
+      </method>
+      <method name="GetYear" cname="gst_date_time_get_year">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="HasDay" cname="gst_date_time_has_day">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="HasMonth" cname="gst_date_time_has_month">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="HasSecond" cname="gst_date_time_has_second">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="HasTime" cname="gst_date_time_has_time">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="HasYear" cname="gst_date_time_has_year">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Ref" cname="gst_date_time_ref">
+        <return-type type="GstDateTime*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="ToGDateTime" cname="gst_date_time_to_g_date_time">
+        <return-type type="GDateTime*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="ToIso8601String" cname="gst_date_time_to_iso8601_string">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="Unref" cname="gst_date_time_unref">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="DebugCategory" cname="GstDebugCategory" opaque="false" hidden="false">
+      <field cname="threshold" access="private" writeable="false" readable="false" is_callback="false" name="Threshold" type="gint" />
+      <field cname="color" access="private" writeable="false" readable="false" is_callback="false" name="Color" type="guint" />
+      <field cname="name" access="private" writeable="false" readable="false" is_callback="false" name="Name" type="gchar*" />
+      <field cname="description" access="private" writeable="false" readable="false" is_callback="false" name="Description" type="gchar*" />
+      <method name="Free" cname="gst_debug_category_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetColor" cname="gst_debug_category_get_color">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetDescription" cname="gst_debug_category_get_description">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetName" cname="gst_debug_category_get_name">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetThreshold" cname="gst_debug_category_get_threshold">
+        <return-type type="GstDebugLevel" />
+        <parameters />
+      </method>
+      <method name="ResetThreshold" cname="gst_debug_category_reset_threshold">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetThreshold" cname="gst_debug_category_set_threshold">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="level" type="GstDebugLevel" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="DebugMessage" cname="GstDebugMessage" opaque="true" hidden="false">
+      <method name="Get" cname="gst_debug_message_get">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+    </struct>
+    <struct name="DeviceMonitorPrivate" cname="GstDeviceMonitorPrivate" opaque="true" hidden="true" />
+    <struct name="DevicePrivate" cname="GstDevicePrivate" opaque="true" hidden="true" />
+    <struct name="DeviceProviderPrivate" cname="GstDeviceProviderPrivate" opaque="true" hidden="true" />
+    <boxed name="Event" cname="GstEvent" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_event_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstEventType" />
+      <field cname="timestamp" access="public" writeable="true" readable="true" is_callback="false" name="Timestamp" type="guint64" />
+      <field cname="seqnum" access="public" writeable="true" readable="true" is_callback="false" name="Seqnum" type="guint32" />
+      <constructor cname="gst_event_new_buffer_size">
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="minsize" type="gint64" />
+          <parameter name="maxsize" type="gint64" />
+          <parameter name="async" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_caps">
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_custom">
+        <parameters>
+          <parameter name="type" type="GstEventType" />
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_eos" disable_void_ctor="" />
+      <constructor cname="gst_event_new_flush_start" disable_void_ctor="" />
+      <constructor cname="gst_event_new_flush_stop">
+        <parameters>
+          <parameter name="reset_time" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_gap">
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="duration" type="guint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_latency">
+        <parameters>
+          <parameter name="latency" type="guint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_navigation">
+        <parameters>
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_protection" version="1.6">
+        <parameters>
+          <parameter name="system_id" type="const-gchar*" />
+          <parameter name="data" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="origin" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_qos">
+        <parameters>
+          <parameter name="type" type="GstQOSType" />
+          <parameter name="proportion" type="gdouble" />
+          <parameter name="diff" type="gint64" />
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_reconfigure" disable_void_ctor="" />
+      <constructor cname="gst_event_new_seek">
+        <parameters>
+          <parameter name="rate" type="gdouble" />
+          <parameter name="format" type="GstFormat" />
+          <parameter name="flags" type="GstSeekFlags" />
+          <parameter name="start_type" type="GstSeekType" />
+          <parameter name="start" type="gint64" />
+          <parameter name="stop_type" type="GstSeekType" />
+          <parameter name="stop" type="gint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_segment">
+        <parameters>
+          <parameter name="segment" type="GstSegment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_segment_done">
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="position" type="gint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_select_streams" version="1.10">
+        <parameters>
+          <parameter name="streams" type="GList*" element_type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_sink_message">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="msg" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_step">
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="amount" type="guint64" />
+          <parameter name="rate" type="gdouble" />
+          <parameter name="flush" type="gboolean" />
+          <parameter name="intermediate" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_stream_collection" version="1.10">
+        <parameters>
+          <parameter name="collection" type="GstStreamCollection*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_stream_group_done" version="1.10">
+        <parameters>
+          <parameter name="group_id" type="guint" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_stream_start">
+        <parameters>
+          <parameter name="stream_id" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_tag">
+        <parameters>
+          <parameter name="taglist" type="GstTagList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_toc">
+        <parameters>
+          <parameter name="toc" type="GstToc*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="updated" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_event_new_toc_select">
+        <parameters>
+          <parameter name="uid" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="CopySegment" cname="gst_event_copy_segment">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="segment" type="GstSegment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetRunningTimeOffset" cname="gst_event_get_running_time_offset" version="1.4">
+        <return-type type="gint64" />
+        <parameters />
+      </method>
+      <method name="GetSeqnum" cname="gst_event_get_seqnum">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetStructure" cname="gst_event_get_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="HasName" cname="gst_event_has_name">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ParseBufferSize" cname="gst_event_parse_buffer_size">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter name="minsize" type="gint64*" owned="true" pass_as="out" />
+          <parameter name="maxsize" type="gint64*" owned="true" pass_as="out" />
+          <parameter name="async" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseCaps" cname="gst_event_parse_caps">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseFlushStop" cname="gst_event_parse_flush_stop">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="reset_time" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseGap" cname="gst_event_parse_gap">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="timestamp" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="duration" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseGroupId" cname="gst_event_parse_group_id" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="group_id" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseLatency" cname="gst_event_parse_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="latency" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseProtection" cname="gst_event_parse_protection" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="system_id" type="const-gchar*" pass_as="out" />
+          <parameter allow-none="1" name="data" type="GstBuffer**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="origin" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ParseQos" cname="gst_event_parse_qos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GstQOSType" owned="true" pass_as="out" />
+          <parameter name="proportion" type="gdouble*" owned="true" pass_as="out" />
+          <parameter name="diff" type="gint64" owned="true" pass_as="out" />
+          <parameter name="timestamp" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseSeek" cname="gst_event_parse_seek">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="rate" type="gdouble*" owned="true" pass_as="out" />
+          <parameter name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter name="flags" type="GstSeekFlags" owned="true" pass_as="out" />
+          <parameter name="start_type" type="GstSeekType" owned="true" pass_as="out" />
+          <parameter name="start" type="gint64*" owned="true" pass_as="out" />
+          <parameter name="stop_type" type="GstSeekType" owned="true" pass_as="out" />
+          <parameter name="stop" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseSegment" cname="gst_event_parse_segment">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="segment" type="GstSegment**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseSegmentDone" cname="gst_event_parse_segment_done">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="position" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseSelectStreams" cname="gst_event_parse_select_streams" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="streams" type="GList**" element_type="gchar*" elements_owned="true" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseSinkMessage" cname="gst_event_parse_sink_message">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="msg" type="GstMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseStep" cname="gst_event_parse_step">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="amount" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="rate" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="flush" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="intermediate" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStream" cname="gst_event_parse_stream" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="stream" type="GstStream*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStreamCollection" cname="gst_event_parse_stream_collection" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="collection" type="GstStreamCollection*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStreamFlags" cname="gst_event_parse_stream_flags" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flags" type="GstStreamFlags" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStreamGroupDone" cname="gst_event_parse_stream_group_done" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="group_id" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStreamStart" cname="gst_event_parse_stream_start">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="stream_id" type="const-gchar*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseTag" cname="gst_event_parse_tag">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="taglist" type="GstTagList**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseToc" cname="gst_event_parse_toc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="toc" type="GstToc**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="updated" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseTocSelect" cname="gst_event_parse_toc_select">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="uid" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="SetGroupId" cname="gst_event_set_group_id" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="group_id" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetRunningTimeOffset" cname="gst_event_set_running_time_offset" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="offset" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetSeqnum" cname="gst_event_set_seqnum">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="seqnum" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetStream" cname="gst_event_set_stream" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="stream" type="GstStream*" />
+        </parameters>
+      </method>
+      <method name="SetStreamFlags" cname="gst_event_set_stream_flags" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flags" type="GstStreamFlags" />
+        </parameters>
+      </method>
+      <method name="WritableStructure" cname="gst_event_writable_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="FormatDefinition" cname="GstFormatDefinition" opaque="false" hidden="false">
+      <field cname="value" access="public" writeable="true" readable="true" is_callback="false" name="Value" type="GstFormat" />
+      <field cname="nick" access="public" writeable="true" readable="true" is_callback="false" name="Nick" type="gchar*" />
+      <field cname="description" access="public" writeable="true" readable="true" is_callback="false" name="Description" type="gchar*" />
+      <field cname="quark" access="public" writeable="true" readable="true" is_callback="false" name="Quark" type="guint32" />
+    </struct>
+    <struct name="GhostPadPrivate" cname="GstGhostPadPrivate" opaque="true" hidden="true" />
+    <boxed name="Iterator" cname="GstIterator" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_iterator_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="copy" access="public" writeable="true" readable="true" is_callback="false" name="CopyFunc" type="GstIteratorCopyFunction" />
+      <field cname="next" access="public" writeable="true" readable="true" is_callback="false" name="NextFunc" type="GstIteratorNextFunction" />
+      <field cname="item" access="public" writeable="true" readable="true" is_callback="false" name="Item" type="GstIteratorItemFunction" />
+      <field cname="resync" access="public" writeable="true" readable="true" is_callback="false" name="ResyncFunc" type="GstIteratorResyncFunction" />
+      <field cname="free" access="public" writeable="true" readable="true" is_callback="false" name="FreeFunc" type="GstIteratorFreeFunction" />
+      <field cname="pushed" access="public" writeable="true" readable="true" is_callback="false" name="Pushed" type="GstIterator*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GType" />
+      <field cname="lock" access="public" writeable="true" readable="true" is_callback="false" name="Lock" type="GMutex*" />
+      <field cname="cookie" access="public" writeable="true" readable="true" is_callback="false" name="Cookie" type="guint32" />
+      <field cname="master_cookie" access="public" writeable="true" readable="true" is_callback="false" name="MasterCookie" type="guint32*" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="guint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <constructor cname="gst_iterator_new_single">
+        <parameters>
+          <parameter name="type" type="GType" />
+          <parameter name="_object" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="Copy" cname="gst_iterator_copy">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Filter" cname="gst_iterator_filter">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter scope="call" name="func" type="GCompareFunc" />
+          <parameter name="user_data" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FindCustom" cname="gst_iterator_find_custom">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="2" scope="call" name="func" type="GCompareFunc" />
+          <parameter name="elem" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Fold" cname="gst_iterator_fold">
+        <return-type type="GstIteratorResult" />
+        <parameters>
+          <parameter closure="2" scope="call" name="func" type="GstIteratorFoldFunction" />
+          <parameter name="_ret" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Foreach" cname="gst_iterator_foreach">
+        <return-type type="GstIteratorResult" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstIteratorForeachFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_iterator_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Next" cname="gst_iterator_next" hidden="true">
+        <return-type type="GstIteratorResult" />
+        <parameters>
+          <parameter name="elem" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Push" cname="gst_iterator_push">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="other" type="GstIterator*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Resync" cname="gst_iterator_resync">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <implements>
+        <interface name="IEnumerable" doc="https://docs.microsoft.com/fr-fr/dotnet/api/system.collections.ienumerable" />
+      </implements>
+    </boxed>
+    <struct name="MapInfo" cname="GstMapInfo" opaque="false" hidden="false">
+      <field cname="memory" access="public" writeable="true" readable="true" is_callback="false" name="Memory" type="GstMemory*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstMapFlags" />
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="gpointer" array="false" array_length_param_index="3" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" />
+      <field cname="maxsize" access="public" writeable="true" readable="true" is_callback="false" name="Maxsize" type="gsize" />
+      <field cname="user_data" access="public" writeable="true" readable="true" is_callback="false" name="UserData" type="gpointer" array="true" array_len="4" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <boxed name="Memory" cname="GstMemory" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_memory_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="allocator" access="public" writeable="true" readable="true" is_callback="false" name="Allocator" type="GstAllocator*" />
+      <field cname="parent" access="public" writeable="true" readable="true" is_callback="false" name="Parent" type="GstMemory*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="maxsize" access="public" writeable="true" readable="true" is_callback="false" name="Maxsize" type="gsize" array_index="1" />
+      <field cname="align" access="public" writeable="true" readable="true" is_callback="false" name="Align" type="gsize" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="gsize" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" />
+      <constructor cname="gst_memory_new_wrapped">
+        <parameters>
+          <parameter name="flags" type="GstMemoryFlags" />
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="4" />
+          <parameter name="maxsize" type="gsize" />
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" array_index="1" />
+          <parameter name="user_data" type="gpointer" />
+          <parameter name="notify" type="GDestroyNotify" />
+        </parameters>
+      </constructor>
+      <method name="Copy" cname="gst_memory_copy">
+        <return-type type="GstMemory*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="offset" type="gssize" />
+          <parameter name="size" type="gssize" />
+        </parameters>
+      </method>
+      <method name="GetSizes" cname="gst_memory_get_sizes">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter name="maxsize" type="gsize" />
+        </parameters>
+      </method>
+      <method name="IsSpan" cname="gst_memory_is_span">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="mem2" type="GstMemory*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="offset" type="gsize" />
+        </parameters>
+      </method>
+      <method name="IsType" cname="gst_memory_is_type" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="mem_type" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MakeMapped" cname="gst_memory_make_mapped">
+        <return-type type="GstMemory*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="info" type="GstMapInfo*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+        </parameters>
+      </method>
+      <method name="Map" cname="gst_memory_map">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="info" type="GstMapInfo*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+        </parameters>
+      </method>
+      <method name="Resize" cname="gst_memory_resize">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="offset" type="gssize" />
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="Share" cname="gst_memory_share">
+        <return-type type="GstMemory*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="offset" type="gssize" />
+          <parameter name="size" type="gssize" />
+        </parameters>
+      </method>
+      <method name="Unmap" cname="gst_memory_unmap">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="info" type="GstMapInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </boxed>
+    <boxed name="Message" cname="GstMessage" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_message_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstMessageType" />
+      <field cname="timestamp" access="public" writeable="true" readable="true" is_callback="false" name="Timestamp" type="guint64" />
+      <field cname="src" access="public" writeable="true" readable="true" is_callback="false" name="Src" type="GstObject*" />
+      <field cname="seqnum" access="public" writeable="true" readable="true" is_callback="false" name="Seqnum" type="guint32" />
+      <field cname="lock" access="private" writeable="false" readable="false" is_callback="false" name="Lock" type="GMutex*" />
+      <field cname="cond" access="private" writeable="false" readable="false" is_callback="false" name="Cond" type="GCond">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_message_new_application">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_async_done">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="running_time" type="guint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_async_start">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_buffering">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="percent" type="gint" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_clock_lost">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="clock" type="GstClock*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_clock_provide">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="clock" type="GstClock*" />
+          <parameter name="ready" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_custom">
+        <parameters>
+          <parameter name="type" type="GstMessageType" />
+          <parameter name="src" type="GstObject*" />
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_device_added" version="1.4">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="device" type="GstDevice*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_device_removed" version="1.4">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="device" type="GstDevice*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_duration_changed">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_element">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_eos">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_error">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="error" type="GError*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="debug" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_error_with_details" version="1.10">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="error" type="GError*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="debug" type="const-gchar*" />
+          <parameter name="details" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_have_context" version="1.2">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="context" type="GstContext*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_info">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="error" type="GError*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="debug" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_info_with_details" version="1.10">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="error" type="GError*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="debug" type="const-gchar*" />
+          <parameter name="details" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_latency">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_need_context" version="1.2">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="context_type" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_new_clock">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="clock" type="GstClock*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_progress">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="type" type="GstProgressType" />
+          <parameter name="code" type="const-gchar*" />
+          <parameter name="text" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_property_notify" version="1.10">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="val" type="GValue*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_qos">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="live" type="gboolean" />
+          <parameter name="running_time" type="guint64" />
+          <parameter name="stream_time" type="guint64" />
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="duration" type="guint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_redirect" version="1.10">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="location" type="const-gchar*" />
+          <parameter name="tag_list" type="GstTagList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="entry_struct" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_request_state">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="state" type="GstState" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_reset_time">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="running_time" type="guint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_segment_done">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="format" type="GstFormat" />
+          <parameter name="position" type="gint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_segment_start">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="format" type="GstFormat" />
+          <parameter name="position" type="gint64" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_state_changed">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="oldstate" type="GstState" />
+          <parameter name="newstate" type="GstState" />
+          <parameter name="pending" type="GstState" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_state_dirty">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_step_done">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="format" type="GstFormat" />
+          <parameter name="amount" type="guint64" />
+          <parameter name="rate" type="gdouble" />
+          <parameter name="flush" type="gboolean" />
+          <parameter name="intermediate" type="gboolean" />
+          <parameter name="duration" type="guint64" />
+          <parameter name="eos" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_step_start">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="active" type="gboolean" />
+          <parameter name="format" type="GstFormat" />
+          <parameter name="amount" type="guint64" />
+          <parameter name="rate" type="gdouble" />
+          <parameter name="flush" type="gboolean" />
+          <parameter name="intermediate" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_stream_collection" version="1.10">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="collection" type="GstStreamCollection*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_stream_start">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_stream_status">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="type" type="GstStreamStatusType" />
+          <parameter name="owner" type="GstElement*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_streams_selected" version="1.10">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="collection" type="GstStreamCollection*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_structure_change">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="type" type="GstStructureChangeType" />
+          <parameter name="owner" type="GstElement*" />
+          <parameter name="busy" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_tag">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="tag_list" type="GstTagList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_toc">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="toc" type="GstToc*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="updated" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_warning">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="error" type="GError*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="debug" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_message_new_warning_with_details" version="1.10">
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="error" type="GError*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="debug" type="const-gchar*" />
+          <parameter name="details" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="AddRedirectEntry" cname="gst_message_add_redirect_entry" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="location" type="const-gchar*" />
+          <parameter allow-none="1" name="tag_list" type="GstTagList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="entry_struct" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetNumRedirectEntries" cname="gst_message_get_num_redirect_entries" version="1.10">
+        <return-type type="gsize" />
+        <parameters />
+      </method>
+      <method name="GetSeqnum" cname="gst_message_get_seqnum">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetStreamStatusObject" cname="gst_message_get_stream_status_object" hidden="true">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetStructure" cname="gst_message_get_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="HasName" cname="gst_message_has_name">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ParseAsyncDone" cname="gst_message_parse_async_done">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="running_time" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseBuffering" cname="gst_message_parse_buffering">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="percent" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseBufferingStats" cname="gst_message_parse_buffering_stats">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="mode" type="GstBufferingMode" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="avg_in" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="avg_out" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="buffering_left" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseClockLost" cname="gst_message_parse_clock_lost">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseClockProvide" cname="gst_message_parse_clock_provide">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*" pass_as="out" />
+          <parameter allow-none="1" name="ready" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseContextType" cname="gst_message_parse_context_type" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="context_type" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseDeviceAdded" cname="gst_message_parse_device_added" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="device" type="GstDevice*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseDeviceRemoved" cname="gst_message_parse_device_removed" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="device" type="GstDevice*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseError" cname="gst_message_parse_error" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="gerror" type="GError**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="debug" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseErrorDetails" cname="gst_message_parse_error_details" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseGroupId" cname="gst_message_parse_group_id" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="group_id" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseHaveContext" cname="gst_message_parse_have_context" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="context" type="GstContext**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseInfo" cname="gst_message_parse_info">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="gerror" type="GError**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="debug" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseInfoDetails" cname="gst_message_parse_info_details" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseNewClock" cname="gst_message_parse_new_clock">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseProgress" cname="gst_message_parse_progress">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="type" type="GstProgressType" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="code" type="gchar*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="text" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParsePropertyNotify" cname="gst_message_parse_property_notify" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="_object" type="GstObject*" pass_as="out" />
+          <parameter allow-none="1" name="property_name" type="gchar*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="property_value" type="GValue**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseQos" cname="gst_message_parse_qos">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="live" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="running_time" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="stream_time" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="timestamp" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="duration" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseQosStats" cname="gst_message_parse_qos_stats">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="processed" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="dropped" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseQosValues" cname="gst_message_parse_qos_values">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="jitter" type="gint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="proportion" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="quality" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseRedirectEntry" cname="gst_message_parse_redirect_entry" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="entry_index" type="gsize" />
+          <parameter allow-none="1" name="location" type="const-gchar*" pass_as="out" />
+          <parameter allow-none="1" name="tag_list" type="GstTagList**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="entry_struct" type="GstStructure**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseRequestState" cname="gst_message_parse_request_state">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="state" type="GstState" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseResetTime" cname="gst_message_parse_reset_time">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="running_time" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseSegmentDone" cname="gst_message_parse_segment_done">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="position" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseSegmentStart" cname="gst_message_parse_segment_start">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="position" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStateChanged" cname="gst_message_parse_state_changed">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="oldstate" type="GstState" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="newstate" type="GstState" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="pending" type="GstState" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStepDone" cname="gst_message_parse_step_done">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="amount" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="rate" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="flush" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="intermediate" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="duration" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="eos" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStepStart" cname="gst_message_parse_step_start">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="active" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="amount" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="rate" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="flush" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="intermediate" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStreamCollection" cname="gst_message_parse_stream_collection" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="collection" type="GstStreamCollection*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStreamStatus" cname="gst_message_parse_stream_status">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GstStreamStatusType" owned="true" pass_as="out" />
+          <parameter name="owner" type="GstElement*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStreamsSelected" cname="gst_message_parse_streams_selected" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="collection" type="GstStreamCollection*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseStructureChange" cname="gst_message_parse_structure_change">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GstStructureChangeType" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="owner" type="GstElement*" pass_as="out" />
+          <parameter allow-none="1" name="busy" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseTag" cname="gst_message_parse_tag">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="tag_list" type="GstTagList**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseToc" cname="gst_message_parse_toc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="toc" type="GstToc**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="updated" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseWarning" cname="gst_message_parse_warning">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="gerror" type="GError**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="debug" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseWarningDetails" cname="gst_message_parse_warning_details" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetBufferingStats" cname="gst_message_set_buffering_stats">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstBufferingMode" />
+          <parameter name="avg_in" type="gint" />
+          <parameter name="avg_out" type="gint" />
+          <parameter name="buffering_left" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetGroupId" cname="gst_message_set_group_id" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="group_id" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetQosStats" cname="gst_message_set_qos_stats">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="processed" type="guint64" />
+          <parameter name="dropped" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetQosValues" cname="gst_message_set_qos_values">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="jitter" type="gint64" />
+          <parameter name="proportion" type="gdouble" />
+          <parameter name="quality" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetSeqnum" cname="gst_message_set_seqnum">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="seqnum" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetStreamStatusObject" cname="gst_message_set_stream_status_object" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="StreamsSelectedAdd" cname="gst_message_streams_selected_add" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="stream" type="GstStream*" />
+        </parameters>
+      </method>
+      <method name="StreamsSelectedGetSize" cname="gst_message_streams_selected_get_size" version="1.10">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="StreamsSelectedGetStream" cname="gst_message_streams_selected_get_stream" version="1.10">
+        <return-type type="GstStream*" owned="true" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="WritableStructure" cname="gst_message_writable_structure" version="1.14">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="Meta" cname="GstMeta" opaque="false" hidden="false">
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstMetaFlags" />
+      <field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstMetaInfo*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <method name="ApiTypeGetTags" cname="gst_meta_api_type_get_tags" shared="true" version="1.2">
+        <return-type type="const-gchar**" array="true" null_term_array="true" />
+        <parameters>
+          <parameter name="api" type="GType" />
+        </parameters>
+      </method>
+      <method name="ApiTypeHasTag" cname="gst_meta_api_type_has_tag" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="api" type="GType" />
+          <parameter name="tag" type="guint32" />
+        </parameters>
+      </method>
+      <method name="ApiTypeRegister" cname="gst_meta_api_type_register" shared="true">
+        <return-type type="GType" />
+        <parameters>
+          <parameter name="api" type="const-gchar*" />
+          <parameter name="tags" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetInfo" cname="gst_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="impl" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Register" cname="gst_meta_register" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="api" type="GType" />
+          <parameter name="impl" type="const-gchar*" />
+          <parameter name="size" type="gsize" />
+          <parameter scope="async" name="init_func" type="GstMetaInitFunction" />
+          <parameter scope="async" name="free_func" type="GstMetaFreeFunction" />
+          <parameter scope="async" name="transform_func" type="GstMetaTransformFunction" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="MetaInfo" cname="GstMetaInfo" opaque="false" hidden="false">
+      <field cname="api" access="public" writeable="true" readable="true" is_callback="false" name="Api" type="GType" />
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GType" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" />
+      <field cname="init_func" access="public" writeable="true" readable="true" is_callback="false" name="InitFunc" type="GstMetaInitFunction" />
+      <field cname="free_func" access="public" writeable="true" readable="true" is_callback="false" name="FreeFunc" type="GstMetaFreeFunction" />
+      <field cname="transform_func" access="public" writeable="true" readable="true" is_callback="false" name="TransformFunc" type="GstMetaTransformFunction" />
+    </struct>
+    <struct name="MetaTransformCopy" cname="GstMetaTransformCopy" opaque="false" hidden="false">
+      <field cname="region" access="public" writeable="true" readable="true" is_callback="false" name="Region" type="gboolean" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="gsize" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" />
+    </struct>
+    <struct name="MiniObject" cname="GstMiniObject" opaque="true" hidden="false">
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GType" />
+      <field cname="refcount" access="public" writeable="true" readable="true" is_callback="false" name="Refcount" type="gint" />
+      <field cname="lockstate" access="public" writeable="true" readable="true" is_callback="false" name="Lockstate" type="gint" />
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="guint" />
+      <field cname="copy" access="public" writeable="true" readable="true" is_callback="false" name="CopyFunc" type="gpointer" />
+      <field cname="dispose" access="public" writeable="true" readable="true" is_callback="false" name="Dispose" type="gpointer" />
+      <field cname="free" access="public" writeable="true" readable="true" is_callback="false" name="Free" type="gpointer" />
+      <field cname="n_qdata" access="private" writeable="false" readable="false" is_callback="false" name="NQdata" type="guint" />
+      <field cname="qdata" access="private" writeable="false" readable="false" is_callback="false" name="Qdata" type="gpointer" />
+      <method name="GetQdata" cname="gst_mini_object_get_qdata">
+        <return-type type="gpointer" />
+        <parameters>
+          <parameter name="quark" type="guint32" />
+        </parameters>
+      </method>
+      <method name="IsWritable" cname="gst_mini_object_is_writable">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Lock" cname="gst_mini_object_lock">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GstLockFlags" />
+        </parameters>
+      </method>
+      <method name="SetQdata" cname="gst_mini_object_set_qdata">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="quark" type="guint32" />
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter scope="async" name="destroy" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="StealQdata" cname="gst_mini_object_steal_qdata">
+        <return-type type="gpointer*" owned="true" />
+        <parameters>
+          <parameter name="quark" type="guint32" />
+        </parameters>
+      </method>
+      <method name="Unlock" cname="gst_mini_object_unlock">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flags" type="GstLockFlags" />
+        </parameters>
+      </method>
+      <method name="Replace" cname="gst_mini_object_replace" shared="true" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="olddata" type="GstMiniObject**" owned="true" pass_as="ref">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="newdata" type="GstMiniObject*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Take" cname="gst_mini_object_take" shared="true" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="olddata" type="GstMiniObject**" owned="true" pass_as="ref">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="newdata" type="GstMiniObject*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="PadPrivate" cname="GstPadPrivate" opaque="true" hidden="true" />
+    <struct name="PadProbeInfo" cname="GstPadProbeInfo" opaque="false" hidden="false">
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstPadProbeType" />
+      <field cname="id" access="public" writeable="true" readable="true" is_callback="false" name="Id" type="gulong" />
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="gpointer" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="guint64" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="guint" />
+      <union name="ABI" cname="ABI">
+        <field cname="_gst_reserved" access="public" writeable="true" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+        <struct name="abi" cname="abi" opaque="false" hidden="false">
+          <field cname="flow_ret" access="public" writeable="true" readable="true" is_callback="false" name="FlowRet" type="GstFlowReturn" />
+        </struct>
+      </union>
+      <method name="GetBuffer" cname="gst_pad_probe_info_get_buffer">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetBufferList" cname="gst_pad_probe_info_get_buffer_list">
+        <return-type type="GstBufferList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetEvent" cname="gst_pad_probe_info_get_event">
+        <return-type type="GstEvent*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetQuery" cname="gst_pad_probe_info_get_query">
+        <return-type type="GstQuery*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </struct>
+    <struct name="ParamSpecArray" cname="GstParamSpecArray" opaque="false" hidden="true">
+      <field cname="parent_instance" access="public" writeable="true" readable="true" is_callback="false" name="ParentInstance" type="GParamSpec*" />
+      <field cname="element_spec" access="public" writeable="true" readable="true" is_callback="false" name="ElementSpec" type="GParamSpec*" />
+    </struct>
+    <struct name="ParamSpecFraction" cname="GstParamSpecFraction" opaque="false" hidden="true">
+      <field cname="parent_instance" access="public" writeable="true" readable="true" is_callback="false" name="ParentInstance" type="GParamSpec*" />
+      <field cname="min_num" access="public" writeable="true" readable="true" is_callback="false" name="MinNum" type="gint" />
+      <field cname="min_den" access="public" writeable="true" readable="true" is_callback="false" name="MinDen" type="gint" />
+      <field cname="max_num" access="public" writeable="true" readable="true" is_callback="false" name="MaxNum" type="gint" />
+      <field cname="max_den" access="public" writeable="true" readable="true" is_callback="false" name="MaxDen" type="gint" />
+      <field cname="def_num" access="public" writeable="true" readable="true" is_callback="false" name="DefNum" type="gint" />
+      <field cname="def_den" access="public" writeable="true" readable="true" is_callback="false" name="DefDen" type="gint" />
+    </struct>
+    <struct name="ParentBufferMeta" cname="GstParentBufferMeta" opaque="false" hidden="false" version="1.6">
+      <field cname="parent" access="public" writeable="true" readable="true" is_callback="false" name="Parent" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="buffer" access="public" writeable="true" readable="true" is_callback="false" name="Buffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <method name="GetInfo" cname="gst_parent_buffer_meta_get_info" shared="true" version="1.6">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <boxed name="ParseContext" cname="GstParseContext" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_parse_context_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_parse_context_new" disable_void_ctor="" />
+      <method name="Copy" cname="gst_parse_context_copy">
+        <return-type type="GstParseContext*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_parse_context_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetMissingElements" cname="gst_parse_context_get_missing_elements">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="PipelinePrivate" cname="GstPipelinePrivate" opaque="true" hidden="true" />
+    <struct name="PluginDesc" cname="GstPluginDesc" opaque="false" hidden="false">
+      <field cname="major_version" access="public" writeable="true" readable="true" is_callback="false" name="MajorVersion" type="gint" />
+      <field cname="minor_version" access="public" writeable="true" readable="true" is_callback="false" name="MinorVersion" type="gint" />
+      <field cname="name" access="public" writeable="true" readable="true" is_callback="false" name="Name" type="gchar*" />
+      <field cname="description" access="public" writeable="true" readable="true" is_callback="false" name="Description" type="gchar*" />
+      <field cname="plugin_init" access="public" writeable="true" readable="true" is_callback="false" name="PluginInit" type="GstPluginInitFunc" />
+      <field cname="version" access="public" writeable="true" readable="true" is_callback="false" name="Version" type="gchar*" />
+      <field cname="license" access="public" writeable="true" readable="true" is_callback="false" name="License" type="gchar*" />
+      <field cname="source" access="public" writeable="true" readable="true" is_callback="false" name="Source" type="gchar*" />
+      <field cname="package" access="public" writeable="true" readable="true" is_callback="false" name="Package" type="gchar*" />
+      <field cname="origin" access="public" writeable="true" readable="true" is_callback="false" name="Origin" type="gchar*" />
+      <field cname="release_datetime" access="public" writeable="true" readable="true" is_callback="false" name="ReleaseDatetime" type="gchar*" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <struct name="Poll" cname="GstPoll" opaque="true" hidden="false">
+      <method name="AddFd" cname="gst_poll_add_fd">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FdCanRead" cname="gst_poll_fd_can_read">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FdCanWrite" cname="gst_poll_fd_can_write">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FdCtlRead" cname="gst_poll_fd_ctl_read">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="FdCtlWrite" cname="gst_poll_fd_ctl_write">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="FdHasClosed" cname="gst_poll_fd_has_closed">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FdHasError" cname="gst_poll_fd_has_error">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FdIgnored" cname="gst_poll_fd_ignored">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_poll_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetReadGpollfd" cname="gst_poll_get_read_gpollfd">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fd" type="GPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReadControl" cname="gst_poll_read_control">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="RemoveFd" cname="gst_poll_remove_fd">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fd" type="GstPollFD*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Restart" cname="gst_poll_restart">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetControllable" cname="gst_poll_set_controllable">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="controllable" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetFlushing" cname="gst_poll_set_flushing">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flushing" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Wait" cname="gst_poll_wait">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <method name="WriteControl" cname="gst_poll_write_control">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+    </struct>
+    <struct name="PollFD" cname="GstPollFD" opaque="false" hidden="false">
+      <field cname="fd" access="public" writeable="true" readable="true" is_callback="false" name="Fd" type="gint" />
+      <field cname="idx" access="private" writeable="false" readable="false" is_callback="false" name="Idx" type="gint" />
+      <method name="Init" cname="gst_poll_fd_init">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </struct>
+    <boxed name="Promise" cname="GstPromise" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_promise_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="public" writeable="true" readable="true" is_callback="false" name="Parent" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_promise_new" disable_void_ctor="" />
+      <constructor cname="gst_promise_new_with_change_func">
+        <parameters>
+          <parameter name="func" type="GstPromiseChangeFunc" />
+          <parameter name="user_data" type="gpointer" />
+          <parameter name="notify" type="GDestroyNotify" />
+        </parameters>
+      </constructor>
+      <method name="Expire" cname="gst_promise_expire">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="RetrieveReply" cname="gst_promise_get_reply">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Interrupt" cname="gst_promise_interrupt">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Reply" cname="gst_promise_reply">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="s" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Wait" cname="gst_promise_wait">
+        <return-type type="GstPromiseResult" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="ProtectionMeta" cname="GstProtectionMeta" opaque="false" hidden="false" version="1.6">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstStructure*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <method name="GetInfo" cname="gst_protection_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="ProxyPadPrivate" cname="GstProxyPadPrivate" opaque="true" hidden="true" />
+    <boxed name="Query" cname="GstQuery" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_query_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstQueryType" />
+      <constructor cname="gst_query_new_accept_caps">
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_allocation">
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="need_pool" type="gboolean" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_buffering">
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_caps">
+        <parameters>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_context" version="1.2">
+        <parameters>
+          <parameter name="context_type" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_convert">
+        <parameters>
+          <parameter name="src_format" type="GstFormat" />
+          <parameter name="value" type="gint64" />
+          <parameter name="dest_format" type="GstFormat" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_custom">
+        <parameters>
+          <parameter name="type" type="GstQueryType" />
+          <parameter name="structure" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_drain" disable_void_ctor="" />
+      <constructor cname="gst_query_new_duration">
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_formats" disable_void_ctor="" />
+      <constructor cname="gst_query_new_latency" disable_void_ctor="" />
+      <constructor cname="gst_query_new_position">
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_scheduling" disable_void_ctor="" />
+      <constructor cname="gst_query_new_seeking">
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_segment">
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_query_new_uri" disable_void_ctor="" />
+      <method name="AddAllocationMeta" cname="gst_query_add_allocation_meta">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="api" type="GType" />
+          <parameter allow-none="1" name="params" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddAllocationParam" cname="gst_query_add_allocation_param">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddAllocationPool" cname="gst_query_add_allocation_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstBufferPool*" />
+          <parameter name="size" type="guint" />
+          <parameter name="min_buffers" type="guint" />
+          <parameter name="max_buffers" type="guint" />
+        </parameters>
+      </method>
+      <method name="AddBufferingRange" cname="gst_query_add_buffering_range">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="gint64" />
+          <parameter name="stop" type="gint64" />
+        </parameters>
+      </method>
+      <method name="AddSchedulingMode" cname="gst_query_add_scheduling_mode">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstPadMode" />
+        </parameters>
+      </method>
+      <method name="FindAllocationMeta" cname="gst_query_find_allocation_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="api" type="GType" />
+          <parameter allow-none="1" name="index" type="guint" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetNAllocationMetas" cname="gst_query_get_n_allocation_metas">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetNAllocationParams" cname="gst_query_get_n_allocation_params">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetNAllocationPools" cname="gst_query_get_n_allocation_pools">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetNBufferingRanges" cname="gst_query_get_n_buffering_ranges">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetNSchedulingModes" cname="gst_query_get_n_scheduling_modes">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetStructure" cname="gst_query_get_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="HasSchedulingMode" cname="gst_query_has_scheduling_mode">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="mode" type="GstPadMode" />
+        </parameters>
+      </method>
+      <method name="HasSchedulingModeWithFlags" cname="gst_query_has_scheduling_mode_with_flags">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="mode" type="GstPadMode" />
+          <parameter name="flags" type="GstSchedulingFlags" />
+        </parameters>
+      </method>
+      <method name="ParseAcceptCaps" cname="gst_query_parse_accept_caps">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseAcceptCapsResult" cname="gst_query_parse_accept_caps_result">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_result" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="ParseAllocation" cname="gst_query_parse_allocation">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="caps" type="GstCaps**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="need_pool" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseBufferingPercent" cname="gst_query_parse_buffering_percent">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="busy" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="percent" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseBufferingRange" cname="gst_query_parse_buffering_range">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="start" type="gint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="stop" type="gint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="estimated_total" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseBufferingStats" cname="gst_query_parse_buffering_stats">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="mode" type="GstBufferingMode" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="avg_in" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="avg_out" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="buffering_left" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseCaps" cname="gst_query_parse_caps">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="filter" type="GstCaps**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseCapsResult" cname="gst_query_parse_caps_result">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseContext" cname="gst_query_parse_context" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="context" type="GstContext**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseContextType" cname="gst_query_parse_context_type" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="context_type" type="const-gchar*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseConvert" cname="gst_query_parse_convert">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="src_format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="src_value" type="gint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="dest_format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="dest_value" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseDuration" cname="gst_query_parse_duration">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="duration" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseLatency" cname="gst_query_parse_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="live" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="min_latency" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max_latency" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseNFormats" cname="gst_query_parse_n_formats">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="n_formats" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseNthAllocationMeta" cname="gst_query_parse_nth_allocation_meta">
+        <return-type type="GType" />
+        <parameters>
+          <parameter name="index" type="guint" />
+          <parameter allow-none="1" name="params" type="GstStructure**" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseNthAllocationParam" cname="gst_query_parse_nth_allocation_param">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="index" type="guint" />
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseNthAllocationPool" cname="gst_query_parse_nth_allocation_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="index" type="guint" />
+          <parameter allow-none="1" name="pool" type="GstBufferPool*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="size" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="min_buffers" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max_buffers" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseNthBufferingRange" cname="gst_query_parse_nth_buffering_range">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="index" type="guint" />
+          <parameter allow-none="1" name="start" type="gint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="stop" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseNthFormat" cname="gst_query_parse_nth_format">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="nth" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseNthSchedulingMode" cname="gst_query_parse_nth_scheduling_mode">
+        <return-type type="GstPadMode" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="ParsePosition" cname="gst_query_parse_position">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="cur" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseScheduling" cname="gst_query_parse_scheduling">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="flags" type="GstSchedulingFlags" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="minsize" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="maxsize" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="align" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseSeeking" cname="gst_query_parse_seeking">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="seekable" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="segment_start" type="gint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="segment_end" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseSegment" cname="gst_query_parse_segment">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="rate" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="format" type="GstFormat" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="start_value" type="gint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="stop_value" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseUri" cname="gst_query_parse_uri">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="uri" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseUriRedirection" cname="gst_query_parse_uri_redirection" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="uri" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseUriRedirectionPermanent" cname="gst_query_parse_uri_redirection_permanent" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="permanent" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="RemoveNthAllocationMeta" cname="gst_query_remove_nth_allocation_meta">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveNthAllocationParam" cname="gst_query_remove_nth_allocation_param" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveNthAllocationPool" cname="gst_query_remove_nth_allocation_pool" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetAcceptCapsResult" cname="gst_query_set_accept_caps_result">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_result" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetBufferingPercent" cname="gst_query_set_buffering_percent">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="busy" type="gboolean" />
+          <parameter name="percent" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetBufferingRange" cname="gst_query_set_buffering_range">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="start" type="gint64" />
+          <parameter name="stop" type="gint64" />
+          <parameter name="estimated_total" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetBufferingStats" cname="gst_query_set_buffering_stats">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstBufferingMode" />
+          <parameter name="avg_in" type="gint" />
+          <parameter name="avg_out" type="gint" />
+          <parameter name="buffering_left" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetCapsResult" cname="gst_query_set_caps_result">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetContext" cname="gst_query_set_context" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="context" type="GstContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetConvert" cname="gst_query_set_convert">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="src_format" type="GstFormat" />
+          <parameter name="src_value" type="gint64" />
+          <parameter name="dest_format" type="GstFormat" />
+          <parameter name="dest_value" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetDuration" cname="gst_query_set_duration">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="duration" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetFormatsv" cname="gst_query_set_formatsv">
+        <return-type type="void" array_index="1" />
+        <parameters>
+          <parameter name="n_formats" type="gint" array_index="1" />
+          <parameter name="formats" type="GstFormat*" array="true" array_length_param_index="0" />
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_query_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="live" type="gboolean" />
+          <parameter name="min_latency" type="guint64" />
+          <parameter name="max_latency" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetNthAllocationParam" cname="gst_query_set_nth_allocation_param">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="index" type="guint" />
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetNthAllocationPool" cname="gst_query_set_nth_allocation_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="index" type="guint" />
+          <parameter allow-none="1" name="pool" type="GstBufferPool*" />
+          <parameter name="size" type="guint" />
+          <parameter name="min_buffers" type="guint" />
+          <parameter name="max_buffers" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetPosition" cname="gst_query_set_position">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="cur" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetScheduling" cname="gst_query_set_scheduling">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flags" type="GstSchedulingFlags" />
+          <parameter name="minsize" type="gint" />
+          <parameter name="maxsize" type="gint" />
+          <parameter name="align" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetSeeking" cname="gst_query_set_seeking">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="seekable" type="gboolean" />
+          <parameter name="segment_start" type="gint64" />
+          <parameter name="segment_end" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetSegment" cname="gst_query_set_segment">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="rate" type="gdouble" />
+          <parameter name="format" type="GstFormat" />
+          <parameter name="start_value" type="gint64" />
+          <parameter name="stop_value" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetUri" cname="gst_query_set_uri">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetUriRedirection" cname="gst_query_set_uri_redirection" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetUriRedirectionPermanent" cname="gst_query_set_uri_redirection_permanent" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="permanent" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="WritableStructure" cname="gst_query_writable_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="ReferenceTimestampMeta" cname="GstReferenceTimestampMeta" opaque="false" hidden="false" version="1.14">
+      <field cname="parent" access="public" writeable="true" readable="true" is_callback="false" name="Parent" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="reference" access="public" writeable="true" readable="true" is_callback="false" name="Reference" type="GstCaps*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="timestamp" access="public" writeable="true" readable="true" is_callback="false" name="Timestamp" type="guint64" />
+      <field cname="duration" access="public" writeable="true" readable="true" is_callback="false" name="Duration" type="guint64" />
+      <method name="GetInfo" cname="gst_reference_timestamp_meta_get_info" shared="true" version="1.14">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="RegistryPrivate" cname="GstRegistryPrivate" opaque="true" hidden="true" />
+    <boxed name="Sample" cname="GstSample" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_sample_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_sample_new">
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="segment" type="GstSegment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="GetBuffer" cname="gst_sample_get_buffer">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetBufferList" cname="gst_sample_get_buffer_list" version="1.6">
+        <return-type type="GstBufferList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetCaps" cname="gst_sample_get_caps">
+        <return-type type="GstCaps*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetInfo" cname="gst_sample_get_info">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetSegment" cname="gst_sample_get_segment">
+        <return-type type="GstSegment*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="SetBufferList" cname="gst_sample_set_buffer_list" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </boxed>
+    <boxed name="Segment" cname="GstSegment" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_segment_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstSegmentFlags" />
+      <field cname="rate" access="public" writeable="true" readable="true" is_callback="false" name="Rate" type="gdouble" />
+      <field cname="applied_rate" access="public" writeable="true" readable="true" is_callback="false" name="AppliedRate" type="gdouble" />
+      <field cname="format" access="public" writeable="true" readable="true" is_callback="false" name="Format" type="GstFormat" />
+      <field cname="base" access="public" writeable="true" readable="true" is_callback="false" name="Base" type="guint64" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="guint64" />
+      <field cname="start" access="public" writeable="true" readable="true" is_callback="false" name="Start" type="guint64" />
+      <field cname="stop" access="public" writeable="true" readable="true" is_callback="false" name="Stop" type="guint64" />
+      <field cname="time" access="public" writeable="true" readable="true" is_callback="false" name="Time" type="guint64" />
+      <field cname="position" access="public" writeable="true" readable="true" is_callback="false" name="Position" type="guint64" />
+      <field cname="duration" access="public" writeable="true" readable="true" is_callback="false" name="Duration" type="guint64" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <constructor cname="gst_segment_new" disable_void_ctor="" />
+      <method name="Clip" cname="gst_segment_clip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="start" type="guint64" />
+          <parameter name="stop" type="guint64" />
+          <parameter allow-none="1" name="clip_start" type="guint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="clip_stop" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_segment_copy">
+        <return-type type="GstSegment*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="CopyInto" cname="gst_segment_copy_into">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dest" type="GstSegment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="DoSeek" cname="gst_segment_do_seek">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="rate" type="gdouble" />
+          <parameter name="format" type="GstFormat" />
+          <parameter name="flags" type="GstSeekFlags" />
+          <parameter name="start_type" type="GstSeekType" />
+          <parameter name="start" type="guint64" />
+          <parameter name="stop_type" type="GstSeekType" />
+          <parameter name="stop" type="guint64" />
+          <parameter allow-none="1" name="update" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_segment_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_segment_init">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </method>
+      <method name="IsEqual" cname="gst_segment_is_equal" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="s1" type="GstSegment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="OffsetRunningTime" cname="gst_segment_offset_running_time" version="1.2.3">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="offset" type="gint64" />
+        </parameters>
+      </method>
+      <method name="PositionFromRunningTime" cname="gst_segment_position_from_running_time" version="1.8">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="running_time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="PositionFromRunningTimeFull" cname="gst_segment_position_from_running_time_full" version="1.8">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="running_time" type="guint64" />
+          <parameter name="position" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PositionFromStreamTime" cname="gst_segment_position_from_stream_time" version="1.8">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="stream_time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="PositionFromStreamTimeFull" cname="gst_segment_position_from_stream_time_full" version="1.8">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="stream_time" type="guint64" />
+          <parameter name="position" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="SetRunningTime" cname="gst_segment_set_running_time">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="running_time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="ToPosition" cname="gst_segment_to_position">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="running_time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="ToRunningTime" cname="gst_segment_to_running_time">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="position" type="guint64" />
+        </parameters>
+      </method>
+      <method name="ToRunningTimeFull" cname="gst_segment_to_running_time_full" version="1.6">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="position" type="guint64" />
+          <parameter allow-none="1" name="running_time" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ToStreamTime" cname="gst_segment_to_stream_time" version="1.8">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="position" type="guint64" />
+        </parameters>
+      </method>
+      <method name="ToStreamTimeFull" cname="gst_segment_to_stream_time_full" version="1.8">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="position" type="guint64" />
+          <parameter name="stream_time" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="StaticCaps" cname="GstStaticCaps" opaque="false" hidden="false">
+      <field cname="caps" access="public" writeable="true" readable="true" is_callback="false" name="Caps" type="GstCaps*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="string" access="public" writeable="true" readable="true" is_callback="false" name="String" type="gchar*" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="Cleanup" cname="gst_static_caps_cleanup">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Get" cname="gst_static_caps_get">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </struct>
+    <struct name="StaticPadTemplate" cname="GstStaticPadTemplate" opaque="false" hidden="false">
+      <field cname="name_template" access="public" writeable="true" readable="true" is_callback="false" name="NameTemplate" type="gchar*" />
+      <field cname="direction" access="public" writeable="true" readable="true" is_callback="false" name="Direction" type="GstPadDirection" />
+      <field cname="presence" access="public" writeable="true" readable="true" is_callback="false" name="Presence" type="GstPadPresence" />
+      <field cname="static_caps" access="public" writeable="true" readable="true" is_callback="false" name="StaticCaps" type="GstStaticCaps">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <method name="Get" cname="gst_static_pad_template_get">
+        <return-type type="GstPadTemplate*" />
+        <parameters />
+      </method>
+      <method name="GetCaps" cname="gst_static_pad_template_get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </struct>
+    <struct name="StreamCollectionPrivate" cname="GstStreamCollectionPrivate" opaque="true" hidden="true" />
+    <struct name="StreamPrivate" cname="GstStreamPrivate" opaque="true" hidden="true" />
+    <boxed name="Structure" cname="GstStructure" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_structure_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GType" />
+      <field cname="name" access="private" writeable="false" readable="false" is_callback="false" name="Name" type="guint32" />
+      <constructor cname="gst_structure_new_empty">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_structure_new_from_string" version="1.2">
+        <parameters>
+          <parameter name="string" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_structure_new_id_empty">
+        <parameters>
+          <parameter name="quark" type="guint32" />
+        </parameters>
+      </constructor>
+      <method name="CanIntersect" cname="gst_structure_can_intersect">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="struct2" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_structure_copy">
+        <return-type type="GstStructure*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="FilterAndMapInPlace" cname="gst_structure_filter_and_map_in_place" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstStructureFilterMapFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Fixate" cname="gst_structure_fixate">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="FixateField" cname="gst_structure_fixate_field">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="FixateFieldBoolean" cname="gst_structure_fixate_field_boolean">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field_name" type="const-gchar*" />
+          <parameter name="target" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="FixateFieldNearestDouble" cname="gst_structure_fixate_field_nearest_double">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field_name" type="const-gchar*" />
+          <parameter name="target" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="FixateFieldNearestFraction" cname="gst_structure_fixate_field_nearest_fraction">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field_name" type="const-gchar*" />
+          <parameter name="target_numerator" type="gint" />
+          <parameter name="target_denominator" type="gint" />
+        </parameters>
+      </method>
+      <method name="FixateFieldNearestInt" cname="gst_structure_fixate_field_nearest_int">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field_name" type="const-gchar*" />
+          <parameter name="target" type="gint" />
+        </parameters>
+      </method>
+      <method name="FixateFieldString" cname="gst_structure_fixate_field_string">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field_name" type="const-gchar*" />
+          <parameter name="target" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Foreach" cname="gst_structure_foreach">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstStructureForeachFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_structure_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetArray" cname="gst_structure_get_array">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="array" type="GValueArray**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBoolean" cname="gst_structure_get_boolean">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetClockTime" cname="gst_structure_get_clock_time">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetDate" cname="gst_structure_get_date">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="GDate**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDateTime" cname="gst_structure_get_date_time">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="GstDateTime**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDouble" cname="gst_structure_get_double">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetEnum" cname="gst_structure_get_enum">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="enumtype" type="GType" />
+          <parameter name="value" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetFieldType" cname="gst_structure_get_field_type">
+        <return-type type="GType" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetFlagset" cname="gst_structure_get_flagset" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter allow-none="1" name="value_flags" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="value_mask" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetFraction" cname="gst_structure_get_fraction">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value_numerator" type="gint*" owned="true" pass_as="out" />
+          <parameter name="value_denominator" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetInt" cname="gst_structure_get_int">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetInt64" cname="gst_structure_get_int64" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetList" cname="gst_structure_get_list">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="array" type="GValueArray**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetName" cname="gst_structure_get_name">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetNameId" cname="gst_structure_get_name_id">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetString" cname="gst_structure_get_string">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetUint" cname="gst_structure_get_uint">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetUint64" cname="gst_structure_get_uint64" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetValue" cname="gst_structure_get_value">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="HasField" cname="gst_structure_has_field">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="HasFieldTyped" cname="gst_structure_has_field_typed">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="HasName" cname="gst_structure_has_name">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="IdGetValue" cname="gst_structure_id_get_value">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="field" type="guint32" />
+        </parameters>
+      </method>
+      <method name="IdHasField" cname="gst_structure_id_has_field">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field" type="guint32" />
+        </parameters>
+      </method>
+      <method name="IdHasFieldTyped" cname="gst_structure_id_has_field_typed">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field" type="guint32" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="IdSetValue" cname="gst_structure_id_set_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="field" type="guint32" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IdTakeValue" cname="gst_structure_id_take_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="field" type="guint32" />
+          <parameter name="value" type="GValue*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Intersect" cname="gst_structure_intersect">
+        <return-type type="GstStructure*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="struct2" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsEqual" cname="gst_structure_is_equal">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="structure2" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsSubset" cname="gst_structure_is_subset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="superset" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MapInPlace" cname="gst_structure_map_in_place">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstStructureMapFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="NFields" cname="gst_structure_n_fields">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="NthFieldName" cname="gst_structure_nth_field_name">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveAllFields" cname="gst_structure_remove_all_fields">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="RemoveField" cname="gst_structure_remove_field">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetArray" cname="gst_structure_set_array">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="array" type="GValueArray*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetList" cname="gst_structure_set_list">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="array" type="GValueArray*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetName" cname="gst_structure_set_name">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetParentRefcount" cname="gst_structure_set_parent_refcount">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="refcount" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetValue" cname="gst_structure_set_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="TakeValue" cname="gst_structure_take_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fieldname" type="const-gchar*" />
+          <parameter name="value" type="GValue*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ToString" cname="gst_structure_to_string">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="FromString" cname="gst_structure_from_string" shared="true">
+        <return-type type="GstStructure*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="string" type="const-gchar*" />
+          <parameter allow-none="1" name="end" type="const-gchar*" pass_as="out" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="SystemClockPrivate" cname="GstSystemClockPrivate" opaque="true" hidden="true" />
+    <boxed name="TagList" cname="GstTagList" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_tag_list_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_tag_list_new_empty" disable_void_ctor="" />
+      <constructor cname="gst_tag_list_new_from_string">
+        <parameters>
+          <parameter name="str" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AddValue" cname="gst_tag_list_add_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstTagMergeMode" />
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Foreach" cname="gst_tag_list_foreach">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstTagForeachFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="GetBoolean" cname="gst_tag_list_get_boolean">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetBooleanIndex" cname="gst_tag_list_get_boolean_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetDate" cname="gst_tag_list_get_date">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="GDate**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDateIndex" cname="gst_tag_list_get_date_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="GDate**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDateTime" cname="gst_tag_list_get_date_time">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="GstDateTime**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDateTimeIndex" cname="gst_tag_list_get_date_time_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="GstDateTime**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDouble" cname="gst_tag_list_get_double">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetDoubleIndex" cname="gst_tag_list_get_double_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetFloat" cname="gst_tag_list_get_float">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gfloat*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetFloatIndex" cname="gst_tag_list_get_float_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="gfloat*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetInt" cname="gst_tag_list_get_int">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetInt64" cname="gst_tag_list_get_int64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gint64" />
+        </parameters>
+      </method>
+      <method name="GetInt64Index" cname="gst_tag_list_get_int64_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetIntIndex" cname="gst_tag_list_get_int_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetPointer" cname="gst_tag_list_get_pointer">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gpointer" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetPointerIndex" cname="gst_tag_list_get_pointer_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="gpointer" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetSample" cname="gst_tag_list_get_sample">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="sample" type="GstSample**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetSampleIndex" cname="gst_tag_list_get_sample_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="sample" type="GstSample**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetScope" cname="gst_tag_list_get_scope">
+        <return-type type="GstTagScope" />
+        <parameters />
+      </method>
+      <method name="GetString" cname="gst_tag_list_get_string">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetStringIndex" cname="gst_tag_list_get_string_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="gchar*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetTagSize" cname="gst_tag_list_get_tag_size">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetUint" cname="gst_tag_list_get_uint">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetUint64" cname="gst_tag_list_get_uint64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetUint64Index" cname="gst_tag_list_get_uint64_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetUintIndex" cname="gst_tag_list_get_uint_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetValueIndex" cname="gst_tag_list_get_value_index">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="Insert" cname="gst_tag_list_insert">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="from" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="IsEmpty" cname="gst_tag_list_is_empty">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEqual" cname="gst_tag_list_is_equal">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="list2" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Merge" cname="gst_tag_list_merge">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="list2" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="NTags" cname="gst_tag_list_n_tags">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="NthTagName" cname="gst_tag_list_nth_tag_name">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="index" type="guint" />
+        </parameters>
+      </method>
+      <method name="PeekStringIndex" cname="gst_tag_list_peek_string_index">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="index" type="guint" />
+          <parameter name="value" type="const-gchar*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="RemoveTag" cname="gst_tag_list_remove_tag">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetScope" cname="gst_tag_list_set_scope">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="scope" type="GstTagScope" />
+        </parameters>
+      </method>
+      <method name="ToString" cname="gst_tag_list_to_string">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="CopyValue" cname="gst_tag_list_copy_value" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="ref">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="TaskPrivate" cname="GstTaskPrivate" opaque="true" hidden="true" />
+    <struct name="TimedValue" cname="GstTimedValue" opaque="false" hidden="false">
+      <field cname="timestamp" access="public" writeable="true" readable="true" is_callback="false" name="Timestamp" type="guint64" />
+      <field cname="value" access="public" writeable="true" readable="true" is_callback="false" name="Value" type="gdouble" />
+    </struct>
+    <boxed name="Toc" cname="GstToc" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_toc_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_toc_new">
+        <parameters>
+          <parameter name="scope" type="GstTocScope" />
+        </parameters>
+      </constructor>
+      <method name="AppendEntry" cname="gst_toc_append_entry">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="entry" type="GstTocEntry*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Dump" cname="gst_toc_dump">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="FindEntry" cname="gst_toc_find_entry">
+        <return-type type="GstTocEntry*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="uid" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetEntries" cname="gst_toc_get_entries">
+        <return-type type="GList*" element_type="GList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetScope" cname="gst_toc_get_scope">
+        <return-type type="GstTocScope" />
+        <parameters />
+      </method>
+      <method name="GetTags" cname="gst_toc_get_tags">
+        <return-type type="GstTagList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="MergeTags" cname="gst_toc_merge_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="SetTags" cname="gst_toc_set_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </boxed>
+    <boxed name="TocEntry" cname="GstTocEntry" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_toc_entry_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_toc_entry_new">
+        <parameters>
+          <parameter name="type" type="GstTocEntryType" />
+          <parameter name="uid" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AppendSubEntry" cname="gst_toc_entry_append_sub_entry">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="subentry" type="GstTocEntry*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetEntryType" cname="gst_toc_entry_get_entry_type">
+        <return-type type="GstTocEntryType" />
+        <parameters />
+      </method>
+      <method name="GetLoop" cname="gst_toc_entry_get_loop" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="loop_type" type="GstTocLoopType" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="repeat_count" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetParent" cname="gst_toc_entry_get_parent">
+        <return-type type="GstTocEntry*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetStartStopTimes" cname="gst_toc_entry_get_start_stop_times">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="start" type="gint64*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="stop" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetSubEntries" cname="gst_toc_entry_get_sub_entries">
+        <return-type type="GList*" element_type="GList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetTags" cname="gst_toc_entry_get_tags">
+        <return-type type="GstTagList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetToc" cname="gst_toc_entry_get_toc">
+        <return-type type="GstToc*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetUid" cname="gst_toc_entry_get_uid">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="IsAlternative" cname="gst_toc_entry_is_alternative">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsSequence" cname="gst_toc_entry_is_sequence">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="MergeTags" cname="gst_toc_entry_merge_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="SetLoop" cname="gst_toc_entry_set_loop" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="loop_type" type="GstTocLoopType" />
+          <parameter name="repeat_count" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetStartStopTimes" cname="gst_toc_entry_set_start_stop_times">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="start" type="gint64" />
+          <parameter name="stop" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetTags" cname="gst_toc_entry_set_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="TracerPrivate" cname="GstTracerPrivate" opaque="true" hidden="true" />
+    <struct name="TypeFind" cname="GstTypeFind" opaque="true" hidden="false">
+      <field cname="peek" access="public" writeable="false" readable="true" is_callback="true" name="PeekField" type="GstPeekFieldFunc" />
+      <field cname="suggest" access="public" writeable="false" readable="true" is_callback="true" name="SuggestField" type="GstSuggestFieldFunc" />
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="gpointer" />
+      <field cname="get_length" access="public" writeable="false" readable="true" is_callback="true" name="GetLengthField" type="GstGetLengthFieldFunc" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="GetLength" cname="gst_type_find_get_length">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="Peek" cname="gst_type_find_peek">
+        <return-type type="guint8*" array="true" array_length_param_index="1" />
+        <parameters>
+          <parameter name="offset" type="gint64" />
+          <parameter name="size" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="Suggest" cname="gst_type_find_suggest">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="probability" type="guint" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Register" cname="gst_type_find_register" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="plugin" type="GstPlugin*" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="rank" type="guint" />
+          <parameter closure="6" destroy="7" scope="notified" name="func" type="GstTypeFindFunction" />
+          <parameter allow-none="1" name="extensions" type="const-gchar*" />
+          <parameter name="possible_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter scope="async" name="data_notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+    </struct>
+    <boxed name="Uri" cname="GstUri" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_uri_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_uri_new" version="1.6">
+        <parameters>
+          <parameter name="scheme" type="const-gchar*" />
+          <parameter name="userinfo" type="const-gchar*" />
+          <parameter name="host" type="const-gchar*" />
+          <parameter name="port" type="guint" />
+          <parameter name="path" type="const-gchar*" />
+          <parameter name="query" type="const-gchar*" />
+          <parameter name="fragment" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AppendPath" cname="gst_uri_append_path" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="relative_path" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AppendPathSegment" cname="gst_uri_append_path_segment" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="path_segment" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Equal" cname="gst_uri_equal" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="second" type="GstUri*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FromStringWithBase" cname="gst_uri_from_string_with_base" version="1.6">
+        <return-type type="GstUri*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetFragment" cname="gst_uri_get_fragment" version="1.6">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetHost" cname="gst_uri_get_host" version="1.6">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetMediaFragmentTable" cname="gst_uri_get_media_fragment_table" version="1.12">
+        <return-type type="GHashTable*" element_type="gchar*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPath" cname="gst_uri_get_path" version="1.6">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPathSegments" cname="gst_uri_get_path_segments" version="1.6">
+        <return-type type="GList*" element_type="gchar*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPathString" cname="gst_uri_get_path_string" version="1.6">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPort" cname="gst_uri_get_port" version="1.6">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetQueryKeys" cname="gst_uri_get_query_keys" version="1.6">
+        <return-type type="GList*" element_type="gchar*" elements_owned="true" />
+        <parameters />
+      </method>
+      <method name="GetQueryString" cname="gst_uri_get_query_string" version="1.6">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetQueryTable" cname="gst_uri_get_query_table" version="1.6">
+        <return-type type="GHashTable*" element_type="gchar*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetQueryValue" cname="gst_uri_get_query_value" version="1.6">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="query_key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetScheme" cname="gst_uri_get_scheme">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetUserinfo" cname="gst_uri_get_userinfo" version="1.6">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="IsNormalized" cname="gst_uri_is_normalized" version="1.6">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsWritable" cname="gst_uri_is_writable" version="1.6">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Join" cname="gst_uri_join" version="1.6">
+        <return-type type="GstUri*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="ref_uri" type="GstUri*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MakeWritable" cname="gst_uri_make_writable" version="1.6">
+        <return-type type="GstUri*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="NewWithBase" cname="gst_uri_new_with_base" version="1.6">
+        <return-type type="GstUri*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="scheme" type="const-gchar*" />
+          <parameter allow-none="1" name="userinfo" type="const-gchar*" />
+          <parameter allow-none="1" name="host" type="const-gchar*" />
+          <parameter name="port" type="guint" />
+          <parameter allow-none="1" name="path" type="const-gchar*" />
+          <parameter allow-none="1" name="query" type="const-gchar*" />
+          <parameter allow-none="1" name="fragment" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Normalize" cname="gst_uri_normalize" version="1.6">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="QueryHasKey" cname="gst_uri_query_has_key" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query_key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RemoveQueryKey" cname="gst_uri_remove_query_key" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query_key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetFragment" cname="gst_uri_set_fragment" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="fragment" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetHost" cname="gst_uri_set_host" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="host" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetPath" cname="gst_uri_set_path" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetPathSegments" cname="gst_uri_set_path_segments" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="path_segments" type="GList*" element_type="gchar*" elements_owned="true" owned="true" />
+        </parameters>
+      </method>
+      <method name="SetPathString" cname="gst_uri_set_path_string" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetPort" cname="gst_uri_set_port" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="port" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetQueryString" cname="gst_uri_set_query_string" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetQueryTable" cname="gst_uri_set_query_table" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="query_table" type="GHashTable*" element_type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetQueryValue" cname="gst_uri_set_query_value" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query_key" type="const-gchar*" />
+          <parameter allow-none="1" name="query_value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetScheme" cname="gst_uri_set_scheme" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="scheme" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetUserinfo" cname="gst_uri_set_userinfo" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="userinfo" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ToString" cname="gst_uri_to_string" version="1.6">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="Construct" cname="gst_uri_construct" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="protocol" type="const-gchar*" />
+          <parameter name="location" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="FromString" cname="gst_uri_from_string" shared="true" version="1.6">
+        <return-type type="GstUri*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetLocation" cname="gst_uri_get_location" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetProtocol" cname="gst_uri_get_protocol" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="HasProtocol" cname="gst_uri_has_protocol" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="IsValid" cname="gst_uri_is_valid" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="JoinStrings" cname="gst_uri_join_strings" shared="true" version="1.6">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="base_uri" type="const-gchar*" />
+          <parameter name="ref_uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ProtocolIsSupported" cname="gst_uri_protocol_is_supported" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GstURIType" />
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ProtocolIsValid" cname="gst_uri_protocol_is_valid" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="ValueTable" cname="GstValueTable" opaque="false" hidden="false">
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GType" />
+      <field cname="compare" access="public" writeable="true" readable="true" is_callback="false" name="Compare" type="GstValueCompareFunc" />
+      <field cname="serialize" access="public" writeable="true" readable="true" is_callback="false" name="Serialize" type="GstValueSerializeFunc" />
+      <field cname="deserialize" access="public" writeable="true" readable="true" is_callback="false" name="Deserialize" type="GstValueDeserializeFunc" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <object name="Global" cname="GstGlobal" opaque="true">
+      <method name="BufferGetMaxMemory" cname="gst_buffer_get_max_memory" shared="true" version="1.2">
+        <return-type type="guint" />
+      </method>
+      <method name="CapsFeaturesFromString" cname="gst_caps_features_from_string" shared="true" version="1.2">
+        <return-type type="GstCapsFeatures*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="features" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="CapsFromString" cname="gst_caps_from_string" shared="true">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="string" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="CoreErrorQuark" cname="gst_core_error_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="Deinit" cname="gst_deinit" shared="true">
+        <return-type type="void" />
+      </method>
+      <method name="DynamicTypeRegister" cname="gst_dynamic_type_register" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="plugin" type="GstPlugin*" />
+          <parameter name="type" type="GType" />
+        </parameters>
+      </method>
+      <method name="ErrorGetMessage" cname="gst_error_get_message" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="domain" type="guint32" />
+          <parameter name="code" type="gint" />
+        </parameters>
+      </method>
+      <method name="EventTypeGetFlags" cname="gst_event_type_get_flags" shared="true">
+        <return-type type="GstEventTypeFlags" />
+        <parameters>
+          <parameter name="type" type="GstEventType" />
+        </parameters>
+      </method>
+      <method name="EventTypeGetName" cname="gst_event_type_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="type" type="GstEventType" />
+        </parameters>
+      </method>
+      <method name="EventTypeToQuark" cname="gst_event_type_to_quark" shared="true">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="type" type="GstEventType" />
+        </parameters>
+      </method>
+      <method name="FlowGetName" cname="gst_flow_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="_ret" type="GstFlowReturn" />
+        </parameters>
+      </method>
+      <method name="FlowToQuark" cname="gst_flow_to_quark" shared="true">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="_ret" type="GstFlowReturn" />
+        </parameters>
+      </method>
+      <method name="GetMainExecutablePath" cname="gst_get_main_executable_path" shared="true" version="1.14">
+        <return-type type="const-gchar*" />
+      </method>
+      <method name="IsCapsFeatures" cname="gst_is_caps_features" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="obj" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="IsInitialized" cname="gst_is_initialized" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="LibraryErrorQuark" cname="gst_library_error_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="MessageTypeGetName" cname="gst_message_type_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="type" type="GstMessageType" />
+        </parameters>
+      </method>
+      <method name="MessageTypeToQuark" cname="gst_message_type_to_quark" shared="true">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="type" type="GstMessageType" />
+        </parameters>
+      </method>
+      <method name="MetaApiTypeGetTags" cname="gst_meta_api_type_get_tags" shared="true" version="1.2">
+        <return-type type="const-gchar**" array="true" null_term_array="true" />
+        <parameters>
+          <parameter name="api" type="GType" />
+        </parameters>
+      </method>
+      <method name="MetaApiTypeHasTag" cname="gst_meta_api_type_has_tag" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="api" type="GType" />
+          <parameter name="tag" type="guint32" />
+        </parameters>
+      </method>
+      <method name="MetaApiTypeRegister" cname="gst_meta_api_type_register" shared="true">
+        <return-type type="GType" />
+        <parameters>
+          <parameter name="api" type="const-gchar*" />
+          <parameter name="tags" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MetaGetInfo" cname="gst_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="impl" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MetaRegister" cname="gst_meta_register" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="api" type="GType" />
+          <parameter name="impl" type="const-gchar*" />
+          <parameter name="size" type="gsize" />
+          <parameter scope="async" name="init_func" type="GstMetaInitFunction" />
+          <parameter scope="async" name="free_func" type="GstMetaFreeFunction" />
+          <parameter scope="async" name="transform_func" type="GstMetaTransformFunction" />
+        </parameters>
+      </method>
+      <method name="MiniObjectReplace" cname="gst_mini_object_replace" shared="true" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="olddata" type="GstMiniObject**" owned="true" pass_as="ref">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="newdata" type="GstMiniObject*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MiniObjectTake" cname="gst_mini_object_take" shared="true" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="olddata" type="GstMiniObject**" owned="true" pass_as="ref">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="newdata" type="GstMiniObject*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParamSpecArray" cname="gst_param_spec_array" shared="true" version="1.14">
+        <return-type type="GParamSpec*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="nick" type="const-gchar*" />
+          <parameter name="blurb" type="const-gchar*" />
+          <parameter name="element_spec" type="GParamSpec*" />
+          <parameter name="flags" type="GParamFlags" />
+        </parameters>
+      </method>
+      <method name="ParamSpecFraction" cname="gst_param_spec_fraction" shared="true">
+        <return-type type="GParamSpec*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="nick" type="const-gchar*" />
+          <parameter name="blurb" type="const-gchar*" />
+          <parameter name="min_num" type="gint" />
+          <parameter name="min_denom" type="gint" />
+          <parameter name="max_num" type="gint" />
+          <parameter name="max_denom" type="gint" />
+          <parameter name="default_num" type="gint" />
+          <parameter name="default_denom" type="gint" />
+          <parameter name="flags" type="GParamFlags" />
+        </parameters>
+      </method>
+      <method name="ParentBufferMetaApiGetType" cname="gst_parent_buffer_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ParentBufferMetaGetInfo" cname="gst_parent_buffer_meta_get_info" shared="true" version="1.6">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="PluginErrorQuark" cname="gst_plugin_error_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="PresetGetAppDir" cname="gst_preset_get_app_dir" shared="true">
+        <return-type type="const-gchar*" />
+      </method>
+      <method name="PresetSetAppDir" cname="gst_preset_set_app_dir" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="app_dir" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ProtectionFilterSystemsByAvailableDecryptors" cname="gst_protection_filter_systems_by_available_decryptors" shared="true" version="1.14">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters>
+          <parameter name="system_identifiers" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ProtectionMetaApiGetType" cname="gst_protection_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ProtectionMetaGetInfo" cname="gst_protection_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="ProtectionSelectSystem" cname="gst_protection_select_system" shared="true" version="1.6">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="system_identifiers" type="const-gchar**" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="QueryTypeGetFlags" cname="gst_query_type_get_flags" shared="true">
+        <return-type type="GstQueryTypeFlags" />
+        <parameters>
+          <parameter name="type" type="GstQueryType" />
+        </parameters>
+      </method>
+      <method name="QueryTypeGetName" cname="gst_query_type_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="type" type="GstQueryType" />
+        </parameters>
+      </method>
+      <method name="QueryTypeToQuark" cname="gst_query_type_to_quark" shared="true">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="type" type="GstQueryType" />
+        </parameters>
+      </method>
+      <method name="ReferenceTimestampMetaApiGetType" cname="gst_reference_timestamp_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ReferenceTimestampMetaGetInfo" cname="gst_reference_timestamp_meta_get_info" shared="true" version="1.14">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="ResourceErrorQuark" cname="gst_resource_error_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="SegtrapIsEnabled" cname="gst_segtrap_is_enabled" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="SegtrapSetEnabled" cname="gst_segtrap_set_enabled" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="StateChangeGetName" cname="gst_state_change_get_name" shared="true" version="1.14">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="transition" type="GstStateChange" />
+        </parameters>
+      </method>
+      <method name="StaticCapsGetType" cname="gst_static_caps_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="StaticPadTemplateGetType" cname="gst_static_pad_template_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="StreamErrorQuark" cname="gst_stream_error_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="StreamTypeGetName" cname="gst_stream_type_get_name" shared="true" version="1.10">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="stype" type="GstStreamType" />
+        </parameters>
+      </method>
+      <method name="StructureFromString" cname="gst_structure_from_string" shared="true">
+        <return-type type="GstStructure*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="string" type="const-gchar*" />
+          <parameter allow-none="1" name="end" type="const-gchar*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="TocEntryTypeGetNick" cname="gst_toc_entry_type_get_nick" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="type" type="GstTocEntryType" />
+        </parameters>
+      </method>
+      <method name="TypeFindGetType" cname="gst_type_find_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="TypeFindRegister" cname="gst_type_find_register" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="plugin" type="GstPlugin*" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="rank" type="guint" />
+          <parameter closure="6" destroy="7" scope="notified" name="func" type="GstTypeFindFunction" />
+          <parameter allow-none="1" name="extensions" type="const-gchar*" />
+          <parameter name="possible_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter scope="async" name="data_notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstConstants" opaque="true">
+      <constant value="SystemMemory" ctype="gchar*" gtype="gchar*" name="ALLOCATOR_SYSMEM" />
+      <constant value="15" ctype="GstBufferCopyFlags" gtype="GstBufferCopyFlags" name="BUFFER_COPY_ALL" />
+      <constant value="7" ctype="GstBufferCopyFlags" gtype="GstBufferCopyFlags" name="BUFFER_COPY_METADATA" />
+      <constant value="18446744073709551615" ctype="guint64" gtype="guint64" name="BUFFER_OFFSET_NONE" />
+      <constant value="1" ctype="gint" gtype="gint" name="CAN_INLINE" />
+      <constant value="memory:SystemMemory" ctype="gchar*" gtype="gchar*" name="CAPS_FEATURE_MEMORY_SYSTEM_MEMORY" />
+      <constant value="18446744073709551615" ctype="guint64" gtype="GstClockTime" name="CLOCK_TIME_NONE" />
+      <constant value="240" ctype="gint" gtype="gint" name="DEBUG_BG_MASK" />
+      <constant value="15" ctype="gint" gtype="gint" name="DEBUG_FG_MASK" />
+      <constant value="65280" ctype="gint" gtype="gint" name="DEBUG_FORMAT_MASK" />
+      <constant value="Decoder" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_DECODER" />
+      <constant value="Decryptor" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_DECRYPTOR" />
+      <constant value="Demuxer" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_DEMUXER" />
+      <constant value="Depayloader" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_DEPAYLOADER" />
+      <constant value="Encoder" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_ENCODER" />
+      <constant value="Encryptor" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_ENCRYPTOR" />
+      <constant value="Formatter" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_FORMATTER" />
+      <constant value="Audio" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_MEDIA_AUDIO" />
+      <constant value="Image" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_MEDIA_IMAGE" />
+      <constant value="Metadata" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_MEDIA_METADATA" />
+      <constant value="Subtitle" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE" />
+      <constant value="Video" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_MEDIA_VIDEO" />
+      <constant value="Muxer" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_MUXER" />
+      <constant value="Parser" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_PARSER" />
+      <constant value="Payloader" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_PAYLOADER" />
+      <constant value="Sink" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_SINK" />
+      <constant value="Source" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_SRC" />
+      <constant value="562949953421311" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_ANY" />
+      <constant value="3940649673949188" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS" />
+      <constant value="1125899906842626" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_AUDIO_ENCODER" />
+      <constant value="353" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_DECODABLE" />
+      <constant value="1" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_DECODER" />
+      <constant value="1024" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_DECRYPTOR" />
+      <constant value="32" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_DEMUXER" />
+      <constant value="256" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_DEPAYLOADER" />
+      <constant value="2" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_ENCODER" />
+      <constant value="2048" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_ENCRYPTOR" />
+      <constant value="512" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_FORMATTER" />
+      <constant value="281474976710656" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_MAX_ELEMENTS" />
+      <constant value="18446462598732840960" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_MEDIA_ANY" />
+      <constant value="1125899906842624" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_MEDIA_AUDIO" />
+      <constant value="2251799813685248" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_MEDIA_IMAGE" />
+      <constant value="9007199254740992" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_MEDIA_METADATA" />
+      <constant value="4503599627370496" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE" />
+      <constant value="562949953421312" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_MEDIA_VIDEO" />
+      <constant value="16" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_MUXER" />
+      <constant value="64" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_PARSER" />
+      <constant value="128" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_PAYLOADER" />
+      <constant value="4" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_SINK" />
+      <constant value="8" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_SRC" />
+      <constant value="2814749767106562" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_VIDEO_ENCODER" />
+      <constant value="author" ctype="gchar*" gtype="gchar*" name="ELEMENT_METADATA_AUTHOR" />
+      <constant value="description" ctype="gchar*" gtype="gchar*" name="ELEMENT_METADATA_DESCRIPTION" />
+      <constant value="doc-uri" ctype="gchar*" gtype="gchar*" name="ELEMENT_METADATA_DOC_URI" />
+      <constant value="icon-name" ctype="gchar*" gtype="gchar*" name="ELEMENT_METADATA_ICON_NAME" />
+      <constant value="klass" ctype="gchar*" gtype="gchar*" name="ELEMENT_METADATA_KLASS" />
+      <constant value="long-name" ctype="gchar*" gtype="gchar*" name="ELEMENT_METADATA_LONGNAME" />
+      <constant value="system error: %s" ctype="gchar*" gtype="gchar*" name="ERROR_SYSTEM" />
+      <constant value="8" ctype="gint" gtype="gint" name="EVENT_NUM_SHIFT" />
+      <constant value="3" ctype="GstEventTypeFlags" gtype="GstEventTypeFlags" name="EVENT_TYPE_BOTH" />
+      <constant value="4294967295" ctype="guint" gtype="guint" name="FLAG_SET_MASK_EXACT" version="1.6" />
+      <constant value="1000000" ctype="gint64" gtype="gint64" name="FORMAT_PERCENT_MAX" />
+      <constant value="10000" ctype="gint64" gtype="gint64" name="FORMAT_PERCENT_SCALE" />
+      <constant value="c%c%c%c" ctype="gchar*" gtype="gchar*" name="FOURCC_FORMAT" />
+      <constant value="0" ctype="gint" gtype="gint" name="GROUP_ID_INVALID" version="1.14" />
+      <constant value="unknown" ctype="gchar*" gtype="gchar*" name="LICENSE_UNKNOWN" />
+      <constant value="3" ctype="GstLockFlags" gtype="GstLockFlags" name="LOCK_FLAG_READWRITE" />
+      <constant value="3" ctype="GstMapFlags" gtype="GstMapFlags" name="MAP_READWRITE" />
+      <constant value="memory" ctype="gchar*" gtype="gchar*" name="META_TAG_MEMORY_STR" version="1.2" />
+      <constant value="1000000" ctype="gint64" gtype="GstClockTimeDiff" name="MSECOND" />
+      <constant value="1" ctype="GstClockTimeDiff" gtype="GstClockTimeDiff" name="NSECOND" />
+      <constant value="2" ctype="gint" gtype="gint" name="PARAM_CONTROLLABLE" />
+      <constant value="8" ctype="gint" gtype="gint" name="PARAM_MUTABLE_PAUSED" />
+      <constant value="16" ctype="gint" gtype="gint" name="PARAM_MUTABLE_PLAYING" />
+      <constant value="4" ctype="gint" gtype="gint" name="PARAM_MUTABLE_READY" />
+      <constant value="256" ctype="gint" gtype="gint" name="PARAM_USER_SHIFT" />
+      <constant value="protection-system" ctype="gchar*" gtype="gchar*" name="PROTECTION_SYSTEM_ID_CAPS_FIELD" version="1.6" />
+      <constant value="paA" ctype="gchar*" gtype="gchar*" name="PTR_FORMAT" />
+      <constant value="8" ctype="gint" gtype="gint" name="QUERY_NUM_SHIFT" />
+      <constant value="3" ctype="GstQueryTypeFlags" gtype="GstQueryTypeFlags" name="QUERY_TYPE_BOTH" />
+      <constant value="1000000000" ctype="gint64" gtype="GstClockTimeDiff" name="SECOND" />
+      <constant value="paB" ctype="gchar*" gtype="gchar*" name="SEGMENT_FORMAT" />
+      <constant value="0" ctype="gint" gtype="gint" name="SEQNUM_INVALID" version="1.14" />
+      <constant value="c%" ctype="gchar*" gtype="gchar*" name="STIME_FORMAT" version="1.6" />
+      <constant value="album" ctype="gchar*" gtype="gchar*" name="TAG_ALBUM" />
+      <constant value="album-artist" ctype="gchar*" gtype="gchar*" name="TAG_ALBUM_ARTIST" />
+      <constant value="album-artist-sortname" ctype="gchar*" gtype="gchar*" name="TAG_ALBUM_ARTIST_SORTNAME" />
+      <constant value="replaygain-album-gain" ctype="gchar*" gtype="gchar*" name="TAG_ALBUM_GAIN" />
+      <constant value="replaygain-album-peak" ctype="gchar*" gtype="gchar*" name="TAG_ALBUM_PEAK" />
+      <constant value="album-sortname" ctype="gchar*" gtype="gchar*" name="TAG_ALBUM_SORTNAME" />
+      <constant value="album-disc-count" ctype="gchar*" gtype="gchar*" name="TAG_ALBUM_VOLUME_COUNT" />
+      <constant value="album-disc-number" ctype="gchar*" gtype="gchar*" name="TAG_ALBUM_VOLUME_NUMBER" />
+      <constant value="application-data" ctype="gchar*" gtype="gchar*" name="TAG_APPLICATION_DATA" />
+      <constant value="application-name" ctype="gchar*" gtype="gchar*" name="TAG_APPLICATION_NAME" />
+      <constant value="artist" ctype="gchar*" gtype="gchar*" name="TAG_ARTIST" />
+      <constant value="artist-sortname" ctype="gchar*" gtype="gchar*" name="TAG_ARTIST_SORTNAME" />
+      <constant value="attachment" ctype="gchar*" gtype="gchar*" name="TAG_ATTACHMENT" />
+      <constant value="audio-codec" ctype="gchar*" gtype="gchar*" name="TAG_AUDIO_CODEC" />
+      <constant value="beats-per-minute" ctype="gchar*" gtype="gchar*" name="TAG_BEATS_PER_MINUTE" />
+      <constant value="bitrate" ctype="gchar*" gtype="gchar*" name="TAG_BITRATE" />
+      <constant value="codec" ctype="gchar*" gtype="gchar*" name="TAG_CODEC" />
+      <constant value="comment" ctype="gchar*" gtype="gchar*" name="TAG_COMMENT" />
+      <constant value="composer" ctype="gchar*" gtype="gchar*" name="TAG_COMPOSER" />
+      <constant value="composer-sortname" ctype="gchar*" gtype="gchar*" name="TAG_COMPOSER_SORTNAME" />
+      <constant value="conductor" ctype="gchar*" gtype="gchar*" name="TAG_CONDUCTOR" version="1.8" />
+      <constant value="contact" ctype="gchar*" gtype="gchar*" name="TAG_CONTACT" />
+      <constant value="container-format" ctype="gchar*" gtype="gchar*" name="TAG_CONTAINER_FORMAT" />
+      <constant value="copyright" ctype="gchar*" gtype="gchar*" name="TAG_COPYRIGHT" />
+      <constant value="copyright-uri" ctype="gchar*" gtype="gchar*" name="TAG_COPYRIGHT_URI" />
+      <constant value="date" ctype="gchar*" gtype="gchar*" name="TAG_DATE" />
+      <constant value="datetime" ctype="gchar*" gtype="gchar*" name="TAG_DATE_TIME" />
+      <constant value="description" ctype="gchar*" gtype="gchar*" name="TAG_DESCRIPTION" />
+      <constant value="device-manufacturer" ctype="gchar*" gtype="gchar*" name="TAG_DEVICE_MANUFACTURER" />
+      <constant value="device-model" ctype="gchar*" gtype="gchar*" name="TAG_DEVICE_MODEL" />
+      <constant value="duration" ctype="gchar*" gtype="gchar*" name="TAG_DURATION" />
+      <constant value="encoded-by" ctype="gchar*" gtype="gchar*" name="TAG_ENCODED_BY" />
+      <constant value="encoder" ctype="gchar*" gtype="gchar*" name="TAG_ENCODER" />
+      <constant value="encoder-version" ctype="gchar*" gtype="gchar*" name="TAG_ENCODER_VERSION" />
+      <constant value="extended-comment" ctype="gchar*" gtype="gchar*" name="TAG_EXTENDED_COMMENT" />
+      <constant value="genre" ctype="gchar*" gtype="gchar*" name="TAG_GENRE" />
+      <constant value="geo-location-capture-direction" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_CAPTURE_DIRECTION" />
+      <constant value="geo-location-city" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_CITY" />
+      <constant value="geo-location-country" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_COUNTRY" />
+      <constant value="geo-location-elevation" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_ELEVATION" />
+      <constant value="geo-location-horizontal-error" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_HORIZONTAL_ERROR" />
+      <constant value="geo-location-latitude" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_LATITUDE" />
+      <constant value="geo-location-longitude" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_LONGITUDE" />
+      <constant value="geo-location-movement-direction" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_MOVEMENT_DIRECTION" />
+      <constant value="geo-location-movement-speed" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_MOVEMENT_SPEED" />
+      <constant value="geo-location-name" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_NAME" />
+      <constant value="geo-location-sublocation" ctype="gchar*" gtype="gchar*" name="TAG_GEO_LOCATION_SUBLOCATION" />
+      <constant value="grouping" ctype="gchar*" gtype="gchar*" name="TAG_GROUPING" />
+      <constant value="homepage" ctype="gchar*" gtype="gchar*" name="TAG_HOMEPAGE" />
+      <constant value="image" ctype="gchar*" gtype="gchar*" name="TAG_IMAGE" />
+      <constant value="image-orientation" ctype="gchar*" gtype="gchar*" name="TAG_IMAGE_ORIENTATION" />
+      <constant value="interpreted-by" ctype="gchar*" gtype="gchar*" name="TAG_INTERPRETED_BY" version="1.2" />
+      <constant value="isrc" ctype="gchar*" gtype="gchar*" name="TAG_ISRC" />
+      <constant value="keywords" ctype="gchar*" gtype="gchar*" name="TAG_KEYWORDS" />
+      <constant value="language-code" ctype="gchar*" gtype="gchar*" name="TAG_LANGUAGE_CODE" />
+      <constant value="language-name" ctype="gchar*" gtype="gchar*" name="TAG_LANGUAGE_NAME" />
+      <constant value="license" ctype="gchar*" gtype="gchar*" name="TAG_LICENSE" />
+      <constant value="license-uri" ctype="gchar*" gtype="gchar*" name="TAG_LICENSE_URI" />
+      <constant value="location" ctype="gchar*" gtype="gchar*" name="TAG_LOCATION" />
+      <constant value="lyrics" ctype="gchar*" gtype="gchar*" name="TAG_LYRICS" />
+      <constant value="maximum-bitrate" ctype="gchar*" gtype="gchar*" name="TAG_MAXIMUM_BITRATE" />
+      <constant value="midi-base-note" ctype="gchar*" gtype="gchar*" name="TAG_MIDI_BASE_NOTE" version="1.4" />
+      <constant value="minimum-bitrate" ctype="gchar*" gtype="gchar*" name="TAG_MINIMUM_BITRATE" />
+      <constant value="nominal-bitrate" ctype="gchar*" gtype="gchar*" name="TAG_NOMINAL_BITRATE" />
+      <constant value="organization" ctype="gchar*" gtype="gchar*" name="TAG_ORGANIZATION" />
+      <constant value="performer" ctype="gchar*" gtype="gchar*" name="TAG_PERFORMER" />
+      <constant value="preview-image" ctype="gchar*" gtype="gchar*" name="TAG_PREVIEW_IMAGE" />
+      <constant value="private-data" ctype="gchar*" gtype="gchar*" name="TAG_PRIVATE_DATA" version="1.8" />
+      <constant value="publisher" ctype="gchar*" gtype="gchar*" name="TAG_PUBLISHER" version="1.2" />
+      <constant value="replaygain-reference-level" ctype="gchar*" gtype="gchar*" name="TAG_REFERENCE_LEVEL" />
+      <constant value="serial" ctype="gchar*" gtype="gchar*" name="TAG_SERIAL" />
+      <constant value="show-episode-number" ctype="gchar*" gtype="gchar*" name="TAG_SHOW_EPISODE_NUMBER" />
+      <constant value="show-name" ctype="gchar*" gtype="gchar*" name="TAG_SHOW_NAME" />
+      <constant value="show-season-number" ctype="gchar*" gtype="gchar*" name="TAG_SHOW_SEASON_NUMBER" />
+      <constant value="show-sortname" ctype="gchar*" gtype="gchar*" name="TAG_SHOW_SORTNAME" />
+      <constant value="subtitle-codec" ctype="gchar*" gtype="gchar*" name="TAG_SUBTITLE_CODEC" />
+      <constant value="title" ctype="gchar*" gtype="gchar*" name="TAG_TITLE" />
+      <constant value="title-sortname" ctype="gchar*" gtype="gchar*" name="TAG_TITLE_SORTNAME" />
+      <constant value="track-count" ctype="gchar*" gtype="gchar*" name="TAG_TRACK_COUNT" />
+      <constant value="replaygain-track-gain" ctype="gchar*" gtype="gchar*" name="TAG_TRACK_GAIN" />
+      <constant value="track-number" ctype="gchar*" gtype="gchar*" name="TAG_TRACK_NUMBER" />
+      <constant value="replaygain-track-peak" ctype="gchar*" gtype="gchar*" name="TAG_TRACK_PEAK" />
+      <constant value="user-rating" ctype="gchar*" gtype="gchar*" name="TAG_USER_RATING" />
+      <constant value="version" ctype="gchar*" gtype="gchar*" name="TAG_VERSION" />
+      <constant value="video-codec" ctype="gchar*" gtype="gchar*" name="TAG_VIDEO_CODEC" />
+      <constant value="u:%02u:%02u.%09u" ctype="gchar*" gtype="gchar*" name="TIME_FORMAT" />
+      <constant value="-1" ctype="gint" gtype="gint" name="TOC_REPEAT_COUNT_INFINITE" version="1.4" />
+      <constant value="0" ctype="gint" gtype="gint" name="URI_NO_PORT" />
+      <constant value="1000" ctype="GstClockTimeDiff" gtype="GstClockTimeDiff" name="USECOND" />
+      <constant value="0" ctype="gint" gtype="gint" name="VALUE_EQUAL" />
+      <constant value="1" ctype="gint" gtype="gint" name="VALUE_GREATER_THAN" />
+      <constant value="-1" ctype="gint" gtype="gint" name="VALUE_LESS_THAN" />
+      <constant value="2" ctype="gint" gtype="gint" name="VALUE_UNORDERED" />
+      <constant value="1" ctype="gint" gtype="gint" name="VERSION_MAJOR" />
+      <constant value="0" ctype="gint" gtype="gint" name="VERSION_MICRO" />
+      <constant value="13" ctype="gint" gtype="gint" name="VERSION_MINOR" />
+      <constant value="1" ctype="gint" gtype="gint" name="VERSION_NANO" />
+    </object>
+    <class name="Parse" cname="GstParse" disable_void_ctor="1">
+      <method name="ParseBinFromDescription" cname="gst_parse_bin_from_description" shared="true">
+        <return-type type="GstBin*" />
+        <parameters throws="1">
+          <parameter name="bin_description" type="const-gchar*" />
+          <parameter name="ghost_unlinked_pads" type="gboolean" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="ParseBinFromDescriptionFull" cname="gst_parse_bin_from_description_full" shared="true">
+        <return-type type="GstElement*" />
+        <parameters throws="1">
+          <parameter name="bin_description" type="const-gchar*" />
+          <parameter name="ghost_unlinked_pads" type="gboolean" />
+          <parameter allow-none="1" name="context" type="GstParseContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstParseFlags" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="ParseErrorQuark" cname="gst_parse_error_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="ParseLaunch" cname="gst_parse_launch" shared="true">
+        <return-type type="GstElement*" />
+        <parameters throws="1">
+          <parameter name="pipeline_description" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="ParseLaunchFull" cname="gst_parse_launch_full" shared="true">
+        <return-type type="GstElement*" />
+        <parameters throws="1">
+          <parameter name="pipeline_description" type="const-gchar*" />
+          <parameter allow-none="1" name="context" type="GstParseContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstParseFlags" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="ParseLaunchv" cname="gst_parse_launchv" shared="true">
+        <return-type type="GstElement*" />
+        <parameters throws="1">
+          <parameter name="argv" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="ParseLaunchvFull" cname="gst_parse_launchv_full" shared="true">
+        <return-type type="GstElement*" />
+        <parameters throws="1">
+          <parameter name="argv" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter allow-none="1" name="context" type="GstParseContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstParseFlags" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+    </class>
+    <class name="Debug" cname="GstDebug" disable_void_ctor="1">
+      <method name="DebugAddLogFunction" cname="gst_debug_add_log_function" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="func" type="GstLogFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="DebugAddRingBufferLogger" cname="gst_debug_add_ring_buffer_logger" shared="true" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="max_size_per_thread" type="guint" />
+          <parameter name="thread_timeout" type="guint" />
+        </parameters>
+      </method>
+      <method name="DebugBinToDotData" cname="gst_debug_bin_to_dot_data" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="bin" type="GstBin*" />
+          <parameter name="details" type="GstDebugGraphDetails" />
+        </parameters>
+      </method>
+      <method name="DebugBinToDotFile" cname="gst_debug_bin_to_dot_file" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bin" type="GstBin*" />
+          <parameter name="details" type="GstDebugGraphDetails" />
+          <parameter name="file_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="DebugBinToDotFileWithTs" cname="gst_debug_bin_to_dot_file_with_ts" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bin" type="GstBin*" />
+          <parameter name="details" type="GstDebugGraphDetails" />
+          <parameter name="file_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="DebugConstructTermColor" cname="gst_debug_construct_term_color" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="colorinfo" type="guint" />
+        </parameters>
+      </method>
+      <method name="DebugConstructWinColor" cname="gst_debug_construct_win_color" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="colorinfo" type="guint" />
+        </parameters>
+      </method>
+      <method name="DebugGetAllCategories" cname="gst_debug_get_all_categories" shared="true">
+        <return-type type="GSList*" element_type="GSList*" elements_owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="DebugGetColorMode" cname="gst_debug_get_color_mode" shared="true" version="1.2">
+        <return-type type="GstDebugColorMode" />
+      </method>
+      <method name="DebugGetDefaultThreshold" cname="gst_debug_get_default_threshold" shared="true">
+        <return-type type="GstDebugLevel" />
+      </method>
+      <method name="DebugGetStackTrace" cname="gst_debug_get_stack_trace" shared="true" version="1.12">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="flags" type="GstStackTraceFlags" />
+        </parameters>
+      </method>
+      <method name="DebugIsActive" cname="gst_debug_is_active" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="DebugIsColored" cname="gst_debug_is_colored" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="DebugLevelGetName" cname="gst_debug_level_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="level" type="GstDebugLevel" />
+        </parameters>
+      </method>
+      <method name="DebugLogDefault" cname="gst_debug_log_default" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="category" type="GstDebugCategory*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="level" type="GstDebugLevel" />
+          <parameter name="file" type="const-gchar*" />
+          <parameter name="function" type="const-gchar*" />
+          <parameter name="line" type="gint" />
+          <parameter allow-none="1" name="_object" type="GObject*" />
+          <parameter name="message" type="GstDebugMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="DebugPrintStackTrace" cname="gst_debug_print_stack_trace" shared="true">
+        <return-type type="void" />
+      </method>
+      <method name="DebugRemoveLogFunction" cname="gst_debug_remove_log_function" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter scope="call" allow-none="1" name="func" type="GstLogFunction" />
+        </parameters>
+      </method>
+      <method name="DebugRemoveLogFunctionByData" cname="gst_debug_remove_log_function_by_data" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter allow-none="1" name="data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="DebugRemoveRingBufferLogger" cname="gst_debug_remove_ring_buffer_logger" shared="true" version="1.14">
+        <return-type type="void" />
+      </method>
+      <method name="DebugRingBufferLoggerGetLogs" cname="gst_debug_ring_buffer_logger_get_logs" shared="true" version="1.14">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+      </method>
+      <method name="DebugSetActive" cname="gst_debug_set_active" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="DebugSetColorMode" cname="gst_debug_set_color_mode" shared="true" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstDebugColorMode" />
+        </parameters>
+      </method>
+      <method name="DebugSetColorModeFromString" cname="gst_debug_set_color_mode_from_string" shared="true" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="DebugSetColored" cname="gst_debug_set_colored" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="colored" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="DebugSetDefaultThreshold" cname="gst_debug_set_default_threshold" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="level" type="GstDebugLevel" />
+        </parameters>
+      </method>
+      <method name="DebugSetThresholdForName" cname="gst_debug_set_threshold_for_name" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="level" type="GstDebugLevel" />
+        </parameters>
+      </method>
+      <method name="DebugSetThresholdFromString" cname="gst_debug_set_threshold_from_string" shared="true" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="list" type="const-gchar*" />
+          <parameter name="reset" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="DebugUnsetThresholdForName" cname="gst_debug_unset_threshold_for_name" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+    </class>
+    <class name="Application" cname="GstApplication" disable_void_ctor="1">
+      <method name="Init" cname="gst_init" shared="true" hidden="true">
+        <return-type type="void" array_index="1" />
+        <parameters>
+          <parameter allow-none="1" name="argc" type="gint*" owned="true" pass_as="ref" array_index="1" />
+          <parameter allow-none="1" name="argv" type="char***" owned="true" pass_as="ref" array="true" array_length_param_index="0" />
+        </parameters>
+      </method>
+      <method name="InitCheck" cname="gst_init_check" shared="true" hidden="true">
+        <return-type type="gboolean" array_index="1" />
+        <parameters throws="1">
+          <parameter allow-none="1" name="argc" type="gint*" owned="true" pass_as="ref" array_index="1" />
+          <parameter allow-none="1" name="argv" type="char***" owned="true" pass_as="ref" array="true" array_length_param_index="0" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="Version" cname="gst_version" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="major" type="guint*" owned="true" pass_as="out" />
+          <parameter name="minor" type="guint*" owned="true" pass_as="out" />
+          <parameter name="micro" type="guint*" owned="true" pass_as="out" />
+          <parameter name="nano" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="VersionString" cname="gst_version_string" shared="true">
+        <return-type type="gchar*" owned="true" />
+      </method>
+    </class>
+    <class name="Value" cname="GstValue" disable_void_ctor="1">
+      <method name="ValueCanCompare" cname="gst_value_can_compare" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueCanIntersect" cname="gst_value_can_intersect" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueCanSubtract" cname="gst_value_can_subtract" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="minuend" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="subtrahend" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueCanUnion" cname="gst_value_can_union" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueCompare" cname="gst_value_compare" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueDeserialize" cname="gst_value_deserialize" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="src" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ValueFixate" cname="gst_value_fixate" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="src" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueFractionMultiply" cname="gst_value_fraction_multiply" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="product" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="factor1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="factor2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueFractionSubtract" cname="gst_value_fraction_subtract" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="minuend" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="subtrahend" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetBitmask" cname="gst_value_get_bitmask" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetCaps" cname="gst_value_get_caps" shared="true">
+        <return-type type="GstCaps*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetCapsFeatures" cname="gst_value_get_caps_features" shared="true">
+        <return-type type="GstCapsFeatures*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetDoubleRangeMax" cname="gst_value_get_double_range_max" shared="true">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetDoubleRangeMin" cname="gst_value_get_double_range_min" shared="true">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetFlagsetFlags" cname="gst_value_get_flagset_flags" shared="true" version="1.6">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetFlagsetMask" cname="gst_value_get_flagset_mask" shared="true" version="1.6">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetFractionDenominator" cname="gst_value_get_fraction_denominator" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetFractionNumerator" cname="gst_value_get_fraction_numerator" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetFractionRangeMax" cname="gst_value_get_fraction_range_max" shared="true">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetFractionRangeMin" cname="gst_value_get_fraction_range_min" shared="true">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetInt64RangeMax" cname="gst_value_get_int64_range_max" shared="true">
+        <return-type type="gint64" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetInt64RangeMin" cname="gst_value_get_int64_range_min" shared="true">
+        <return-type type="gint64" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetInt64RangeStep" cname="gst_value_get_int64_range_step" shared="true">
+        <return-type type="gint64" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetIntRangeMax" cname="gst_value_get_int_range_max" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetIntRangeMin" cname="gst_value_get_int_range_min" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetIntRangeStep" cname="gst_value_get_int_range_step" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueGetStructure" cname="gst_value_get_structure" shared="true">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueInitAndCopy" cname="gst_value_init_and_copy" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="src" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueIntersect" cname="gst_value_intersect" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="dest" type="GValue*" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueIsFixed" cname="gst_value_is_fixed" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueIsSubset" cname="gst_value_is_subset" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueRegister" cname="gst_value_register" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="table" type="GstValueTable*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueSerialize" cname="gst_value_serialize" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueSetBitmask" cname="gst_value_set_bitmask" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="bitmask" type="guint64" />
+        </parameters>
+      </method>
+      <method name="ValueSetCaps" cname="gst_value_set_caps" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueSetCapsFeatures" cname="gst_value_set_caps_features" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="features" type="GstCapsFeatures*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueSetDoubleRange" cname="gst_value_set_double_range" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start" type="gdouble" />
+          <parameter name="end" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="ValueSetFlagset" cname="gst_value_set_flagset" shared="true" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="guint" />
+          <parameter name="mask" type="guint" />
+        </parameters>
+      </method>
+      <method name="ValueSetFraction" cname="gst_value_set_fraction" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="numerator" type="gint" />
+          <parameter name="denominator" type="gint" />
+        </parameters>
+      </method>
+      <method name="ValueSetFractionRange" cname="gst_value_set_fraction_range" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="end" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueSetFractionRangeFull" cname="gst_value_set_fraction_range_full" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="numerator_start" type="gint" />
+          <parameter name="denominator_start" type="gint" />
+          <parameter name="numerator_end" type="gint" />
+          <parameter name="denominator_end" type="gint" />
+        </parameters>
+      </method>
+      <method name="ValueSetInt64Range" cname="gst_value_set_int64_range" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start" type="gint64" />
+          <parameter name="end" type="gint64" />
+        </parameters>
+      </method>
+      <method name="ValueSetInt64RangeStep" cname="gst_value_set_int64_range_step" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start" type="gint64" />
+          <parameter name="end" type="gint64" />
+          <parameter name="step" type="gint64" />
+        </parameters>
+      </method>
+      <method name="ValueSetIntRange" cname="gst_value_set_int_range" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start" type="gint" />
+          <parameter name="end" type="gint" />
+        </parameters>
+      </method>
+      <method name="ValueSetIntRangeStep" cname="gst_value_set_int_range_step" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start" type="gint" />
+          <parameter name="end" type="gint" />
+          <parameter name="step" type="gint" />
+        </parameters>
+      </method>
+      <method name="ValueSetStructure" cname="gst_value_set_structure" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueSubtract" cname="gst_value_subtract" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="dest" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="minuend" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="subtrahend" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValueUnion" cname="gst_value_union" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value1" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value2" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </class>
+    <class name="Tag" cname="GstTag" disable_void_ctor="1">
+      <method name="TagExists" cname="gst_tag_exists" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetDescription" cname="gst_tag_get_description" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetFlag" cname="gst_tag_get_flag" shared="true">
+        <return-type type="GstTagFlag" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetNick" cname="gst_tag_get_nick" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetType" cname="gst_tag_get_type" shared="true">
+        <return-type type="GType" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagIsFixed" cname="gst_tag_is_fixed" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagListCopyValue" cname="gst_tag_list_copy_value" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="ref">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagMergeStringsWithComma" cname="gst_tag_merge_strings_with_comma" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="src" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="TagMergeUseFirst" cname="gst_tag_merge_use_first" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dest" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="src" type="GValue*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="TagRegister" cname="gst_tag_register" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="flag" type="GstTagFlag" />
+          <parameter name="type" type="GType" />
+          <parameter name="nick" type="const-gchar*" />
+          <parameter name="blurb" type="const-gchar*" />
+          <parameter scope="call" allow-none="1" name="func" type="GstTagMergeFunc" />
+        </parameters>
+      </method>
+      <method name="TagRegisterStatic" cname="gst_tag_register_static" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="flag" type="GstTagFlag" />
+          <parameter name="type" type="GType" />
+          <parameter name="nick" type="const-gchar*" />
+          <parameter name="blurb" type="const-gchar*" />
+          <parameter scope="call" allow-none="1" name="func" type="GstTagMergeFunc" />
+        </parameters>
+      </method>
+      <method name="TagCheckLanguageCode" cname="gst_tag_check_language_code" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="lang_code" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagFreeformStringToUtf8" cname="gst_tag_freeform_string_to_utf8" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="data" type="const-gchar*" />
+          <parameter name="size" type="gint" />
+          <parameter name="env_vars" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagFromId3Tag" cname="gst_tag_from_id3_tag" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="id3_tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagFromId3UserTag" cname="gst_tag_from_id3_user_tag" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="type" type="const-gchar*" />
+          <parameter name="id3_user_tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagFromVorbisTag" cname="gst_tag_from_vorbis_tag" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="vorbis_tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetId3v2TagSize" cname="gst_tag_get_id3v2_tag_size" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="TagGetLanguageCodeIso6391" cname="gst_tag_get_language_code_iso_639_1" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="lang_code" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLanguageCodeIso6392B" cname="gst_tag_get_language_code_iso_639_2B" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="lang_code" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLanguageCodeIso6392T" cname="gst_tag_get_language_code_iso_639_2T" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="lang_code" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLanguageCodes" cname="gst_tag_get_language_codes" shared="true">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+      </method>
+      <method name="TagGetLanguageName" cname="gst_tag_get_language_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="language_code" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLicenseDescription" cname="gst_tag_get_license_description" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="license_ref" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLicenseFlags" cname="gst_tag_get_license_flags" shared="true">
+        <return-type type="GstTagLicenseFlags" />
+        <parameters>
+          <parameter name="license_ref" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLicenseJurisdiction" cname="gst_tag_get_license_jurisdiction" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="license_ref" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLicenseNick" cname="gst_tag_get_license_nick" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="license_ref" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLicenseTitle" cname="gst_tag_get_license_title" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="license_ref" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLicenseVersion" cname="gst_tag_get_license_version" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="license_ref" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagGetLicenses" cname="gst_tag_get_licenses" shared="true">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+      </method>
+      <method name="TagId3GenreCount" cname="gst_tag_id3_genre_count" shared="true">
+        <return-type type="guint" />
+      </method>
+      <method name="TagId3GenreGet" cname="gst_tag_id3_genre_get" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="id" type="guint" />
+        </parameters>
+      </method>
+      <method name="TagImageDataToImageSample" cname="gst_tag_image_data_to_image_sample" shared="true">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="image_data" type="guint8" />
+          <parameter name="image_data_len" type="guint" />
+          <parameter name="image_type" type="GstTagImageType" />
+        </parameters>
+      </method>
+      <method name="TagListAddId3Image" cname="gst_tag_list_add_id3_image" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="tag_list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="image_data" type="guint8" />
+          <parameter name="image_data_len" type="guint" />
+          <parameter name="id3_picture_type" type="guint" />
+        </parameters>
+      </method>
+      <method name="TagListFromExifBuffer" cname="gst_tag_list_from_exif_buffer" shared="true">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="byte_order" type="gint" />
+          <parameter name="base_offset" type="guint32" />
+        </parameters>
+      </method>
+      <method name="TagListFromExifBufferWithTiffHeader" cname="gst_tag_list_from_exif_buffer_with_tiff_header" shared="true">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="TagListFromId3v2Tag" cname="gst_tag_list_from_id3v2_tag" shared="true">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="TagListFromVorbiscomment" cname="gst_tag_list_from_vorbiscomment" shared="true">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8" />
+          <parameter name="size" type="gsize" />
+          <parameter name="id_data" type="guint8" />
+          <parameter name="id_data_length" type="guint" />
+          <parameter name="vendor_string" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagListFromVorbiscommentBuffer" cname="gst_tag_list_from_vorbiscomment_buffer" shared="true">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="id_data" type="guint8" />
+          <parameter name="id_data_length" type="guint" />
+          <parameter name="vendor_string" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagListFromXmpBuffer" cname="gst_tag_list_from_xmp_buffer" shared="true">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="TagListNewFromId3v1" cname="gst_tag_list_new_from_id3v1" shared="true">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8" />
+        </parameters>
+      </method>
+      <method name="TagListToExifBuffer" cname="gst_tag_list_to_exif_buffer" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="taglist" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="byte_order" type="gint" />
+          <parameter name="base_offset" type="guint32" />
+        </parameters>
+      </method>
+      <method name="TagListToExifBufferWithTiffHeader" cname="gst_tag_list_to_exif_buffer_with_tiff_header" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="taglist" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="TagListToVorbiscommentBuffer" cname="gst_tag_list_to_vorbiscomment_buffer" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="id_data" type="guint8" />
+          <parameter name="id_data_length" type="guint" />
+          <parameter name="vendor_string" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagListToXmpBuffer" cname="gst_tag_list_to_xmp_buffer" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="read_only" type="gboolean" />
+          <parameter name="schemas" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagParseExtendedComment" cname="gst_tag_parse_extended_comment" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ext_comment" type="const-gchar*" />
+          <parameter name="key" type="const-gchar*" />
+          <parameter name="lang" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+          <parameter name="fail_if_no_key" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="TagRegisterMusicbrainzTags" cname="gst_tag_register_musicbrainz_tags" shared="true">
+        <return-type type="void" />
+      </method>
+      <method name="TagToId3Tag" cname="gst_tag_to_id3_tag" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="gst_tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagToVorbisComments" cname="gst_tag_to_vorbis_comments" shared="true">
+        <return-type type="GList*" element_type="gchar*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagToVorbisTag" cname="gst_tag_to_vorbis_tag" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="gst_tag" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagXmpListSchemas" cname="gst_tag_xmp_list_schemas" shared="true">
+        <return-type type="const gchar**" array="true" null_term_array="true" />
+      </method>
+    </class>
+    <class name="Util" cname="GstUtil" disable_void_ctor="1">
+      <method name="FilenameToUri" cname="gst_filename_to_uri" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters throws="1">
+          <parameter name="filename" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="FormatGetByNick" cname="gst_format_get_by_nick" shared="true">
+        <return-type type="GstFormat" />
+        <parameters>
+          <parameter name="nick" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="FormatGetDetails" cname="gst_format_get_details" shared="true">
+        <return-type type="GstFormatDefinition*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </method>
+      <method name="FormatGetName" cname="gst_format_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </method>
+      <method name="FormatIterateDefinitions" cname="gst_format_iterate_definitions" shared="true">
+        <return-type type="GstIterator*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="FormatRegister" cname="gst_format_register" shared="true">
+        <return-type type="GstFormat" />
+        <parameters>
+          <parameter name="nick" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="FormatToQuark" cname="gst_format_to_quark" shared="true">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </method>
+      <method name="FormatsContains" cname="gst_formats_contains" shared="true" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="formats" type="GstFormat*" array="true" null_term_array="true" />
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </method>
+      <method name="UriConstruct" cname="gst_uri_construct" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="protocol" type="const-gchar*" />
+          <parameter name="location" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UriErrorQuark" cname="gst_uri_error_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="UriFromString" cname="gst_uri_from_string" shared="true" version="1.6">
+        <return-type type="GstUri*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UriGetLocation" cname="gst_uri_get_location" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UriGetProtocol" cname="gst_uri_get_protocol" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UriHasProtocol" cname="gst_uri_has_protocol" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UriIsValid" cname="gst_uri_is_valid" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UriJoinStrings" cname="gst_uri_join_strings" shared="true" version="1.6">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="base_uri" type="const-gchar*" />
+          <parameter name="ref_uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UriProtocolIsSupported" cname="gst_uri_protocol_is_supported" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GstURIType" />
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UriProtocolIsValid" cname="gst_uri_protocol_is_valid" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UtilArrayBinarySearch" cname="gst_util_array_binary_search" shared="true">
+        <return-type type="gpointer" />
+        <parameters>
+          <parameter allow-none="1" name="array" type="gpointer" />
+          <parameter name="num_elements" type="guint" />
+          <parameter name="element_size" type="gsize" />
+          <parameter closure="6" scope="call" name="search_func" type="GCompareDataFunc" />
+          <parameter name="mode" type="GstSearchMode" />
+          <parameter allow-none="1" name="search_data" type="gpointer" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="UtilDoubleToFraction" cname="gst_util_double_to_fraction" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="src" type="gdouble" />
+          <parameter name="dest_n" type="gint*" owned="true" pass_as="out" />
+          <parameter name="dest_d" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="UtilDumpBuffer" cname="gst_util_dump_buffer" shared="true" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="UtilDumpMem" cname="gst_util_dump_mem" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mem" type="guint8" />
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="UtilFractionAdd" cname="gst_util_fraction_add" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="a_n" type="gint" />
+          <parameter name="a_d" type="gint" />
+          <parameter name="b_n" type="gint" />
+          <parameter name="b_d" type="gint" />
+          <parameter name="res_n" type="gint*" owned="true" pass_as="out" />
+          <parameter name="res_d" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="UtilFractionCompare" cname="gst_util_fraction_compare" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="a_n" type="gint" />
+          <parameter name="a_d" type="gint" />
+          <parameter name="b_n" type="gint" />
+          <parameter name="b_d" type="gint" />
+        </parameters>
+      </method>
+      <method name="UtilFractionMultiply" cname="gst_util_fraction_multiply" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="a_n" type="gint" />
+          <parameter name="a_d" type="gint" />
+          <parameter name="b_n" type="gint" />
+          <parameter name="b_d" type="gint" />
+          <parameter name="res_n" type="gint*" owned="true" pass_as="out" />
+          <parameter name="res_d" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="UtilFractionToDouble" cname="gst_util_fraction_to_double" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="src_n" type="gint" />
+          <parameter name="src_d" type="gint" />
+          <parameter name="dest" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="UtilGdoubleToGuint64" cname="gst_util_gdouble_to_guint64" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="value" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="UtilGetObjectArray" cname="gst_util_get_object_array" shared="true" version="1.12">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="_object" type="GObject*" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="array" type="GValueArray**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="UtilGetTimestamp" cname="gst_util_get_timestamp" shared="true">
+        <return-type type="guint64" />
+      </method>
+      <method name="UtilGreatestCommonDivisor" cname="gst_util_greatest_common_divisor" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="a" type="gint" />
+          <parameter name="b" type="gint" />
+        </parameters>
+      </method>
+      <method name="UtilGreatestCommonDivisorInt64" cname="gst_util_greatest_common_divisor_int64" shared="true">
+        <return-type type="gint64" />
+        <parameters>
+          <parameter name="a" type="gint64" />
+          <parameter name="b" type="gint64" />
+        </parameters>
+      </method>
+      <method name="UtilGroupIdNext" cname="gst_util_group_id_next" shared="true">
+        <return-type type="guint" />
+      </method>
+      <method name="UtilGuint64ToGdouble" cname="gst_util_guint64_to_gdouble" shared="true">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="value" type="guint64" />
+        </parameters>
+      </method>
+      <method name="UtilSeqnumCompare" cname="gst_util_seqnum_compare" shared="true">
+        <return-type type="gint32" />
+        <parameters>
+          <parameter name="s1" type="guint32" />
+          <parameter name="s2" type="guint32" />
+        </parameters>
+      </method>
+      <method name="UtilSeqnumNext" cname="gst_util_seqnum_next" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="UtilSetObjectArg" cname="gst_util_set_object_arg" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GObject*" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UtilSetObjectArray" cname="gst_util_set_object_array" shared="true" version="1.12">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="_object" type="GObject*" />
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="array" type="GValueArray*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="UtilSetValueFromString" cname="gst_util_set_value_from_string" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="GValue*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="value_str" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="UtilUint64Scale" cname="gst_util_uint64_scale" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="val" type="guint64" />
+          <parameter name="num" type="guint64" />
+          <parameter name="denom" type="guint64" />
+        </parameters>
+      </method>
+      <method name="UtilUint64ScaleCeil" cname="gst_util_uint64_scale_ceil" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="val" type="guint64" />
+          <parameter name="num" type="guint64" />
+          <parameter name="denom" type="guint64" />
+        </parameters>
+      </method>
+      <method name="UtilUint64ScaleInt" cname="gst_util_uint64_scale_int" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="val" type="guint64" />
+          <parameter name="num" type="gint" />
+          <parameter name="denom" type="gint" />
+        </parameters>
+      </method>
+      <method name="UtilUint64ScaleIntCeil" cname="gst_util_uint64_scale_int_ceil" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="val" type="guint64" />
+          <parameter name="num" type="gint" />
+          <parameter name="denom" type="gint" />
+        </parameters>
+      </method>
+      <method name="UtilUint64ScaleIntRound" cname="gst_util_uint64_scale_int_round" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="val" type="guint64" />
+          <parameter name="num" type="gint" />
+          <parameter name="denom" type="gint" />
+        </parameters>
+      </method>
+      <method name="UtilUint64ScaleRound" cname="gst_util_uint64_scale_round" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="val" type="guint64" />
+          <parameter name="num" type="guint64" />
+          <parameter name="denom" type="guint64" />
+        </parameters>
+      </method>
+    </class>
+  </namespace>
+  <namespace name="Gst.App" library="libgstapp-1.0-0.dll">
+    <enum name="AppStreamType" cname="GstAppStreamType" type="enum" gtype="gst_app_stream_type_get_type">
+      <member cname="GST_APP_STREAM_TYPE_STREAM" name="Stream" value="0" />
+      <member cname="GST_APP_STREAM_TYPE_SEEKABLE" name="Seekable" value="1" />
+      <member cname="GST_APP_STREAM_TYPE_RANDOM_ACCESS" name="RandomAccess" value="2" />
+    </enum>
+    <object name="AppSink" cname="GstAppSink" opaque="false" hidden="false" parent="GstBaseSink">
+      <implements>
+        <interface cname="GstURIHandler" />
+      </implements>
+      <class_struct cname="GstAppSinkClass">
+        <field cname="basesink_class" access="public" writeable="false" readable="true" is_callback="false" name="BasesinkClass" type="GstBaseSinkClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="eos" />
+        <method signal_vm="new_preroll" />
+        <method signal_vm="new_sample" />
+        <method signal_vm="pull_preroll" />
+        <method signal_vm="pull_sample" />
+        <method signal_vm="try_pull_preroll" />
+        <method signal_vm="try_pull_sample" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="2" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_app_sink_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetBufferListSupport" cname="gst_app_sink_get_buffer_list_support" version="1.12">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetCaps" cname="gst_app_sink_get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetDrop" cname="gst_app_sink_get_drop">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetEmitSignals" cname="gst_app_sink_get_emit_signals">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetMaxBuffers" cname="gst_app_sink_get_max_buffers">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetWaitOnEos" cname="gst_app_sink_get_wait_on_eos">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEos" cname="gst_app_sink_is_eos">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="PullPreroll" cname="gst_app_sink_pull_preroll">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="PullSample" cname="gst_app_sink_pull_sample">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="SetBufferListSupport" cname="gst_app_sink_set_buffer_list_support" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enable_lists" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetCaps" cname="gst_app_sink_set_caps">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetDrop" cname="gst_app_sink_set_drop">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="drop" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetEmitSignals" cname="gst_app_sink_set_emit_signals">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="emit" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetMaxBuffers" cname="gst_app_sink_set_max_buffers">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="max" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetWaitOnEos" cname="gst_app_sink_set_wait_on_eos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="wait" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="TryPullPreroll" cname="gst_app_sink_try_pull_preroll" version="1.10">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <method name="TryPullSample" cname="gst_app_sink_try_pull_sample" version="1.10">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </method>
+      <property name="BufferList" cname="buffer-list" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Caps" cname="caps" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Drop" cname="drop" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="EmitSignals" cname="emit-signals" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="EosProp&#xA;                                             " cname="eos" type="gboolean" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="MaxBuffers" cname="max-buffers" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="WaitOnEos" cname="wait-on-eos" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="basesink" access="public" writeable="false" readable="true" is_callback="false" name="Basesink" type="GstBaseSink*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAppSinkPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="Eos" cname="eos" when="last" field_name="eos">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+      <signal name="NewPreroll" cname="new-preroll" when="last" field_name="new_preroll">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </signal>
+      <signal name="NewSample" cname="new-sample" when="last" field_name="new_sample">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </signal>
+      <signal name="PullPrerollEvent" cname="pull-preroll" when="last" field_name="pull_preroll" hidden="true">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="PullSampleEvent" cname="pull-sample" when="last" field_name="pull_sample" hidden="true">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="TryPullPrerollEvent" cname="try-pull-preroll" when="last" field_name="try_pull_preroll" version="1.10">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="TryPullSampleEvent" cname="try-pull-sample" when="last" field_name="try_pull_sample" version="1.10">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+    </object>
+    <object name="AppSrc" cname="GstAppSrc" opaque="false" hidden="false" parent="GstBaseSrc">
+      <implements>
+        <interface cname="GstURIHandler" />
+      </implements>
+      <class_struct cname="GstAppSrcClass">
+        <field cname="basesrc_class" access="public" writeable="false" readable="true" is_callback="false" name="BasesrcClass" type="GstBaseSrcClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="need_data" />
+        <method signal_vm="enough_data" />
+        <method signal_vm="seek_data" />
+        <method signal_vm="push_buffer" />
+        <method signal_vm="end_of_stream" />
+        <method signal_vm="push_sample" />
+        <method signal_vm="push_buffer_list" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="2" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_app_src_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="EndOfStream" cname="gst_app_src_end_of_stream">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </method>
+      <method name="GetCaps" cname="gst_app_src_get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetCurrentLevelBytes" cname="gst_app_src_get_current_level_bytes" version="1.2">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetDuration" cname="gst_app_src_get_duration" version="1.10">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetEmitSignals" cname="gst_app_src_get_emit_signals">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_app_src_get_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min" type="guint64*" owned="true" pass_as="out" />
+          <parameter name="max" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetMaxBytes" cname="gst_app_src_get_max_bytes">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetSize" cname="gst_app_src_get_size">
+        <return-type type="gint64" />
+        <parameters />
+      </method>
+      <method name="GetStreamType" cname="gst_app_src_get_stream_type">
+        <return-type type="GstAppStreamType" />
+        <parameters />
+      </method>
+      <method name="PushBuffer" cname="gst_app_src_push_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PushBufferList" cname="gst_app_src_push_buffer_list" version="1.14">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PushSample" cname="gst_app_src_push_sample" version="1.6">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="sample" type="GstSample*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetCaps" cname="gst_app_src_set_caps">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetDuration" cname="gst_app_src_set_duration" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="duration" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetEmitSignals" cname="gst_app_src_set_emit_signals">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="emit" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_app_src_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min" type="guint64" />
+          <parameter name="max" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetMaxBytes" cname="gst_app_src_set_max_bytes">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="max" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetSize" cname="gst_app_src_set_size">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="size" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetStreamType" cname="gst_app_src_set_stream_type">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GstAppStreamType" />
+        </parameters>
+      </method>
+      <property name="Block" cname="block" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Caps" cname="caps" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="CurrentLevelBytes" cname="current-level-bytes" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="Duration" cname="duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="EmitSignals" cname="emit-signals" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Format" cname="format" type="GstFormat" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="IsLive" cname="is-live" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MaxBytes" cname="max-bytes" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MaxLatency" cname="max-latency" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MinLatency" cname="min-latency" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MinPercent" cname="min-percent" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Size" cname="size" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="StreamType" cname="stream-type" type="GstAppStreamType" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="basesrc" access="public" writeable="false" readable="true" is_callback="false" name="Basesrc" type="GstBaseSrc*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAppSrcPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="EndOfStreamEvent" cname="end-of-stream" when="last" field_name="end_of_stream">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="EnoughData" cname="enough-data" when="last" field_name="enough_data">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+      <signal name="NeedData" cname="need-data" when="last" field_name="need_data">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="length" type="guint" />
+        </parameters>
+      </signal>
+      <signal name="PushBufferEvent" cname="push-buffer" when="last" field_name="push_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="PushBufferListEvent" cname="push-buffer-list" when="last" field_name="push_buffer_list" version="1.14">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="PushSampleEvent" cname="push-sample" when="last" field_name="push_sample" version="1.6">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="sample" type="GstSample*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="SeekData" cname="seek-data" when="last" field_name="seek_data">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="offset" type="guint64" />
+        </parameters>
+      </signal>
+    </object>
+    <struct name="AppSinkCallbacks" cname="GstAppSinkCallbacks" opaque="false" hidden="false">
+      <field cname="eos" access="public" writeable="false" readable="true" is_callback="true" name="Eos" type="GstAppEosFunc" />
+      <field cname="new_preroll" access="public" writeable="false" readable="true" is_callback="true" name="NewPreroll" type="GstAppNewPrerollFunc" />
+      <field cname="new_sample" access="public" writeable="false" readable="true" is_callback="true" name="NewSample" type="GstAppNewSampleFunc" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <struct name="AppSinkPrivate" cname="GstAppSinkPrivate" opaque="true" hidden="true" />
+    <struct name="AppSrcCallbacks" cname="GstAppSrcCallbacks" opaque="false" hidden="false">
+      <field cname="need_data" access="public" writeable="false" readable="true" is_callback="true" name="NeedData" type="GstAppNeedDataFunc" />
+      <field cname="enough_data" access="public" writeable="false" readable="true" is_callback="true" name="EnoughData" type="GstAppEnoughDataFunc" />
+      <field cname="seek_data" access="public" writeable="false" readable="true" is_callback="true" name="SeekData" type="GstAppSeekDataFunc" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <struct name="AppSrcPrivate" cname="GstAppSrcPrivate" opaque="true" hidden="true" />
+    <object name="Global" cname="GstAppGlobal" opaque="true" />
+    <object name="Constants" cname="GstAppConstants" opaque="true" />
+  </namespace>
+  <namespace name="Gst.Audio" library="libgstaudio-1.0-0.dll">
+    <enum name="AudioBaseSinkDiscontReason" cname="GstAudioBaseSinkDiscontReason" type="enum" gtype="gst_audio_base_sink_discont_reason_get_type" version="1.6">
+      <member cname="GST_AUDIO_BASE_SINK_DISCONT_REASON_NO_DISCONT" name="NoDiscont" value="0" />
+      <member cname="GST_AUDIO_BASE_SINK_DISCONT_REASON_NEW_CAPS" name="NewCaps" value="1" />
+      <member cname="GST_AUDIO_BASE_SINK_DISCONT_REASON_FLUSH" name="Flush" value="2" />
+      <member cname="GST_AUDIO_BASE_SINK_DISCONT_REASON_SYNC_LATENCY" name="SyncLatency" value="3" />
+      <member cname="GST_AUDIO_BASE_SINK_DISCONT_REASON_ALIGNMENT" name="Alignment" value="4" />
+      <member cname="GST_AUDIO_BASE_SINK_DISCONT_REASON_DEVICE_FAILURE" name="DeviceFailure" value="5" />
+    </enum>
+    <enum name="AudioBaseSinkSlaveMethod" cname="GstAudioBaseSinkSlaveMethod" type="enum" gtype="gst_audio_base_sink_slave_method_get_type">
+      <member cname="GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE" name="Resample" value="0" />
+      <member cname="GST_AUDIO_BASE_SINK_SLAVE_SKEW" name="Skew" value="1" />
+      <member cname="GST_AUDIO_BASE_SINK_SLAVE_NONE" name="None" value="2" />
+      <member cname="GST_AUDIO_BASE_SINK_SLAVE_CUSTOM" name="Custom" value="3" />
+    </enum>
+    <enum name="AudioBaseSrcSlaveMethod" cname="GstAudioBaseSrcSlaveMethod" type="enum" gtype="gst_audio_base_src_slave_method_get_type">
+      <member cname="GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE" name="Resample" value="0" />
+      <member cname="GST_AUDIO_BASE_SRC_SLAVE_RE_TIMESTAMP" name="ReTimestamp" value="1" />
+      <member cname="GST_AUDIO_BASE_SRC_SLAVE_SKEW" name="Skew" value="2" />
+      <member cname="GST_AUDIO_BASE_SRC_SLAVE_NONE" name="None" value="3" />
+    </enum>
+    <enum name="AudioCdSrcMode" cname="GstAudioCdSrcMode" type="enum" gtype="gst_audio_cd_src_mode_get_type">
+      <member cname="GST_AUDIO_CD_SRC_MODE_NORMAL" name="Normal" value="0" />
+      <member cname="GST_AUDIO_CD_SRC_MODE_CONTINUOUS" name="Continuous" value="1" />
+    </enum>
+    <enum name="AudioChannelPosition" cname="GstAudioChannelPosition" type="enum" gtype="gst_audio_channel_position_get_type">
+      <member cname="GST_AUDIO_CHANNEL_POSITION_NONE" name="None" value="-3" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_MONO" name="Mono" value="-2" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_INVALID" name="Invalid" value="-1" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT" name="FrontLeft" value="0" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT" name="FrontRight" value="1" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER" name="FrontCenter" value="2" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_LFE1" name="Lfe1" value="3" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_REAR_LEFT" name="RearLeft" value="4" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT" name="RearRight" value="5" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER" name="FrontLeftOfCenter" value="6" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER" name="FrontRightOfCenter" value="7" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_REAR_CENTER" name="RearCenter" value="8" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_LFE2" name="Lfe2" value="9" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT" name="SideLeft" value="10" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT" name="SideRight" value="11" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_LEFT" name="TopFrontLeft" value="12" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_RIGHT" name="TopFrontRight" value="13" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_CENTER" name="TopFrontCenter" value="14" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_CENTER" name="TopCenter" value="15" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_REAR_LEFT" name="TopRearLeft" value="16" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_REAR_RIGHT" name="TopRearRight" value="17" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_SIDE_LEFT" name="TopSideLeft" value="18" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_SIDE_RIGHT" name="TopSideRight" value="19" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_TOP_REAR_CENTER" name="TopRearCenter" value="20" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_CENTER" name="BottomFrontCenter" value="21" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_LEFT" name="BottomFrontLeft" value="22" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_RIGHT" name="BottomFrontRight" value="23" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_WIDE_LEFT" name="WideLeft" value="24" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_WIDE_RIGHT" name="WideRight" value="25" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_SURROUND_LEFT" name="SurroundLeft" value="26" />
+      <member cname="GST_AUDIO_CHANNEL_POSITION_SURROUND_RIGHT" name="SurroundRight" value="27" />
+    </enum>
+    <enum name="AudioDitherMethod" cname="GstAudioDitherMethod" type="enum" gtype="gst_audio_dither_method_get_type">
+      <member cname="GST_AUDIO_DITHER_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_DITHER_RPDF" name="Rpdf" value="1" />
+      <member cname="GST_AUDIO_DITHER_TPDF" name="Tpdf" value="2" />
+      <member cname="GST_AUDIO_DITHER_TPDF_HF" name="TpdfHf" value="3" />
+    </enum>
+    <enum name="AudioFormat" cname="GstAudioFormat" type="enum" gtype="gst_audio_format_get_type">
+      <member cname="GST_AUDIO_FORMAT_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_AUDIO_FORMAT_ENCODED" name="Encoded" value="1" />
+      <member cname="GST_AUDIO_FORMAT_S8" name="S8" value="2" />
+      <member cname="GST_AUDIO_FORMAT_U8" name="U8" value="3" />
+      <member cname="GST_AUDIO_FORMAT_S16LE" name="S16le" value="4" />
+      <member cname="GST_AUDIO_FORMAT_S16" name="S16" value="4" />
+      <member cname="GST_AUDIO_FORMAT_S16BE" name="S16be" value="5" />
+      <member cname="GST_AUDIO_FORMAT_U16LE" name="U16le" value="6" />
+      <member cname="GST_AUDIO_FORMAT_U16" name="U16" value="6" />
+      <member cname="GST_AUDIO_FORMAT_U16BE" name="U16be" value="7" />
+      <member cname="GST_AUDIO_FORMAT_S24_32LE" name="S2432le" value="8" />
+      <member cname="GST_AUDIO_FORMAT_S24_32" name="S2432" value="8" />
+      <member cname="GST_AUDIO_FORMAT_S24_32BE" name="S2432be" value="9" />
+      <member cname="GST_AUDIO_FORMAT_U24_32LE" name="U2432le" value="10" />
+      <member cname="GST_AUDIO_FORMAT_U24_32" name="U2432" value="10" />
+      <member cname="GST_AUDIO_FORMAT_U24_32BE" name="U2432be" value="11" />
+      <member cname="GST_AUDIO_FORMAT_S32LE" name="S32le" value="12" />
+      <member cname="GST_AUDIO_FORMAT_S32" name="S32" value="12" />
+      <member cname="GST_AUDIO_FORMAT_S32BE" name="S32be" value="13" />
+      <member cname="GST_AUDIO_FORMAT_U32LE" name="U32le" value="14" />
+      <member cname="GST_AUDIO_FORMAT_U32" name="U32" value="14" />
+      <member cname="GST_AUDIO_FORMAT_U32BE" name="U32be" value="15" />
+      <member cname="GST_AUDIO_FORMAT_S24LE" name="S24le" value="16" />
+      <member cname="GST_AUDIO_FORMAT_S24" name="S24" value="16" />
+      <member cname="GST_AUDIO_FORMAT_S24BE" name="S24be" value="17" />
+      <member cname="GST_AUDIO_FORMAT_U24LE" name="U24le" value="18" />
+      <member cname="GST_AUDIO_FORMAT_U24" name="U24" value="18" />
+      <member cname="GST_AUDIO_FORMAT_U24BE" name="U24be" value="19" />
+      <member cname="GST_AUDIO_FORMAT_S20LE" name="S20le" value="20" />
+      <member cname="GST_AUDIO_FORMAT_S20" name="S20" value="20" />
+      <member cname="GST_AUDIO_FORMAT_S20BE" name="S20be" value="21" />
+      <member cname="GST_AUDIO_FORMAT_U20LE" name="U20le" value="22" />
+      <member cname="GST_AUDIO_FORMAT_U20" name="U20" value="22" />
+      <member cname="GST_AUDIO_FORMAT_U20BE" name="U20be" value="23" />
+      <member cname="GST_AUDIO_FORMAT_S18LE" name="S18le" value="24" />
+      <member cname="GST_AUDIO_FORMAT_S18" name="S18" value="24" />
+      <member cname="GST_AUDIO_FORMAT_S18BE" name="S18be" value="25" />
+      <member cname="GST_AUDIO_FORMAT_U18LE" name="U18le" value="26" />
+      <member cname="GST_AUDIO_FORMAT_U18" name="U18" value="26" />
+      <member cname="GST_AUDIO_FORMAT_U18BE" name="U18be" value="27" />
+      <member cname="GST_AUDIO_FORMAT_F32LE" name="F32le" value="28" />
+      <member cname="GST_AUDIO_FORMAT_F32" name="F32" value="28" />
+      <member cname="GST_AUDIO_FORMAT_F32BE" name="F32be" value="29" />
+      <member cname="GST_AUDIO_FORMAT_F64LE" name="F64le" value="30" />
+      <member cname="GST_AUDIO_FORMAT_F64" name="F64" value="30" />
+      <member cname="GST_AUDIO_FORMAT_F64BE" name="F64be" value="31" />
+    </enum>
+    <enum name="AudioLayout" cname="GstAudioLayout" type="enum" gtype="gst_audio_layout_get_type">
+      <member cname="GST_AUDIO_LAYOUT_INTERLEAVED" name="Interleaved" value="0" />
+      <member cname="GST_AUDIO_LAYOUT_NON_INTERLEAVED" name="NonInterleaved" value="1" />
+    </enum>
+    <enum name="AudioNoiseShapingMethod" cname="GstAudioNoiseShapingMethod" type="enum" gtype="gst_audio_noise_shaping_method_get_type">
+      <member cname="GST_AUDIO_NOISE_SHAPING_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_NOISE_SHAPING_ERROR_FEEDBACK" name="ErrorFeedback" value="1" />
+      <member cname="GST_AUDIO_NOISE_SHAPING_SIMPLE" name="Simple" value="2" />
+      <member cname="GST_AUDIO_NOISE_SHAPING_MEDIUM" name="Medium" value="3" />
+      <member cname="GST_AUDIO_NOISE_SHAPING_HIGH" name="High" value="4" />
+    </enum>
+    <enum name="AudioResamplerFilterInterpolation" cname="GstAudioResamplerFilterInterpolation" type="enum" gtype="gst_audio_resampler_filter_interpolation_get_type">
+      <member cname="GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR" name="Linear" value="1" />
+      <member cname="GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC" name="Cubic" value="2" />
+    </enum>
+    <enum name="AudioResamplerFilterMode" cname="GstAudioResamplerFilterMode" type="enum" gtype="gst_audio_resampler_filter_mode_get_type">
+      <member cname="GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED" name="Interpolated" value="0" />
+      <member cname="GST_AUDIO_RESAMPLER_FILTER_MODE_FULL" name="Full" value="1" />
+      <member cname="GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO" name="Auto" value="2" />
+    </enum>
+    <enum name="AudioResamplerMethod" cname="GstAudioResamplerMethod" type="enum" gtype="gst_audio_resampler_method_get_type" version="1.6">
+      <member cname="GST_AUDIO_RESAMPLER_METHOD_NEAREST" name="Nearest" value="0" />
+      <member cname="GST_AUDIO_RESAMPLER_METHOD_LINEAR" name="Linear" value="1" />
+      <member cname="GST_AUDIO_RESAMPLER_METHOD_CUBIC" name="Cubic" value="2" />
+      <member cname="GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL" name="BlackmanNuttall" value="3" />
+      <member cname="GST_AUDIO_RESAMPLER_METHOD_KAISER" name="Kaiser" value="4" />
+    </enum>
+    <enum name="AudioRingBufferFormatType" cname="GstAudioRingBufferFormatType" type="enum" gtype="gst_audio_ring_buffer_format_type_get_type">
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW" name="Raw" value="0" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW" name="MuLaw" value="1" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW" name="ALaw" value="2" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IMA_ADPCM" name="ImaAdpcm" value="3" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG" name="Mpeg" value="4" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_GSM" name="Gsm" value="5" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IEC958" name="Iec958" value="6" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_AC3" name="Ac3" value="7" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_EAC3" name="Eac3" value="8" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS" name="Dts" value="9" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC" name="Mpeg2Aac" value="10" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC" name="Mpeg4Aac" value="11" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC_RAW" name="Mpeg2AacRaw" value="12" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC_RAW" name="Mpeg4AacRaw" value="13" />
+      <member cname="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_FLAC" name="Flac" value="14" />
+    </enum>
+    <enum name="AudioRingBufferState" cname="GstAudioRingBufferState" type="enum" gtype="gst_audio_ring_buffer_state_get_type">
+      <member cname="GST_AUDIO_RING_BUFFER_STATE_STOPPED" name="Stopped" value="0" />
+      <member cname="GST_AUDIO_RING_BUFFER_STATE_PAUSED" name="Paused" value="1" />
+      <member cname="GST_AUDIO_RING_BUFFER_STATE_STARTED" name="Started" value="2" />
+      <member cname="GST_AUDIO_RING_BUFFER_STATE_ERROR" name="Error" value="3" />
+    </enum>
+    <enum name="StreamVolumeFormat" cname="GstStreamVolumeFormat" type="enum">
+      <member cname="GST_STREAM_VOLUME_FORMAT_LINEAR" name="Linear" value="0" />
+      <member cname="GST_STREAM_VOLUME_FORMAT_CUBIC" name="Cubic" value="1" />
+      <member cname="GST_STREAM_VOLUME_FORMAT_DB" name="Db" value="2" />
+    </enum>
+    <enum name="AudioChannelMixerFlags" cname="GstAudioChannelMixerFlags" type="flags" gtype="gst_audio_channel_mixer_flags_get_type">
+      <member cname="GST_AUDIO_CHANNEL_MIXER_FLAGS_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_CHANNEL_MIXER_FLAGS_NON_INTERLEAVED_IN" name="NonInterleavedIn" value="1" />
+      <member cname="GST_AUDIO_CHANNEL_MIXER_FLAGS_NON_INTERLEAVED_OUT" name="NonInterleavedOut" value="2" />
+      <member cname="GST_AUDIO_CHANNEL_MIXER_FLAGS_UNPOSITIONED_IN" name="UnpositionedIn" value="4" />
+      <member cname="GST_AUDIO_CHANNEL_MIXER_FLAGS_UNPOSITIONED_OUT" name="UnpositionedOut" value="8" />
+    </enum>
+    <enum name="AudioConverterFlags" cname="GstAudioConverterFlags" type="flags" gtype="gst_audio_converter_flags_get_type">
+      <member cname="GST_AUDIO_CONVERTER_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_CONVERTER_FLAG_IN_WRITABLE" name="InWritable" value="1" />
+      <member cname="GST_AUDIO_CONVERTER_FLAG_VARIABLE_RATE" name="VariableRate" value="2" />
+    </enum>
+    <enum name="AudioFlags" cname="GstAudioFlags" type="flags" gtype="gst_audio_flags_get_type">
+      <member cname="GST_AUDIO_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_FLAG_UNPOSITIONED" name="Unpositioned" value="1" />
+    </enum>
+    <enum name="AudioFormatFlags" cname="GstAudioFormatFlags" type="flags" gtype="gst_audio_format_flags_get_type">
+      <member cname="GST_AUDIO_FORMAT_FLAG_INTEGER" name="Integer" value="1" />
+      <member cname="GST_AUDIO_FORMAT_FLAG_FLOAT" name="Float" value="2" />
+      <member cname="GST_AUDIO_FORMAT_FLAG_SIGNED" name="Signed" value="4" />
+      <member cname="GST_AUDIO_FORMAT_FLAG_COMPLEX" name="Complex" value="16" />
+      <member cname="GST_AUDIO_FORMAT_FLAG_UNPACK" name="Unpack" value="32" />
+    </enum>
+    <enum name="AudioPackFlags" cname="GstAudioPackFlags" type="flags" gtype="gst_audio_pack_flags_get_type">
+      <member cname="GST_AUDIO_PACK_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_PACK_FLAG_TRUNCATE_RANGE" name="TruncateRange" value="1" />
+    </enum>
+    <enum name="AudioQuantizeFlags" cname="GstAudioQuantizeFlags" type="flags" gtype="gst_audio_quantize_flags_get_type">
+      <member cname="GST_AUDIO_QUANTIZE_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_QUANTIZE_FLAG_NON_INTERLEAVED" name="NonInterleaved" value="1" />
+    </enum>
+    <enum name="AudioResamplerFlags" cname="GstAudioResamplerFlags" type="flags" gtype="gst_audio_resampler_flags_get_type">
+      <member cname="GST_AUDIO_RESAMPLER_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN" name="NonInterleavedIn" value="1" />
+      <member cname="GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT" name="NonInterleavedOut" value="2" />
+      <member cname="GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE" name="VariableRate" value="4" />
+    </enum>
+    <callback name="AudioBaseSinkCustomSlavingCallback" cname="GstAudioBaseSinkCustomSlavingCallback" version="1.6">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="sink" type="GstAudioBaseSink*" />
+        <parameter name="etime" type="guint64" />
+        <parameter name="itime" type="guint64" />
+        <parameter name="requested_skew" type="gint64" />
+        <parameter name="discont_reason" type="GstAudioBaseSinkDiscontReason" />
+        <parameter allow-none="1" closure="5" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="AudioClockGetTimeFunc" cname="GstAudioClockGetTimeFunc">
+      <return-type type="guint64" />
+      <parameters>
+        <parameter name="clock" type="GstClock*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="AudioFormatPack" cname="GstAudioFormatPack">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="info" type="GstAudioFormatInfo*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="flags" type="GstAudioPackFlags" />
+        <parameter name="src" type="guint8*" array="true" />
+        <parameter name="data" type="guint8*" array="true" />
+        <parameter name="n_length" type="gint" />
+      </parameters>
+    </callback>
+    <callback name="AudioFormatUnpack" cname="GstAudioFormatUnpack">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="info" type="GstAudioFormatInfo*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="flags" type="GstAudioPackFlags" />
+        <parameter name="dest" type="guint8*" array="true" />
+        <parameter name="data" type="guint8*" array="true" />
+        <parameter name="n_length" type="gint" />
+      </parameters>
+    </callback>
+    <callback name="AudioRingBufferCallback" cname="GstAudioRingBufferCallback">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="rbuf" type="GstAudioRingBuffer*" />
+        <parameter name="data" type="guint8*" array="true" array_length_param_index="2" />
+        <parameter name="len" type="guint" array_index="1" />
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <interface name="StreamVolume" cname="GstStreamVolume" opaque="false" hidden="false">
+      <class_struct cname="GstStreamVolumeInterface">
+        <field cname="iface" access="public" writeable="false" readable="true" is_callback="false" name="Iface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+      </class_struct>
+      <method name="GetType" cname="gst_stream_volume_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ConvertVolume" cname="gst_stream_volume_convert_volume" shared="true">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="from" type="GstStreamVolumeFormat" />
+          <parameter name="to" type="GstStreamVolumeFormat" />
+          <parameter name="val" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="GetMute" cname="gst_stream_volume_get_mute">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetVolume" cname="gst_stream_volume_get_volume">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="format" type="GstStreamVolumeFormat" />
+        </parameters>
+      </method>
+      <method name="SetMute" cname="gst_stream_volume_set_mute">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mute" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetVolume" cname="gst_stream_volume_set_volume">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstStreamVolumeFormat" />
+          <parameter name="val" type="gdouble" />
+        </parameters>
+      </method>
+      <property name="Mute" cname="mute" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Volume" cname="volume" type="gdouble" readable="true" writeable="true" construct="false" construct-only="false" hidden="1" />
+    </interface>
+    <object name="AudioBaseSink" cname="GstAudioBaseSink" opaque="false" hidden="false" parent="GstBaseSink">
+      <class_struct cname="GstAudioBaseSinkClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBaseSinkClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_ringbuffer" />
+        <method vm="payload" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_base_sink_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="CreateRingbuffer" cname="create_ringbuffer">
+        <return-type type="GstAudioRingBuffer*" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Payload" cname="payload">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="CreateRingbuffer" cname="gst_audio_base_sink_create_ringbuffer">
+        <return-type type="GstAudioRingBuffer*" />
+        <parameters />
+      </method>
+      <method name="GetAlignmentThreshold" cname="gst_audio_base_sink_get_alignment_threshold">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetDiscontWait" cname="gst_audio_base_sink_get_discont_wait">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetDriftTolerance" cname="gst_audio_base_sink_get_drift_tolerance">
+        <return-type type="gint64" />
+        <parameters />
+      </method>
+      <method name="GetProvideClock" cname="gst_audio_base_sink_get_provide_clock">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetSlaveMethod" cname="gst_audio_base_sink_get_slave_method">
+        <return-type type="GstAudioBaseSinkSlaveMethod" />
+        <parameters />
+      </method>
+      <method name="ReportDeviceFailure" cname="gst_audio_base_sink_report_device_failure" version="1.6">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetAlignmentThreshold" cname="gst_audio_base_sink_set_alignment_threshold">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="alignment_threshold" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetCustomSlavingCallback" cname="gst_audio_base_sink_set_custom_slaving_callback" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="callback" type="GstAudioBaseSinkCustomSlavingCallback" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetDiscontWait" cname="gst_audio_base_sink_set_discont_wait">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="discont_wait" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetDriftTolerance" cname="gst_audio_base_sink_set_drift_tolerance">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="drift_tolerance" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetProvideClock" cname="gst_audio_base_sink_set_provide_clock">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="provide" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSlaveMethod" cname="gst_audio_base_sink_set_slave_method">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="method" type="GstAudioBaseSinkSlaveMethod" />
+        </parameters>
+      </method>
+      <property name="AlignmentThreshold" cname="alignment-threshold" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="BufferTime" cname="buffer-time" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="CanActivatePull" cname="can-activate-pull" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="DiscontWait" cname="discont-wait" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="DriftTolerance" cname="drift-tolerance" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="LatencyTime" cname="latency-time" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="ProvideClock" cname="provide-clock" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="SlaveMethod" cname="slave-method" type="GstAudioBaseSinkSlaveMethod" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstBaseSink*" />
+      <field cname="ringbuffer" access="public" writeable="false" readable="true" is_callback="false" name="Ringbuffer" type="GstAudioRingBuffer*" />
+      <field cname="buffer_time" access="public" writeable="false" readable="true" is_callback="false" name="BufferTimeField" type="guint64" />
+      <field cname="latency_time" access="public" writeable="false" readable="true" is_callback="false" name="LatencyTimeField" type="guint64" />
+      <field cname="next_sample" access="public" writeable="false" readable="true" is_callback="false" name="NextSample" type="guint64" />
+      <field cname="provided_clock" access="public" writeable="false" readable="true" is_callback="false" name="ProvidedClock" type="GstClock*" />
+      <field cname="eos_rendering" access="public" writeable="false" readable="true" is_callback="false" name="EosRendering" type="gboolean" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioBaseSinkPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="AudioBaseSrc" cname="GstAudioBaseSrc" opaque="false" hidden="false" parent="GstPushSrc">
+      <class_struct cname="GstAudioBaseSrcClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstPushSrcClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_ringbuffer" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_base_src_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="CreateRingbuffer" cname="create_ringbuffer">
+        <return-type type="GstAudioRingBuffer*" />
+        <parameters />
+      </virtual_method>
+      <method name="CreateRingbuffer" cname="gst_audio_base_src_create_ringbuffer">
+        <return-type type="GstAudioRingBuffer*" />
+        <parameters />
+      </method>
+      <method name="GetProvideClock" cname="gst_audio_base_src_get_provide_clock">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetSlaveMethod" cname="gst_audio_base_src_get_slave_method">
+        <return-type type="GstAudioBaseSrcSlaveMethod" />
+        <parameters />
+      </method>
+      <method name="SetProvideClock" cname="gst_audio_base_src_set_provide_clock">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="provide" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSlaveMethod" cname="gst_audio_base_src_set_slave_method">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="method" type="GstAudioBaseSrcSlaveMethod" />
+        </parameters>
+      </method>
+      <property name="ActualBufferTime" cname="actual-buffer-time" type="gint64" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="ActualLatencyTime" cname="actual-latency-time" type="gint64" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="BufferTime" cname="buffer-time" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="LatencyTime" cname="latency-time" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="ProvideClock" cname="provide-clock" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="SlaveMethod" cname="slave-method" type="GstAudioBaseSrcSlaveMethod" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstPushSrc*" />
+      <field cname="ringbuffer" access="public" writeable="false" readable="true" is_callback="false" name="Ringbuffer" type="GstAudioRingBuffer*" />
+      <field cname="buffer_time" access="public" writeable="false" readable="true" is_callback="false" name="BufferTimeField" type="guint64" />
+      <field cname="latency_time" access="public" writeable="false" readable="true" is_callback="false" name="LatencyTimeField" type="guint64" />
+      <field cname="next_sample" access="public" writeable="false" readable="true" is_callback="false" name="NextSample" type="guint64" />
+      <field cname="clock" access="public" writeable="false" readable="true" is_callback="false" name="Clock" type="GstClock*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioBaseSrcPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="AudioCdSrc" cname="GstAudioCdSrc" opaque="false" hidden="false" parent="GstPushSrc">
+      <implements>
+        <interface cname="GstURIHandler" />
+      </implements>
+      <class_struct cname="GstAudioCdSrcClass">
+        <field cname="pushsrc_class" access="public" writeable="false" readable="true" is_callback="false" name="PushsrcClass" type="GstPushSrcClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="open" />
+        <method vm="close" />
+        <method vm="read_sector" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_cd_src_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Close" cname="close">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Open" cname="open">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="device" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ReadSector" cname="read_sector">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="sector" type="gint" />
+        </parameters>
+      </virtual_method>
+      <method name="AddTrack" cname="gst_audio_cd_src_add_track">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="track" type="GstAudioCdSrcTrack*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <property name="Device" cname="device" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Mode" cname="mode" type="GstAudioCdSrcMode" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Track" cname="track" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="pushsrc" access="public" writeable="false" readable="true" is_callback="false" name="Pushsrc" type="GstPushSrc*" />
+      <field cname="tags" access="public" writeable="false" readable="true" is_callback="false" name="Tags" type="GstTagList*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioCdSrcPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved1" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved1" type="guint" array="true" array_len="2" padding="true" />
+      <field cname="_gst_reserved2" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved2" type="gpointer" array="true" array_len="2" padding="true" />
+    </object>
+    <object name="AudioClock" cname="GstAudioClock" opaque="false" hidden="false" parent="GstSystemClock">
+      <class_struct cname="GstAudioClockClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstSystemClockClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_clock_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_audio_clock_new">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="func" type="GstAudioClockGetTimeFunc" />
+          <parameter name="user_data" type="gpointer" />
+          <parameter name="destroy_notify" type="GDestroyNotify" />
+        </parameters>
+      </constructor>
+      <method name="Adjust" cname="gst_audio_clock_adjust">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetTime" cname="gst_audio_clock_get_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="Invalidate" cname="gst_audio_clock_invalidate">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Reset" cname="gst_audio_clock_reset">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <field cname="clock" access="public" writeable="false" readable="true" is_callback="false" name="Clock" type="GstSystemClock*" />
+      <field cname="func" access="public" writeable="false" readable="true" is_callback="false" name="Func" type="GstAudioClockGetTimeFunc" />
+      <field cname="user_data" access="public" writeable="false" readable="true" is_callback="false" name="UserData" type="gpointer" />
+      <field cname="destroy_notify" access="public" writeable="false" readable="true" is_callback="false" name="DestroyNotify" type="GDestroyNotify" hidden="1" />
+      <field cname="last_time" access="private" writeable="false" readable="false" is_callback="false" name="LastTime" type="guint64" />
+      <field cname="time_offset" access="private" writeable="false" readable="false" is_callback="false" name="TimeOffset" type="gint64" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="AudioDecoder" cname="GstAudioDecoder" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstAudioDecoderClass">
+        <field cname="element_class" access="public" writeable="false" readable="true" is_callback="false" name="ElementClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="set_format" />
+        <method vm="parse" />
+        <method vm="handle_frame" />
+        <method vm="flush" />
+        <method vm="pre_push" />
+        <method vm="sink_event" />
+        <method vm="src_event" />
+        <method vm="open" />
+        <method vm="close" />
+        <method vm="negotiate" />
+        <method vm="decide_allocation" />
+        <method vm="propose_allocation" />
+        <method vm="sink_query" />
+        <method vm="src_query" />
+        <method vm="getcaps" />
+        <method vm="transform_meta" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="16" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_decoder_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Close" cname="close">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="DecideAllocation" cname="decide_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Flush" cname="flush">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="hard" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Getcaps" cname="getcaps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleFrame" cname="handle_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Negotiate" cname="negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Open" cname="open">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Parse" cname="parse">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="adapter" type="GstAdapter*" />
+          <parameter name="offset" type="gint" />
+          <parameter name="length" type="gint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="PrePush" cname="pre_push">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProposeAllocation" cname="propose_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetFormat" cname="set_format">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkEvent" cname="sink_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkQuery" cname="sink_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcEvent" cname="src_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcQuery" cname="src_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="TransformMeta" cname="transform_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="outbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="meta" type="GstMeta*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="inbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AllocateOutputBuffer" cname="gst_audio_decoder_allocate_output_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="FinishFrame" cname="gst_audio_decoder_finish_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="frames" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetAllocator" cname="gst_audio_decoder_get_allocator">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAudioInfo" cname="gst_audio_decoder_get_audio_info">
+        <return-type type="GstAudioInfo*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetDelay" cname="gst_audio_decoder_get_delay">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetDrainable" cname="gst_audio_decoder_get_drainable">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetEstimateRate" cname="gst_audio_decoder_get_estimate_rate">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_audio_decoder_get_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="min" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetMaxErrors" cname="gst_audio_decoder_get_max_errors">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetMinLatency" cname="gst_audio_decoder_get_min_latency">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetNeedsFormat" cname="gst_audio_decoder_get_needs_format">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetParseState" cname="gst_audio_decoder_get_parse_state">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sync" type="gboolean" />
+          <parameter name="eos" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="GetPlc" cname="gst_audio_decoder_get_plc">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetPlcAware" cname="gst_audio_decoder_get_plc_aware">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetTolerance" cname="gst_audio_decoder_get_tolerance">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="MergeTags" cname="gst_audio_decoder_merge_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="Negotiate" cname="gst_audio_decoder_negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="ProxyGetcaps" cname="gst_audio_decoder_proxy_getcaps" version="1.6">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetAllocationCaps" cname="gst_audio_decoder_set_allocation_caps" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocation_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetDrainable" cname="gst_audio_decoder_set_drainable">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetEstimateRate" cname="gst_audio_decoder_set_estimate_rate">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_audio_decoder_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min" type="guint64" />
+          <parameter name="max" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetMaxErrors" cname="gst_audio_decoder_set_max_errors">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="num" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetMinLatency" cname="gst_audio_decoder_set_min_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="num" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetNeedsFormat" cname="gst_audio_decoder_set_needs_format">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetOutputFormat" cname="gst_audio_decoder_set_output_format">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="info" type="GstAudioInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetPlc" cname="gst_audio_decoder_set_plc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetPlcAware" cname="gst_audio_decoder_set_plc_aware">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="plc" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetTolerance" cname="gst_audio_decoder_set_tolerance">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="tolerance" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetUseDefaultPadAcceptcaps" cname="gst_audio_decoder_set_use_default_pad_acceptcaps" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="use" type="gboolean" />
+        </parameters>
+      </method>
+      <property name="MinLatency" cname="min-latency" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Plc" cname="plc" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Tolerance" cname="tolerance" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="sinkpad" access="public" writeable="false" readable="true" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="srcpad" access="public" writeable="false" readable="true" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="stream_lock" access="public" writeable="false" readable="true" is_callback="false" name="StreamLock" type="GRecMutex">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="input_segment" access="public" writeable="false" readable="true" is_callback="false" name="InputSegment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="output_segment" access="public" writeable="false" readable="true" is_callback="false" name="OutputSegment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioDecoderPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+    </object>
+    <object name="AudioEncoder" cname="GstAudioEncoder" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <implements>
+        <interface cname="GstPreset" />
+      </implements>
+      <class_struct cname="GstAudioEncoderClass">
+        <field cname="element_class" access="public" writeable="false" readable="true" is_callback="false" name="ElementClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="set_format" />
+        <method vm="handle_frame" />
+        <method vm="flush" />
+        <method vm="pre_push" />
+        <method vm="sink_event" />
+        <method vm="src_event" />
+        <method vm="getcaps" />
+        <method vm="open" />
+        <method vm="close" />
+        <method vm="negotiate" />
+        <method vm="decide_allocation" />
+        <method vm="propose_allocation" />
+        <method vm="transform_meta" />
+        <method vm="sink_query" />
+        <method vm="src_query" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="17" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_encoder_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Close" cname="close">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="DecideAllocation" cname="decide_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Flush" cname="flush">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Getcaps" cname="getcaps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleFrame" cname="handle_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Negotiate" cname="negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Open" cname="open">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="PrePush" cname="pre_push">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProposeAllocation" cname="propose_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetFormat" cname="set_format">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="info" type="GstAudioInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkEvent" cname="sink_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkQuery" cname="sink_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcEvent" cname="src_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcQuery" cname="src_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="TransformMeta" cname="transform_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="outbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="meta" type="GstMeta*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="inbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AllocateOutputBuffer" cname="gst_audio_encoder_allocate_output_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="FinishFrame" cname="gst_audio_encoder_finish_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="samples" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetAllocator" cname="gst_audio_encoder_get_allocator">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAudioInfo" cname="gst_audio_encoder_get_audio_info">
+        <return-type type="GstAudioInfo*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetDrainable" cname="gst_audio_encoder_get_drainable">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetFrameMax" cname="gst_audio_encoder_get_frame_max">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetFrameSamplesMax" cname="gst_audio_encoder_get_frame_samples_max">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetFrameSamplesMin" cname="gst_audio_encoder_get_frame_samples_min">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetHardMin" cname="gst_audio_encoder_get_hard_min">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetHardResync" cname="gst_audio_encoder_get_hard_resync">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_audio_encoder_get_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="min" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetLookahead" cname="gst_audio_encoder_get_lookahead">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetMarkGranule" cname="gst_audio_encoder_get_mark_granule">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetPerfectTimestamp" cname="gst_audio_encoder_get_perfect_timestamp">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetTolerance" cname="gst_audio_encoder_get_tolerance">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="MergeTags" cname="gst_audio_encoder_merge_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="Negotiate" cname="gst_audio_encoder_negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="ProxyGetcaps" cname="gst_audio_encoder_proxy_getcaps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetAllocationCaps" cname="gst_audio_encoder_set_allocation_caps" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocation_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetDrainable" cname="gst_audio_encoder_set_drainable">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetFrameMax" cname="gst_audio_encoder_set_frame_max">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="num" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetFrameSamplesMax" cname="gst_audio_encoder_set_frame_samples_max">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="num" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetFrameSamplesMin" cname="gst_audio_encoder_set_frame_samples_min">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="num" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetHardMin" cname="gst_audio_encoder_set_hard_min">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetHardResync" cname="gst_audio_encoder_set_hard_resync">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetHeaders" cname="gst_audio_encoder_set_headers">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="headers" type="GList*" element_type="GList*" elements_owned="true" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_audio_encoder_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min" type="guint64" />
+          <parameter name="max" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetLookahead" cname="gst_audio_encoder_set_lookahead">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="num" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetMarkGranule" cname="gst_audio_encoder_set_mark_granule">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetOutputFormat" cname="gst_audio_encoder_set_output_format">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetPerfectTimestamp" cname="gst_audio_encoder_set_perfect_timestamp">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetTolerance" cname="gst_audio_encoder_set_tolerance">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="tolerance" type="guint64" />
+        </parameters>
+      </method>
+      <property name="HardResync" cname="hard-resync" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MarkGranule" cname="mark-granule" type="gboolean" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="PerfectTimestamp" cname="perfect-timestamp" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Tolerance" cname="tolerance" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="sinkpad" access="public" writeable="false" readable="true" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="srcpad" access="public" writeable="false" readable="true" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="stream_lock" access="public" writeable="false" readable="true" is_callback="false" name="StreamLock" type="GRecMutex">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="input_segment" access="public" writeable="false" readable="true" is_callback="false" name="InputSegment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="output_segment" access="public" writeable="false" readable="true" is_callback="false" name="OutputSegment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioEncoderPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+    </object>
+    <object name="AudioFilter" cname="GstAudioFilter" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstBaseTransform">
+      <class_struct cname="GstAudioFilterClass">
+        <field cname="basetransformclass" access="public" writeable="false" readable="true" is_callback="false" name="Basetransformclass" type="GstBaseTransformClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="setup" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="AddAudioPadTemplate" cname="gst_audio_filter_class_add_pad_templates" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="allowed_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetType" cname="gst_audio_filter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Setup" cname="setup">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="info" type="GstAudioInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <field cname="basetransform" access="public" writeable="false" readable="true" is_callback="false" name="Basetransform" type="GstBaseTransform*" />
+      <field cname="info" access="public" writeable="false" readable="true" is_callback="false" name="Info" type="GstAudioInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="AudioRingBuffer" cname="GstAudioRingBuffer" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstAudioRingBufferClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="open_device" />
+        <method vm="acquire" />
+        <method vm="release" />
+        <method vm="close_device" />
+        <method vm="start" />
+        <method vm="pause" />
+        <method vm="resume" />
+        <method vm="stop" />
+        <method vm="delay" />
+        <method vm="activate" />
+        <method vm="commit" />
+        <method vm="clear_all" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_ring_buffer_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="DebugSpecBuff" cname="gst_audio_ring_buffer_debug_spec_buff" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="DebugSpecCaps" cname="gst_audio_ring_buffer_debug_spec_caps" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseCaps" cname="gst_audio_ring_buffer_parse_caps" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <virtual_method name="Acquire" cname="acquire">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Activate" cname="activate">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ClearAll" cname="clear_all">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="CloseDevice" cname="close_device">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Commit" cname="commit">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="sample" type="guint64" />
+          <parameter name="data" type="guint8" />
+          <parameter name="in_samples" type="gint" />
+          <parameter name="out_samples" type="gint" />
+          <parameter name="accum" type="gint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Delay" cname="delay">
+        <return-type type="guint" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="OpenDevice" cname="open_device">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Pause" cname="pause">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Release" cname="release">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Resume" cname="resume">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <method name="Acquire" cname="gst_audio_ring_buffer_acquire">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Activate" cname="gst_audio_ring_buffer_activate">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Advance" cname="gst_audio_ring_buffer_advance">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="advance" type="guint" />
+        </parameters>
+      </method>
+      <method name="Clear" cname="gst_audio_ring_buffer_clear">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="segment" type="gint" />
+        </parameters>
+      </method>
+      <method name="ClearAll" cname="gst_audio_ring_buffer_clear_all">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="CloseDevice" cname="gst_audio_ring_buffer_close_device">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Commit" cname="gst_audio_ring_buffer_commit">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="sample" type="guint64" />
+          <parameter name="data" type="guint8" />
+          <parameter name="in_samples" type="gint" />
+          <parameter name="out_samples" type="gint" />
+          <parameter name="accum" type="gint" />
+        </parameters>
+      </method>
+      <method name="Convert" cname="gst_audio_ring_buffer_convert">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src_fmt" type="GstFormat" />
+          <parameter name="src_val" type="gint64" />
+          <parameter name="dest_fmt" type="GstFormat" />
+          <parameter name="dest_val" type="gint64" />
+        </parameters>
+      </method>
+      <method name="Delay" cname="gst_audio_ring_buffer_delay">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="DeviceIsOpen" cname="gst_audio_ring_buffer_device_is_open">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsAcquired" cname="gst_audio_ring_buffer_is_acquired">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsActive" cname="gst_audio_ring_buffer_is_active">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsFlushing" cname="gst_audio_ring_buffer_is_flushing">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="MayStart" cname="gst_audio_ring_buffer_may_start">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="allowed" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="OpenDevice" cname="gst_audio_ring_buffer_open_device">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Pause" cname="gst_audio_ring_buffer_pause">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="PrepareRead" cname="gst_audio_ring_buffer_prepare_read">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="segment" type="gint" />
+          <parameter name="readptr" type="guint8" />
+          <parameter name="len" type="gint" />
+        </parameters>
+      </method>
+      <method name="Read" cname="gst_audio_ring_buffer_read">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="sample" type="guint64" />
+          <parameter name="data" type="guint8" />
+          <parameter name="len" type="guint" />
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="Release" cname="gst_audio_ring_buffer_release">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SamplesDone" cname="gst_audio_ring_buffer_samples_done">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="SetCallbackFull" cname="gst_audio_ring_buffer_set_callback_full" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" allow-none="1" name="cb" type="GstAudioRingBufferCallback" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetChannelPositions" cname="gst_audio_ring_buffer_set_channel_positions">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="position" type="GstAudioChannelPosition" />
+        </parameters>
+      </method>
+      <method name="SetFlushing" cname="gst_audio_ring_buffer_set_flushing">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flushing" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSample" cname="gst_audio_ring_buffer_set_sample">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sample" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetTimestamp" cname="gst_audio_ring_buffer_set_timestamp">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="readseg" type="gint" />
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="Start" cname="gst_audio_ring_buffer_start">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Stop" cname="gst_audio_ring_buffer_stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="cond" access="public" writeable="false" readable="true" is_callback="false" name="Cond" type="GCond">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="open" access="public" writeable="false" readable="true" is_callback="false" name="Open" type="gboolean" />
+      <field cname="acquired" access="public" writeable="false" readable="true" is_callback="false" name="Acquired" type="gboolean" />
+      <field cname="memory" access="public" writeable="false" readable="true" is_callback="false" name="Memory" type="guint8" />
+      <field cname="size" access="public" writeable="false" readable="true" is_callback="false" name="Size" type="gsize" />
+      <field cname="timestamps" access="public" writeable="false" readable="true" is_callback="false" name="Timestamps" type="guint64" />
+      <field cname="spec" access="public" writeable="false" readable="true" is_callback="false" name="Spec" type="GstAudioRingBufferSpec">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="samples_per_seg" access="public" writeable="false" readable="true" is_callback="false" name="SamplesPerSeg" type="gint" />
+      <field cname="empty_seg" access="public" writeable="false" readable="true" is_callback="false" name="EmptySeg" type="guint8*" />
+      <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="State" type="gint" />
+      <field cname="segdone" access="public" writeable="false" readable="true" is_callback="false" name="Segdone" type="gint" />
+      <field cname="segbase" access="public" writeable="false" readable="true" is_callback="false" name="Segbase" type="gint" />
+      <field cname="waiting" access="public" writeable="false" readable="true" is_callback="false" name="Waiting" type="gint" />
+      <field cname="callback" access="private" writeable="false" readable="false" is_callback="false" name="Callback" type="GstAudioRingBufferCallback" />
+      <field cname="cb_data" access="private" writeable="false" readable="false" is_callback="false" name="CbData" type="gpointer" />
+      <field cname="need_reorder" access="private" writeable="false" readable="false" is_callback="false" name="NeedReorder" type="gboolean" />
+      <field cname="channel_reorder_map" access="private" writeable="false" readable="false" is_callback="false" name="ChannelReorderMap" type="gint" array="true" array_len="64" />
+      <field cname="flushing" access="private" writeable="false" readable="false" is_callback="false" name="Flushing" type="gboolean" />
+      <field cname="may_start" access="private" writeable="false" readable="false" is_callback="false" name="MayStartField" type="gint" />
+      <field cname="active" access="private" writeable="false" readable="false" is_callback="false" name="Active" type="gboolean" />
+      <field cname="cb_data_notify" access="private" writeable="false" readable="false" is_callback="false" name="CbDataNotify" type="GDestroyNotify" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" padding="true" />
+    </object>
+    <object name="AudioSink" cname="GstAudioSink" opaque="false" hidden="false" parent="GstAudioBaseSink">
+      <class_struct cname="GstAudioSinkClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAudioBaseSinkClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="open" />
+        <method vm="prepare" />
+        <method vm="unprepare" />
+        <method vm="close" />
+        <method vm="write" />
+        <method vm="delay" />
+        <method vm="reset" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_sink_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Close" cname="close">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Delay" cname="delay">
+        <return-type type="guint" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Open" cname="open">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Prepare" cname="prepare">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Reset" cname="reset">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Unprepare" cname="unprepare">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Write" cname="write">
+        <return-type type="gint" />
+        <parameters>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter name="length" type="guint" />
+        </parameters>
+      </virtual_method>
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstAudioBaseSink*" />
+      <field cname="thread" access="private" writeable="false" readable="false" is_callback="false" name="Thread" type="GThread*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="AudioSrc" cname="GstAudioSrc" opaque="false" hidden="false" parent="GstAudioBaseSrc">
+      <class_struct cname="GstAudioSrcClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAudioBaseSrcClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="open" />
+        <method vm="prepare" />
+        <method vm="unprepare" />
+        <method vm="close" />
+        <method vm="read" />
+        <method vm="delay" />
+        <method vm="reset" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_src_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Close" cname="close">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Delay" cname="delay">
+        <return-type type="guint" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Open" cname="open">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Prepare" cname="prepare">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Read" cname="read">
+        <return-type type="guint" />
+        <parameters>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter name="length" type="guint" />
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Reset" cname="reset">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Unprepare" cname="unprepare">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstAudioBaseSrc*" />
+      <field cname="thread" access="private" writeable="false" readable="false" is_callback="false" name="Thread" type="GThread*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <struct name="AudioBaseSinkPrivate" cname="GstAudioBaseSinkPrivate" opaque="true" hidden="true" />
+    <struct name="AudioBaseSrcPrivate" cname="GstAudioBaseSrcPrivate" opaque="true" hidden="true" />
+    <struct name="AudioCdSrcPrivate" cname="GstAudioCdSrcPrivate" opaque="true" hidden="true" />
+    <struct name="AudioCdSrcTrack" cname="GstAudioCdSrcTrack" opaque="false" hidden="false">
+      <field cname="is_audio" access="public" writeable="true" readable="true" is_callback="false" name="IsAudio" type="gboolean" />
+      <field cname="num" access="public" writeable="true" readable="true" is_callback="false" name="Num" type="guint" />
+      <field cname="start" access="public" writeable="true" readable="true" is_callback="false" name="Start" type="guint" />
+      <field cname="end" access="public" writeable="true" readable="true" is_callback="false" name="End" type="guint" />
+      <field cname="tags" access="public" writeable="true" readable="true" is_callback="false" name="Tags" type="GstTagList*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved1" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved1" type="guint" array="true" array_len="2" padding="true" />
+      <field cname="_gst_reserved2" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved2" type="gpointer" array="true" array_len="2" padding="true" />
+    </struct>
+    <struct name="AudioChannelMixer" cname="GstAudioChannelMixer" opaque="true" hidden="false">
+      <method name="Free" cname="gst_audio_channel_mixer_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="IsPassthrough" cname="gst_audio_channel_mixer_is_passthrough">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Samples" cname="gst_audio_channel_mixer_samples">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="in" type="gpointer" />
+          <parameter allow-none="1" name="out" type="gpointer" />
+          <parameter name="samples" type="gint" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="AudioClippingMeta" cname="GstAudioClippingMeta" opaque="false" hidden="false" version="1.8">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="format" access="public" writeable="true" readable="true" is_callback="false" name="Format" type="GstFormat" />
+      <field cname="start" access="public" writeable="true" readable="true" is_callback="false" name="Start" type="guint64" />
+      <field cname="end" access="public" writeable="true" readable="true" is_callback="false" name="End" type="guint64" />
+      <method name="GetInfo" cname="gst_audio_clipping_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="AudioConverter" cname="GstAudioConverter" opaque="true" hidden="false">
+      <method name="Free" cname="gst_audio_converter_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetConfig" cname="gst_audio_converter_get_config">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="in_rate" type="gint" />
+          <parameter name="out_rate" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetInFrames" cname="gst_audio_converter_get_in_frames">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="out_frames" type="gsize" />
+        </parameters>
+      </method>
+      <method name="GetMaxLatency" cname="gst_audio_converter_get_max_latency">
+        <return-type type="gsize" />
+        <parameters />
+      </method>
+      <method name="GetOutFrames" cname="gst_audio_converter_get_out_frames">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="in_frames" type="gsize" />
+        </parameters>
+      </method>
+      <method name="Reset" cname="gst_audio_converter_reset">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Samples" cname="gst_audio_converter_samples">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GstAudioConverterFlags" />
+          <parameter allow-none="1" name="in" type="gpointer" />
+          <parameter name="in_frames" type="gsize" />
+          <parameter allow-none="1" name="out" type="gpointer" />
+          <parameter name="out_frames" type="gsize" />
+        </parameters>
+      </method>
+      <method name="SupportsInplace" cname="gst_audio_converter_supports_inplace">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="UpdateConfig" cname="gst_audio_converter_update_config">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="in_rate" type="gint" />
+          <parameter name="out_rate" type="gint" />
+          <parameter allow-none="1" name="config" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="AudioDecoderPrivate" cname="GstAudioDecoderPrivate" opaque="true" hidden="true" />
+    <struct name="AudioDownmixMeta" cname="GstAudioDownmixMeta" opaque="false" hidden="false" parent="GstMeta">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="from_position" access="public" writeable="true" readable="true" is_callback="false" name="FromPosition" type="GstAudioChannelPosition*" />
+      <field cname="to_position" access="public" writeable="true" readable="true" is_callback="false" name="ToPosition" type="GstAudioChannelPosition*" />
+      <field cname="from_channels" access="public" writeable="true" readable="true" is_callback="false" name="FromChannels" type="gint" />
+      <field cname="to_channels" access="public" writeable="true" readable="true" is_callback="false" name="ToChannels" type="gint" />
+      <field cname="matrix" access="public" writeable="true" readable="true" is_callback="false" name="Matrix" type="gfloat" />
+      <method name="GetInfo" cname="gst_audio_downmix_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="AudioEncoderPrivate" cname="GstAudioEncoderPrivate" opaque="true" hidden="true" />
+    <struct name="AudioFormatInfo" cname="GstAudioFormatInfo" opaque="false" hidden="false">
+      <field cname="format" access="public" writeable="true" readable="true" is_callback="false" name="Format" type="GstAudioFormat" />
+      <field cname="name" access="public" writeable="true" readable="true" is_callback="false" name="Name" type="gchar*" />
+      <field cname="description" access="public" writeable="true" readable="true" is_callback="false" name="Description" type="gchar*" />
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstAudioFormatFlags" />
+      <field cname="endianness" access="public" writeable="true" readable="true" is_callback="false" name="Endianness" type="gint" />
+      <field cname="width" access="public" writeable="true" readable="true" is_callback="false" name="Width" type="gint" />
+      <field cname="depth" access="public" writeable="true" readable="true" is_callback="false" name="Depth" type="gint" />
+      <field cname="silence" access="public" writeable="true" readable="true" is_callback="false" name="Silence" type="guint8" array="true" array_len="8" />
+      <field cname="unpack_format" access="public" writeable="true" readable="true" is_callback="false" name="UnpackFormat" type="GstAudioFormat" />
+      <field cname="unpack_func" access="public" writeable="true" readable="true" is_callback="false" name="UnpackFunc" type="GstAudioFormatUnpack" />
+      <field cname="pack_func" access="public" writeable="true" readable="true" is_callback="false" name="PackFunc" type="GstAudioFormatPack" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <boxed name="AudioInfo" cname="GstAudioInfo" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_audio_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="finfo" access="public" writeable="true" readable="true" is_callback="false" name="Finfo" type="GstAudioFormatInfo*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstAudioFlags" />
+      <field cname="layout" access="public" writeable="true" readable="true" is_callback="false" name="Layout" type="GstAudioLayout" />
+      <field cname="rate" access="public" writeable="true" readable="true" is_callback="false" name="Rate" type="gint" />
+      <field cname="channels" access="public" writeable="true" readable="true" is_callback="false" name="Channels" type="gint" />
+      <field cname="bpf" access="public" writeable="true" readable="true" is_callback="false" name="Bpf" type="gint" />
+      <field cname="position" access="public" writeable="true" readable="true" is_callback="false" name="Position" type="GstAudioChannelPosition" array="true" array_len="64" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <constructor cname="gst_audio_info_new" disable_void_ctor="" />
+      <method name="Convert" cname="gst_audio_info_convert">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src_fmt" type="GstFormat" />
+          <parameter name="src_val" type="gint64" />
+          <parameter name="dest_fmt" type="GstFormat" />
+          <parameter name="dest_val" type="gint64" />
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_audio_info_copy">
+        <return-type type="GstAudioInfo*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_audio_info_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="FromCaps" cname="gst_audio_info_from_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Init" cname="gst_audio_info_init">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="IsEqual" cname="gst_audio_info_is_equal" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="other" type="GstAudioInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetFormat" cname="gst_audio_info_set_format">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstAudioFormat" />
+          <parameter name="rate" type="gint" />
+          <parameter name="channels" type="gint" />
+          <parameter name="position" type="GstAudioChannelPosition" />
+        </parameters>
+      </method>
+      <method name="ToCaps" cname="gst_audio_info_to_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="AudioQuantize" cname="GstAudioQuantize" opaque="true" hidden="false">
+      <method name="Free" cname="gst_audio_quantize_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Reset" cname="gst_audio_quantize_reset">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Samples" cname="gst_audio_quantize_samples">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="in" type="gpointer" />
+          <parameter allow-none="1" name="out" type="gpointer" />
+          <parameter name="samples" type="guint" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="AudioResampler" cname="GstAudioResampler" opaque="true" hidden="false">
+      <method name="Free" cname="gst_audio_resampler_free" version="1.6">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetInFrames" cname="gst_audio_resampler_get_in_frames">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="out_frames" type="gsize" />
+        </parameters>
+      </method>
+      <method name="GetMaxLatency" cname="gst_audio_resampler_get_max_latency">
+        <return-type type="gsize" />
+        <parameters />
+      </method>
+      <method name="GetOutFrames" cname="gst_audio_resampler_get_out_frames">
+        <return-type type="gsize" />
+        <parameters>
+          <parameter name="in_frames" type="gsize" />
+        </parameters>
+      </method>
+      <method name="Resample" cname="gst_audio_resampler_resample">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="in" type="gpointer" />
+          <parameter name="in_frames" type="gsize" />
+          <parameter allow-none="1" name="out" type="gpointer" />
+          <parameter name="out_frames" type="gsize" />
+        </parameters>
+      </method>
+      <method name="Reset" cname="gst_audio_resampler_reset">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Update" cname="gst_audio_resampler_update">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="in_rate" type="gint" />
+          <parameter name="out_rate" type="gint" />
+          <parameter name="options" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="New" cname="gst_audio_resampler_new" shared="true">
+        <return-type type="GstAudioResampler*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="method" type="GstAudioResamplerMethod" />
+          <parameter name="flags" type="GstAudioResamplerFlags" />
+          <parameter name="format" type="GstAudioFormat" />
+          <parameter name="channels" type="gint" />
+          <parameter name="in_rate" type="gint" />
+          <parameter name="out_rate" type="gint" />
+          <parameter name="options" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="OptionsSetQuality" cname="gst_audio_resampler_options_set_quality" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="method" type="GstAudioResamplerMethod" />
+          <parameter name="quality" type="guint" />
+          <parameter name="in_rate" type="gint" />
+          <parameter name="out_rate" type="gint" />
+          <parameter name="options" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="AudioRingBufferSpec" cname="GstAudioRingBufferSpec" opaque="true" hidden="false">
+      <field cname="caps" access="public" writeable="true" readable="true" is_callback="false" name="Caps" type="GstCaps*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstAudioRingBufferFormatType" />
+      <field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstAudioInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="latency_time" access="public" writeable="true" readable="true" is_callback="false" name="LatencyTime" type="guint64" />
+      <field cname="buffer_time" access="public" writeable="true" readable="true" is_callback="false" name="BufferTime" type="guint64" />
+      <field cname="segsize" access="public" writeable="true" readable="true" is_callback="false" name="Segsize" type="gint" />
+      <field cname="segtotal" access="public" writeable="true" readable="true" is_callback="false" name="Segtotal" type="gint" />
+      <field cname="seglatency" access="public" writeable="true" readable="true" is_callback="false" name="Seglatency" type="gint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <boxed name="AudioStreamAlign" cname="GstAudioStreamAlign" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_audio_stream_align_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_audio_stream_align_new" version="1.14">
+        <parameters>
+          <parameter name="rate" type="gint" />
+          <parameter name="alignment_threshold" type="guint64" />
+          <parameter name="discont_wait" type="guint64" />
+        </parameters>
+      </constructor>
+      <method name="Copy" cname="gst_audio_stream_align_copy" version="1.14">
+        <return-type type="GstAudioStreamAlign*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_audio_stream_align_free" version="1.14">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetAlignmentThreshold" cname="gst_audio_stream_align_get_alignment_threshold">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetDiscontWait" cname="gst_audio_stream_align_get_discont_wait">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetRate" cname="gst_audio_stream_align_get_rate">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetSamplesSinceDiscont" cname="gst_audio_stream_align_get_samples_since_discont" version="1.14">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetTimestampAtDiscont" cname="gst_audio_stream_align_get_timestamp_at_discont" version="1.14">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="MarkDiscont" cname="gst_audio_stream_align_mark_discont" version="1.14">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Process" cname="gst_audio_stream_align_process" version="1.14">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="discont" type="gboolean" />
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="n_samples" type="guint" />
+          <parameter name="out_timestamp" type="guint64" owned="true" pass_as="out" />
+          <parameter name="out_duration" type="guint64" owned="true" pass_as="out" />
+          <parameter name="out_sample_position" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="SetAlignmentThreshold" cname="gst_audio_stream_align_set_alignment_threshold">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="alignment_threshold" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetDiscontWait" cname="gst_audio_stream_align_set_discont_wait">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="discont_wait" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetRate" cname="gst_audio_stream_align_set_rate">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="rate" type="gint" />
+        </parameters>
+      </method>
+    </boxed>
+    <object name="Global" cname="GstAudioGlobal" opaque="true">
+      <method name="AudioBufferClip" cname="gst_audio_buffer_clip" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="segment" type="GstSegment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="rate" type="gint" />
+          <parameter name="bpf" type="gint" />
+        </parameters>
+      </method>
+      <method name="AudioBufferReorderChannels" cname="gst_audio_buffer_reorder_channels" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="format" type="GstAudioFormat" />
+          <parameter name="channels" type="gint" />
+          <parameter name="from" type="GstAudioChannelPosition*" array="true" />
+          <parameter name="to" type="GstAudioChannelPosition*" array="true" />
+        </parameters>
+      </method>
+      <method name="AudioChannelGetFallbackMask" cname="gst_audio_channel_get_fallback_mask" shared="true" version="1.8">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="channels" type="gint" />
+        </parameters>
+      </method>
+      <method name="AudioChannelPositionsFromMask" cname="gst_audio_channel_positions_from_mask" shared="true">
+        <return-type type="gboolean" array_index="2" />
+        <parameters>
+          <parameter name="channels" type="gint" array_index="2" />
+          <parameter name="channel_mask" type="guint64" />
+          <parameter name="position" type="GstAudioChannelPosition*" array="true" array_length_param_index="0" />
+        </parameters>
+      </method>
+      <method name="AudioChannelPositionsToMask" cname="gst_audio_channel_positions_to_mask" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="position" type="GstAudioChannelPosition*" array="true" array_length_param_index="1" />
+          <parameter name="channels" type="gint" />
+          <parameter name="force_order" type="gboolean" />
+          <parameter name="channel_mask" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="AudioChannelPositionsToString" cname="gst_audio_channel_positions_to_string" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="position" type="GstAudioChannelPosition*" array="true" array_length_param_index="1" />
+          <parameter name="channels" type="gint" />
+        </parameters>
+      </method>
+      <method name="AudioChannelPositionsToValidOrder" cname="gst_audio_channel_positions_to_valid_order" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="position" type="GstAudioChannelPosition*" array="true" array_length_param_index="1" />
+          <parameter name="channels" type="gint" />
+        </parameters>
+      </method>
+      <method name="AudioCheckValidChannelPositions" cname="gst_audio_check_valid_channel_positions" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="position" type="GstAudioChannelPosition*" array="true" array_length_param_index="1" />
+          <parameter name="channels" type="gint" />
+          <parameter name="force_order" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="AudioClippingMetaApiGetType" cname="gst_audio_clipping_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="AudioClippingMetaGetInfo" cname="gst_audio_clipping_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="AudioDownmixMetaApiGetType" cname="gst_audio_downmix_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="AudioDownmixMetaGetInfo" cname="gst_audio_downmix_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="AudioFormatBuildInteger" cname="gst_audio_format_build_integer" shared="true">
+        <return-type type="GstAudioFormat" />
+        <parameters>
+          <parameter name="sign" type="gboolean" />
+          <parameter name="endianness" type="gint" />
+          <parameter name="width" type="gint" />
+          <parameter name="depth" type="gint" />
+        </parameters>
+      </method>
+      <method name="AudioFormatFillSilence" cname="gst_audio_format_fill_silence" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="info" type="GstAudioFormatInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="dest" type="guint8*" array="true" array_length_param_index="2" />
+          <parameter name="n_length" type="gsize" array_index="1" />
+        </parameters>
+      </method>
+      <method name="AudioFormatFromString" cname="gst_audio_format_from_string" shared="true">
+        <return-type type="GstAudioFormat" />
+        <parameters>
+          <parameter name="format" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AudioFormatGetInfo" cname="gst_audio_format_get_info" shared="true">
+        <return-type type="GstAudioFormatInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="format" type="GstAudioFormat" />
+        </parameters>
+      </method>
+      <method name="AudioFormatInfoGetType" cname="gst_audio_format_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="AudioFormatToString" cname="gst_audio_format_to_string" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="format" type="GstAudioFormat" />
+        </parameters>
+      </method>
+      <method name="AudioGetChannelReorderMap" cname="gst_audio_get_channel_reorder_map" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="channels" type="gint" />
+          <parameter name="from" type="GstAudioChannelPosition*" array="true" />
+          <parameter name="to" type="GstAudioChannelPosition*" array="true" />
+          <parameter name="reorder_map" type="gint*" array="true" />
+        </parameters>
+      </method>
+      <method name="AudioIec61937FrameSize" cname="gst_audio_iec61937_frame_size" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AudioIec61937Payload" cname="gst_audio_iec61937_payload" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="src_n" type="guint" />
+          <parameter name="dst" type="guint8*" array="true" array_length_param_index="3" />
+          <parameter name="dst_n" type="guint" array_index="2" />
+          <parameter name="spec" type="GstAudioRingBufferSpec*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="endianness" type="gint" />
+        </parameters>
+      </method>
+      <method name="AudioReorderChannels" cname="gst_audio_reorder_channels" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="gsize" />
+          <parameter name="format" type="GstAudioFormat" />
+          <parameter name="channels" type="gint" />
+          <parameter name="from" type="GstAudioChannelPosition*" array="true" />
+          <parameter name="to" type="GstAudioChannelPosition*" array="true" />
+        </parameters>
+      </method>
+      <method name="AudioResamplerNew" cname="gst_audio_resampler_new" shared="true">
+        <return-type type="GstAudioResampler*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="method" type="GstAudioResamplerMethod" />
+          <parameter name="flags" type="GstAudioResamplerFlags" />
+          <parameter name="format" type="GstAudioFormat" />
+          <parameter name="channels" type="gint" />
+          <parameter name="in_rate" type="gint" />
+          <parameter name="out_rate" type="gint" />
+          <parameter name="options" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AudioResamplerOptionsSetQuality" cname="gst_audio_resampler_options_set_quality" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="method" type="GstAudioResamplerMethod" />
+          <parameter name="quality" type="guint" />
+          <parameter name="in_rate" type="gint" />
+          <parameter name="out_rate" type="gint" />
+          <parameter name="options" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BufferAddAudioClippingMeta" cname="gst_buffer_add_audio_clipping_meta" shared="true" version="1.8">
+        <return-type type="GstAudioClippingMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="format" type="GstFormat" />
+          <parameter name="start" type="guint64" />
+          <parameter name="end" type="guint64" />
+        </parameters>
+      </method>
+      <method name="BufferAddAudioDownmixMeta" cname="gst_buffer_add_audio_downmix_meta" shared="true">
+        <return-type type="GstAudioDownmixMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="from_position" type="GstAudioChannelPosition*" array="true" array_length_param_index="2" />
+          <parameter name="from_channels" type="gint" array_index="1" />
+          <parameter name="to_position" type="GstAudioChannelPosition*" array="true" array_length_param_index="4" />
+          <parameter name="to_channels" type="gint" array_index="3" />
+          <parameter name="matrix" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="BufferGetAudioDownmixMetaForChannels" cname="gst_buffer_get_audio_downmix_meta_for_channels" shared="true">
+        <return-type type="GstAudioDownmixMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="to_position" type="GstAudioChannelPosition*" array="true" array_length_param_index="2" />
+          <parameter name="to_channels" type="gint" array_index="1" />
+        </parameters>
+      </method>
+      <method name="StreamVolumeConvertVolume" cname="gst_stream_volume_convert_volume" shared="true">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="from" type="GstStreamVolumeFormat" />
+          <parameter name="to" type="GstStreamVolumeFormat" />
+          <parameter name="val" type="gdouble" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstAudioConstants" opaque="true">
+      <constant value="(int) [ 1, max ]" ctype="gchar*" gtype="gchar*" name="AUDIO_CHANNELS_RANGE" />
+      <constant value="GstAudioConverter.dither-method" ctype="gchar*" gtype="gchar*" name="AUDIO_CONVERTER_OPT_DITHER_METHOD" />
+      <constant value="GstAudioConverter.mix-matrix" ctype="gchar*" gtype="gchar*" name="AUDIO_CONVERTER_OPT_MIX_MATRIX" />
+      <constant value="GstAudioConverter.noise-shaping-method" ctype="gchar*" gtype="gchar*" name="AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD" />
+      <constant value="GstAudioConverter.quantization" ctype="gchar*" gtype="gchar*" name="AUDIO_CONVERTER_OPT_QUANTIZATION" />
+      <constant value="GstAudioConverter.resampler-method" ctype="gchar*" gtype="gchar*" name="AUDIO_CONVERTER_OPT_RESAMPLER_METHOD" />
+      <constant value="10" ctype="gint" gtype="gint" name="AUDIO_DECODER_MAX_ERRORS" />
+      <constant value="sink" ctype="gchar*" gtype="gchar*" name="AUDIO_DECODER_SINK_NAME" />
+      <constant value="src" ctype="gchar*" gtype="gchar*" name="AUDIO_DECODER_SRC_NAME" />
+      <constant value="2" ctype="gint" gtype="gint" name="AUDIO_DEF_CHANNELS" />
+      <constant value="S16LE" ctype="gchar*" gtype="gchar*" name="AUDIO_DEF_FORMAT" />
+      <constant value="44100" ctype="gint" gtype="gint" name="AUDIO_DEF_RATE" />
+      <constant value="sink" ctype="gchar*" gtype="gchar*" name="AUDIO_ENCODER_SINK_NAME" />
+      <constant value="src" ctype="gchar*" gtype="gchar*" name="AUDIO_ENCODER_SRC_NAME" />
+      <constant value=" { S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }" ctype="gchar*" gtype="gchar*" name="AUDIO_FORMATS_ALL" />
+      <constant value="(int) [ 1, max ]" ctype="gchar*" gtype="gchar*" name="AUDIO_RATE_RANGE" />
+      <constant value="GstAudioResampler.cubic-b" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_CUBIC_B" />
+      <constant value="GstAudioResampler.cubic-c" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_CUBIC_C" />
+      <constant value="GstAudioResampler.cutoff" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_CUTOFF" />
+      <constant value="GstAudioResampler.filter-interpolation" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION" />
+      <constant value="GstAudioResampler.filter-mode" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_FILTER_MODE" />
+      <constant value="GstAudioResampler.filter-mode-threshold" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD" />
+      <constant value="GstAudioResampler.filter-oversample" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE" />
+      <constant value="GstAudioResampler.max-phase-error" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR" />
+      <constant value="GstAudioResampler.n-taps" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_N_TAPS" />
+      <constant value="GstAudioResampler.stop-attenutation" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_STOP_ATTENUATION" />
+      <constant value="GstAudioResampler.transition-bandwidth" ctype="gchar*" gtype="gchar*" name="AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH" />
+      <constant value="4" ctype="gint" gtype="gint" name="AUDIO_RESAMPLER_QUALITY_DEFAULT" />
+      <constant value="10" ctype="gint" gtype="gint" name="AUDIO_RESAMPLER_QUALITY_MAX" />
+      <constant value="0" ctype="gint" gtype="gint" name="AUDIO_RESAMPLER_QUALITY_MIN" />
+      <constant value="channels" ctype="gchar*" gtype="gchar*" name="META_TAG_AUDIO_CHANNELS_STR" version="1.2" />
+      <constant value="rate" ctype="gchar*" gtype="gchar*" name="META_TAG_AUDIO_RATE_STR" version="1.8" />
+      <constant value="audio" ctype="gchar*" gtype="gchar*" name="META_TAG_AUDIO_STR" version="1.2" />
+    </object>
+  </namespace>
+  <namespace name="Gst.Base" library="libgstbase-1.0-0.dll">
+    <enum name="BaseParseFrameFlags" cname="GstBaseParseFrameFlags" type="flags">
+      <member cname="GST_BASE_PARSE_FRAME_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_BASE_PARSE_FRAME_FLAG_NEW_FRAME" name="NewFrame" value="1" />
+      <member cname="GST_BASE_PARSE_FRAME_FLAG_NO_FRAME" name="NoFrame" value="2" />
+      <member cname="GST_BASE_PARSE_FRAME_FLAG_CLIP" name="Clip" value="4" />
+      <member cname="GST_BASE_PARSE_FRAME_FLAG_DROP" name="Drop" value="8" />
+      <member cname="GST_BASE_PARSE_FRAME_FLAG_QUEUE" name="Queue" value="16" />
+    </enum>
+    <enum name="BaseSrcFlags" cname="GstBaseSrcFlags" type="flags">
+      <member cname="GST_BASE_SRC_FLAG_STARTING" name="Starting" value="16384" />
+      <member cname="GST_BASE_SRC_FLAG_STARTED" name="Started" value="32768" />
+      <member cname="GST_BASE_SRC_FLAG_LAST" name="Last" value="1048576" />
+    </enum>
+    <enum name="CollectPadsStateFlags" cname="GstCollectPadsStateFlags" type="flags">
+      <member cname="GST_COLLECT_PADS_STATE_EOS" name="Eos" value="1" />
+      <member cname="GST_COLLECT_PADS_STATE_FLUSHING" name="Flushing" value="2" />
+      <member cname="GST_COLLECT_PADS_STATE_NEW_SEGMENT" name="NewSegment" value="4" />
+      <member cname="GST_COLLECT_PADS_STATE_WAITING" name="Waiting" value="8" />
+      <member cname="GST_COLLECT_PADS_STATE_LOCKED" name="Locked" value="16" />
+    </enum>
+    <callback name="CollectDataDestroyNotify" cname="GstCollectDataDestroyNotify">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="data" type="GstCollectData*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="CollectPadsBufferFunction" cname="GstCollectPadsBufferFunction">
+      <return-type type="GstFlowReturn" />
+      <parameters>
+        <parameter name="pads" type="GstCollectPads*" />
+        <parameter name="data" type="GstCollectData*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="buffer" type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CollectPadsClipFunction" cname="GstCollectPadsClipFunction">
+      <return-type type="GstFlowReturn" />
+      <parameters>
+        <parameter name="pads" type="GstCollectPads*" />
+        <parameter name="data" type="GstCollectData*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="inbuffer" type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="outbuffer" type="GstBuffer**">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="4" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CollectPadsCompareFunction" cname="GstCollectPadsCompareFunction">
+      <return-type type="gint" />
+      <parameters>
+        <parameter name="pads" type="GstCollectPads*" />
+        <parameter name="data1" type="GstCollectData*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="timestamp1" type="guint64" />
+        <parameter name="data2" type="GstCollectData*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="timestamp2" type="guint64" />
+        <parameter allow-none="1" closure="5" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CollectPadsEventFunction" cname="GstCollectPadsEventFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pads" type="GstCollectPads*" />
+        <parameter name="pad" type="GstCollectData*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="event" type="GstEvent*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CollectPadsFlushFunction" cname="GstCollectPadsFlushFunction" version="1.4">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="pads" type="GstCollectPads*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CollectPadsFunction" cname="GstCollectPadsFunction">
+      <return-type type="GstFlowReturn" />
+      <parameters>
+        <parameter name="pads" type="GstCollectPads*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="CollectPadsQueryFunction" cname="GstCollectPadsQueryFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pads" type="GstCollectPads*" />
+        <parameter name="pad" type="GstCollectData*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="query" type="GstQuery*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback hidden="0" name="DataQueueCheckFullFunction" cname="GstDataQueueCheckFullFunction">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="queue" type="GstDataQueue*" />
+        <parameter name="visible" type="guint" />
+        <parameter name="bytes" type="guint" />
+        <parameter name="time" type="guint64" />
+        <parameter allow-none="1" name="checkdata" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="DataQueueEmptyCallback" cname="GstDataQueueEmptyCallback">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="queue" type="GstDataQueue*" />
+        <parameter allow-none="1" name="checkdata" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="DataQueueFullCallback" cname="GstDataQueueFullCallback">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="queue" type="GstDataQueue*" />
+        <parameter allow-none="1" name="checkdata" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="TypeFindHelperGetRangeFunction" cname="GstTypeFindHelperGetRangeFunction">
+      <return-type type="GstFlowReturn" />
+      <parameters>
+        <parameter name="obj" type="GstObject*" />
+        <parameter allow-none="1" name="parent" type="GstObject*" />
+        <parameter name="offset" type="guint64" />
+        <parameter name="length" type="guint" />
+        <parameter name="buffer" type="GstBuffer**">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <object name="Adapter" cname="GstAdapter" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstAdapterClass" />
+      <method name="GetType" cname="gst_adapter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_adapter_new" disable_void_ctor="" />
+      <method name="Available" cname="gst_adapter_available">
+        <return-type type="gsize" />
+        <parameters />
+      </method>
+      <method name="AvailableFast" cname="gst_adapter_available_fast">
+        <return-type type="gsize" />
+        <parameters />
+      </method>
+      <method name="Clear" cname="gst_adapter_clear">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="CopyBytes" cname="gst_adapter_copy_bytes" version="1.4">
+        <return-type type="GBytes*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="DistanceFromDiscont" cname="gst_adapter_distance_from_discont">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="DtsAtDiscont" cname="gst_adapter_dts_at_discont" version="1.10">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="Flush" cname="gst_adapter_flush">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flush" type="gsize" />
+        </parameters>
+      </method>
+      <method name="GetBuffer" cname="gst_adapter_get_buffer" version="1.6">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nbytes" type="gsize" />
+        </parameters>
+      </method>
+      <method name="GetBufferFast" cname="gst_adapter_get_buffer_fast" version="1.6">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nbytes" type="gsize" />
+        </parameters>
+      </method>
+      <method name="GetBufferList" cname="gst_adapter_get_buffer_list" version="1.6">
+        <return-type type="GstBufferList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nbytes" type="gsize" />
+        </parameters>
+      </method>
+      <method name="GetList" cname="gst_adapter_get_list" version="1.6">
+        <return-type type="GList*" element_type="GList*" elements_owned="true" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nbytes" type="gsize" />
+        </parameters>
+      </method>
+      <method name="Map" cname="gst_adapter_map">
+        <return-type type="gconstpointer" array="true" array_length_param_index="0" />
+        <parameters>
+          <parameter name="size" type="gsize*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="MaskedScanUint32" cname="gst_adapter_masked_scan_uint32">
+        <return-type type="gssize" />
+        <parameters>
+          <parameter name="mask" type="guint32" />
+          <parameter name="pattern" type="guint32" />
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="MaskedScanUint32Peek" cname="gst_adapter_masked_scan_uint32_peek">
+        <return-type type="gssize" />
+        <parameters>
+          <parameter name="mask" type="guint32" />
+          <parameter name="pattern" type="guint32" />
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gsize" />
+          <parameter allow-none="1" name="value" type="guint32*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="OffsetAtDiscont" cname="gst_adapter_offset_at_discont" version="1.10">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="PrevDts" cname="gst_adapter_prev_dts">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter allow-none="1" name="distance" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PrevDtsAtOffset" cname="gst_adapter_prev_dts_at_offset" version="1.2">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter allow-none="1" name="distance" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PrevOffset" cname="gst_adapter_prev_offset" version="1.10">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter allow-none="1" name="distance" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PrevPts" cname="gst_adapter_prev_pts">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter allow-none="1" name="distance" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PrevPtsAtOffset" cname="gst_adapter_prev_pts_at_offset" version="1.2">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+          <parameter allow-none="1" name="distance" type="guint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PtsAtDiscont" cname="gst_adapter_pts_at_discont" version="1.10">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="Push" cname="gst_adapter_push">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buf" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Take" cname="gst_adapter_take">
+        <return-type type="gpointer*" owned="true" array="true" array_length_param_index="0" />
+        <parameters>
+          <parameter name="nbytes" type="gsize*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="TakeBuffer" cname="gst_adapter_take_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nbytes" type="gsize" />
+        </parameters>
+      </method>
+      <method name="TakeBufferFast" cname="gst_adapter_take_buffer_fast" version="1.2">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nbytes" type="gsize" />
+        </parameters>
+      </method>
+      <method name="TakeBufferList" cname="gst_adapter_take_buffer_list" version="1.6">
+        <return-type type="GstBufferList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nbytes" type="gsize" />
+        </parameters>
+      </method>
+      <method name="TakeList" cname="gst_adapter_take_list">
+        <return-type type="GList*" element_type="GList*" elements_owned="true" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="nbytes" type="gsize" />
+        </parameters>
+      </method>
+      <method name="Unmap" cname="gst_adapter_unmap">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </object>
+    <object name="Aggregator" cname="GstAggregator" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstAggregatorClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="flush" />
+        <method vm="clip" />
+        <method vm="finish_buffer" />
+        <method vm="sink_event" />
+        <method vm="sink_query" />
+        <method vm="src_event" />
+        <method vm="src_query" />
+        <method vm="src_activate" />
+        <method vm="aggregate" />
+        <method vm="stop" />
+        <method vm="start" />
+        <method vm="get_next_time" />
+        <method vm="create_new_pad" />
+        <method vm="update_src_caps" />
+        <method vm="fixate_src_caps" />
+        <method vm="negotiated_src_caps" />
+        <method vm="decide_allocation" />
+        <method vm="propose_allocation" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_aggregator_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Aggregate" cname="aggregate">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="timeout" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Clip" cname="clip">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="aggregator_pad" type="GstAggregatorPad*" />
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateNewPad" cname="create_new_pad" hidden="true">
+        <return-type type="GstAggregatorPad*" />
+        <parameters>
+          <parameter name="templ" type="GstPadTemplate*" />
+          <parameter name="req_name" type="const-gchar*" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="DecideAllocation" cname="decide_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="FinishBuffer" cname="finish_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="FixateSrcCaps" cname="fixate_src_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Flush" cname="flush">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="GetNextTime" cname="get_next_time">
+        <return-type type="guint64" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="NegotiatedSrcCaps" cname="negotiated_src_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProposeAllocation" cname="propose_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pad" type="GstAggregatorPad*" />
+          <parameter name="decide_query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkEvent" cname="sink_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="aggregator_pad" type="GstAggregatorPad*" />
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkQuery" cname="sink_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="aggregator_pad" type="GstAggregatorPad*" />
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcActivate" cname="src_activate">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="mode" type="GstPadMode" />
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcEvent" cname="src_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcQuery" cname="src_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="UpdateSrcCaps" cname="update_src_caps">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="_ret" type="GstCaps**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="FinishBuffer" cname="gst_aggregator_finish_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAllocator" cname="gst_aggregator_get_allocator">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBufferPool" cname="gst_aggregator_get_buffer_pool">
+        <return-type type="GstBufferPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_aggregator_get_latency">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="SetLatency" cname="gst_aggregator_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min_latency" type="guint64" />
+          <parameter name="max_latency" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetSrcCaps" cname="gst_aggregator_set_src_caps">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <property name="Latency" cname="latency" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="StartTime" cname="start-time" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstElement*" hidden="true" />
+      <field cname="srcpad" access="public" writeable="false" readable="true" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="segment" access="public" writeable="false" readable="true" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAggregatorPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+    </object>
+    <object name="AggregatorPad" cname="GstAggregatorPad" opaque="false" hidden="false" parent="GstPad">
+      <class_struct cname="GstAggregatorPadClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstPadClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="flush" />
+        <method vm="skip_buffer" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_aggregator_pad_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Flush" cname="flush">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="aggregator" type="GstAggregator*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SkipBuffer" cname="skip_buffer">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="aggregator" type="GstAggregator*" />
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="DropBuffer" cname="gst_aggregator_pad_drop_buffer">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEos" cname="gst_aggregator_pad_is_eos">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="PeekBuffer" cname="gst_aggregator_pad_peek_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="PopBuffer" cname="gst_aggregator_pad_pop_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstPad*" hidden="true" />
+      <field cname="segment" access="public" writeable="false" readable="true" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GstAggregatorPadPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="BaseParse" cname="GstBaseParse" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstBaseParseClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="set_sink_caps" />
+        <method vm="handle_frame" />
+        <method vm="pre_push_frame" />
+        <method vm="convert" />
+        <method vm="sink_event" />
+        <method vm="src_event" />
+        <method vm="get_sink_caps" />
+        <method vm="detect" />
+        <method vm="sink_query" />
+        <method vm="src_query" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="18" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_base_parse_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Convert" cname="convert">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src_format" type="GstFormat" />
+          <parameter name="src_value" type="gint64" />
+          <parameter name="dest_format" type="GstFormat" />
+          <parameter name="dest_value" type="gint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Detect" cname="detect">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetSinkCaps" cname="get_sink_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleFrame" cname="handle_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstBaseParseFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="skipsize" type="gint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="PrePushFrame" cname="pre_push_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstBaseParseFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetSinkCaps" cname="set_sink_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkEvent" cname="sink_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkQuery" cname="sink_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcEvent" cname="src_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcQuery" cname="src_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <method name="AddIndexEntry" cname="gst_base_parse_add_index_entry">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="offset" type="guint64" />
+          <parameter name="ts" type="guint64" />
+          <parameter name="key" type="gboolean" />
+          <parameter name="force" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="ConvertDefault" cname="gst_base_parse_convert_default">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src_format" type="GstFormat" />
+          <parameter name="src_value" type="gint64" />
+          <parameter name="dest_format" type="GstFormat" />
+          <parameter name="dest_value" type="gint64" />
+        </parameters>
+      </method>
+      <method name="Drain" cname="gst_base_parse_drain" version="1.12">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="FinishFrame" cname="gst_base_parse_finish_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstBaseParseFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="gint" />
+        </parameters>
+      </method>
+      <method name="MergeTags" cname="gst_base_parse_merge_tags" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="PushFrame" cname="gst_base_parse_push_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstBaseParseFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetAverageBitrate" cname="gst_base_parse_set_average_bitrate">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bitrate" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetDuration" cname="gst_base_parse_set_duration">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fmt" type="GstFormat" />
+          <parameter name="duration" type="gint64" />
+          <parameter name="interval" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetFrameRate" cname="gst_base_parse_set_frame_rate">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fps_num" type="guint" />
+          <parameter name="fps_den" type="guint" />
+          <parameter name="lead_in" type="guint" />
+          <parameter name="lead_out" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetHasTimingInfo" cname="gst_base_parse_set_has_timing_info">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="has_timing" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetInferTs" cname="gst_base_parse_set_infer_ts">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="infer_ts" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_base_parse_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min_latency" type="guint64" />
+          <parameter name="max_latency" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetMinFrameSize" cname="gst_base_parse_set_min_frame_size">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min_size" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetPassthrough" cname="gst_base_parse_set_passthrough">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="passthrough" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetPtsInterpolation" cname="gst_base_parse_set_pts_interpolation">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pts_interpolate" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSyncable" cname="gst_base_parse_set_syncable">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="syncable" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetTsAtOffset" cname="gst_base_parse_set_ts_at_offset" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="offset" type="gsize" />
+        </parameters>
+      </method>
+      <property name="DisablePassthrough" cname="disable-passthrough" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="sinkpad" access="public" writeable="false" readable="true" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="srcpad" access="public" writeable="false" readable="true" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="flags" access="public" writeable="false" readable="true" is_callback="false" name="Flags" type="guint" />
+      <field cname="segment" access="public" writeable="false" readable="true" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstBaseParsePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </object>
+    <object name="BaseSink" cname="GstBaseSink" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstBaseSinkClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_caps" />
+        <method vm="set_caps" />
+        <method vm="fixate" />
+        <method vm="activate_pull" />
+        <method vm="get_times" />
+        <method vm="propose_allocation" />
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="unlock" />
+        <method vm="unlock_stop" />
+        <method vm="query" />
+        <method vm="event" />
+        <method vm="wait_event" />
+        <method vm="prepare" />
+        <method vm="prepare_list" />
+        <method vm="preroll" />
+        <method vm="render" />
+        <method vm="render_list" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_base_sink_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="ActivatePull" cname="activate_pull">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Event" cname="event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Fixate" cname="fixate">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetCaps" cname="get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetTimes" cname="get_times">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start" type="guint64" />
+          <parameter name="end" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Prepare" cname="prepare">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="PrepareList" cname="prepare_list">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Preroll" cname="preroll">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProposeAllocation" cname="propose_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Query" cname="query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Render" cname="render">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RenderList" cname="render_list">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetCaps" cname="set_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Unlock" cname="unlock">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="UnlockStop" cname="unlock_stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="WaitEvent" cname="wait_event">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="DoPreroll" cname="gst_base_sink_do_preroll">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="obj" type="GstMiniObject*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBlocksize" cname="gst_base_sink_get_blocksize">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetDropOutOfSegment" cname="gst_base_sink_get_drop_out_of_segment" version="1.12">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetLastSample" cname="gst_base_sink_get_last_sample">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_base_sink_get_latency">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetMaxBitrate" cname="gst_base_sink_get_max_bitrate" version="1.2">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetMaxLateness" cname="gst_base_sink_get_max_lateness">
+        <return-type type="gint64" />
+        <parameters />
+      </method>
+      <method name="GetRenderDelay" cname="gst_base_sink_get_render_delay">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetSync" cname="gst_base_sink_get_sync">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetThrottleTime" cname="gst_base_sink_get_throttle_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetTsOffset" cname="gst_base_sink_get_ts_offset">
+        <return-type type="gint64" />
+        <parameters />
+      </method>
+      <method name="IsAsyncEnabled" cname="gst_base_sink_is_async_enabled">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsLastSampleEnabled" cname="gst_base_sink_is_last_sample_enabled">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsQosEnabled" cname="gst_base_sink_is_qos_enabled">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="QueryLatency" cname="gst_base_sink_query_latency">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="live" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="upstream_live" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="min_latency" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max_latency" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="SetAsyncEnabled" cname="gst_base_sink_set_async_enabled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetBlocksize" cname="gst_base_sink_set_blocksize">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="blocksize" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetDropOutOfSegment" cname="gst_base_sink_set_drop_out_of_segment" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="drop_out_of_segment" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetLastSampleEnabled" cname="gst_base_sink_set_last_sample_enabled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetMaxBitrate" cname="gst_base_sink_set_max_bitrate" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="max_bitrate" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetMaxLateness" cname="gst_base_sink_set_max_lateness">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="max_lateness" type="gint64" />
+        </parameters>
+      </method>
+      <method name="SetQosEnabled" cname="gst_base_sink_set_qos_enabled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetRenderDelay" cname="gst_base_sink_set_render_delay">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="delay" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetSync" cname="gst_base_sink_set_sync">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sync" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetThrottleTime" cname="gst_base_sink_set_throttle_time">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="throttle" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetTsOffset" cname="gst_base_sink_set_ts_offset">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="offset" type="gint64" />
+        </parameters>
+      </method>
+      <method name="Wait" cname="gst_base_sink_wait">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+          <parameter allow-none="1" name="jitter" type="gint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="WaitClock" cname="gst_base_sink_wait_clock">
+        <return-type type="GstClockReturn" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+          <parameter allow-none="1" name="jitter" type="gint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="WaitPreroll" cname="gst_base_sink_wait_preroll">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </method>
+      <property name="Async" cname="async" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Blocksize" cname="blocksize" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="EnableLastSample" cname="enable-last-sample" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="LastSample" cname="last-sample" type="GstSample*" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="MaxBitrate" cname="max-bitrate" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.2" />
+      <property name="MaxLateness" cname="max-lateness" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Qos" cname="qos" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="RenderDelay" cname="render-delay" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Sync" cname="sync" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="ThrottleTime" cname="throttle-time" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="TsOffset" cname="ts-offset" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="sinkpad" access="public" writeable="false" readable="true" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="pad_mode" access="public" writeable="false" readable="true" is_callback="false" name="PadMode" type="GstPadMode" />
+      <field cname="offset" access="public" writeable="false" readable="true" is_callback="false" name="Offset" type="guint64" />
+      <field cname="can_activate_pull" access="public" writeable="false" readable="true" is_callback="false" name="CanActivatePull" type="gboolean" />
+      <field cname="can_activate_push" access="public" writeable="false" readable="true" is_callback="false" name="CanActivatePush" type="gboolean" />
+      <field cname="preroll_lock" access="public" writeable="false" readable="true" is_callback="false" name="PrerollLock" type="GMutex*" />
+      <field cname="preroll_cond" access="public" writeable="false" readable="true" is_callback="false" name="PrerollCond" type="GCond">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="eos" access="public" writeable="false" readable="true" is_callback="false" name="Eos" type="gboolean" />
+      <field cname="need_preroll" access="public" writeable="false" readable="true" is_callback="false" name="NeedPreroll" type="gboolean" />
+      <field cname="have_preroll" access="public" writeable="false" readable="true" is_callback="false" name="HavePreroll" type="gboolean" />
+      <field cname="playing_async" access="public" writeable="false" readable="true" is_callback="false" name="PlayingAsync" type="gboolean" />
+      <field cname="have_newsegment" access="public" writeable="false" readable="true" is_callback="false" name="HaveNewsegment" type="gboolean" />
+      <field cname="segment" access="public" writeable="false" readable="true" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="clock_id" access="private" writeable="false" readable="false" is_callback="false" name="ClockId" type="gpointer" />
+      <field cname="sync" access="private" writeable="false" readable="false" is_callback="false" name="SyncField" type="gboolean" />
+      <field cname="flushing" access="private" writeable="false" readable="false" is_callback="false" name="Flushing" type="gboolean" />
+      <field cname="running" access="private" writeable="false" readable="false" is_callback="false" name="Running" type="gboolean" />
+      <field cname="max_lateness" access="private" writeable="false" readable="false" is_callback="false" name="MaxLatenessField" type="gint64" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstBaseSinkPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+    </object>
+    <object name="BaseSrc" cname="GstBaseSrc" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstBaseSrcClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_caps" />
+        <method vm="negotiate" />
+        <method vm="fixate" />
+        <method vm="set_caps" />
+        <method vm="decide_allocation" />
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="get_times" />
+        <method vm="get_size" />
+        <method vm="is_seekable" />
+        <method vm="prepare_seek_segment" />
+        <method vm="do_seek" />
+        <method vm="unlock" />
+        <method vm="unlock_stop" />
+        <method vm="query" />
+        <method vm="event" />
+        <method vm="create" />
+        <method vm="alloc" />
+        <method vm="fill" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_base_src_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Alloc" cname="alloc">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="offset" type="guint64" />
+          <parameter name="size" type="guint" />
+          <parameter name="buf" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Create" cname="create">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="offset" type="guint64" />
+          <parameter name="size" type="guint" />
+          <parameter name="buf" type="GstBuffer**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="DecideAllocation" cname="decide_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="DoSeek" cname="do_seek">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="segment" type="GstSegment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Event" cname="event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Fill" cname="fill">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="offset" type="guint64" />
+          <parameter name="size" type="guint" />
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Fixate" cname="fixate">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetCaps" cname="get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetSize" cname="get_size">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="size" type="guint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetTimes" cname="get_times">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start" type="guint64" owned="true" pass_as="out" />
+          <parameter name="end" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="IsSeekable" cname="is_seekable">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Negotiate" cname="negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="PrepareSeekSegment" cname="prepare_seek_segment">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="seek" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="segment" type="GstSegment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Query" cname="query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetCaps" cname="set_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Unlock" cname="unlock">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="UnlockStop" cname="unlock_stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <method name="GetAllocator" cname="gst_base_src_get_allocator">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBlocksize" cname="gst_base_src_get_blocksize">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetBufferPool" cname="gst_base_src_get_buffer_pool">
+        <return-type type="GstBufferPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDoTimestamp" cname="gst_base_src_get_do_timestamp">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsAsync" cname="gst_base_src_is_async">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsLive" cname="gst_base_src_is_live">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="NewSeamlessSegment" cname="gst_base_src_new_seamless_segment">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="start" type="gint64" />
+          <parameter name="stop" type="gint64" />
+          <parameter name="time" type="gint64" />
+        </parameters>
+      </method>
+      <method name="QueryLatency" cname="gst_base_src_query_latency">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="live" type="gboolean*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="min_latency" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max_latency" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="SetAsync" cname="gst_base_src_set_async">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="async" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetAutomaticEos" cname="gst_base_src_set_automatic_eos" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="automatic_eos" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetBlocksize" cname="gst_base_src_set_blocksize">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="blocksize" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetCaps" cname="gst_base_src_set_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetDoTimestamp" cname="gst_base_src_set_do_timestamp">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timestamp" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetDynamicSize" cname="gst_base_src_set_dynamic_size">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dynamic" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetFormat" cname="gst_base_src_set_format">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstFormat" />
+        </parameters>
+      </method>
+      <method name="SetLive" cname="gst_base_src_set_live">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="live" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="StartComplete" cname="gst_base_src_start_complete">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_ret" type="GstFlowReturn" />
+        </parameters>
+      </method>
+      <method name="StartWait" cname="gst_base_src_start_wait">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </method>
+      <method name="SubmitBufferList" cname="gst_base_src_submit_buffer_list" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="WaitPlaying" cname="gst_base_src_wait_playing">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </method>
+      <property name="Blocksize" cname="blocksize" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="DoTimestamp" cname="do-timestamp" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="NumBuffers" cname="num-buffers" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Typefind" cname="typefind" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="srcpad" access="public" writeable="false" readable="true" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="live_lock" access="public" writeable="false" readable="true" is_callback="false" name="LiveLock" type="GMutex*" />
+      <field cname="live_cond" access="public" writeable="false" readable="true" is_callback="false" name="LiveCond" type="GCond">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="is_live" access="public" writeable="false" readable="true" is_callback="false" name="IsLiveField" type="gboolean" />
+      <field cname="live_running" access="public" writeable="false" readable="true" is_callback="false" name="LiveRunning" type="gboolean" />
+      <field cname="blocksize" access="public" writeable="false" readable="true" is_callback="false" name="BlocksizeField" type="guint" />
+      <field cname="can_activate_push" access="public" writeable="false" readable="true" is_callback="false" name="CanActivatePush" type="gboolean" />
+      <field cname="random_access" access="public" writeable="false" readable="true" is_callback="false" name="RandomAccess" type="gboolean" />
+      <field cname="clock_id" access="public" writeable="false" readable="true" is_callback="false" name="ClockId" type="gpointer" />
+      <field cname="segment" access="public" writeable="false" readable="true" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="need_newsegment" access="public" writeable="false" readable="true" is_callback="false" name="NeedNewsegment" type="gboolean" />
+      <field cname="num_buffers" access="public" writeable="false" readable="true" is_callback="false" name="NumBuffersField" type="gint" />
+      <field cname="num_buffers_left" access="public" writeable="false" readable="true" is_callback="false" name="NumBuffersLeft" type="gint" />
+      <field cname="typefind" access="public" writeable="false" readable="true" is_callback="false" name="TypefindField" type="gboolean" />
+      <field cname="running" access="public" writeable="false" readable="true" is_callback="false" name="Running" type="gboolean" />
+      <field cname="pending_seek" access="public" writeable="false" readable="true" is_callback="false" name="PendingSeek" type="GstEvent*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GstBaseSrcPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+    </object>
+    <object name="BaseTransform" cname="GstBaseTransform" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstBaseTransformClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="passthrough_on_same_caps" access="public" writeable="false" readable="true" is_callback="false" name="PassthroughOnSameCaps" type="gboolean" />
+        <field cname="transform_ip_on_passthrough" access="public" writeable="false" readable="true" is_callback="false" name="TransformIpOnPassthrough" type="gboolean" />
+        <method vm="transform_caps" />
+        <method vm="fixate_caps" />
+        <method vm="accept_caps" />
+        <method vm="set_caps" />
+        <method vm="query" />
+        <method vm="decide_allocation" />
+        <method vm="filter_meta" />
+        <method vm="propose_allocation" />
+        <method vm="transform_size" />
+        <method vm="get_unit_size" />
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="sink_event" />
+        <method vm="src_event" />
+        <method vm="prepare_output_buffer" />
+        <method vm="copy_metadata" />
+        <method vm="transform_meta" />
+        <method vm="before_transform" />
+        <method vm="transform" />
+        <method vm="transform_ip" />
+        <method vm="submit_input_buffer" />
+        <method vm="generate_output" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="18" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_base_transform_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="AcceptCaps" cname="accept_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="direction" type="GstPadDirection" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="BeforeTransform" cname="before_transform">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CopyMetadata" cname="copy_metadata">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="input" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="outbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="DecideAllocation" cname="decide_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="FilterMeta" cname="filter_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="api" type="GType" />
+          <parameter name="params" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="FixateCaps" cname="fixate_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="direction" type="GstPadDirection" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="othercaps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GenerateOutput" cname="generate_output">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="outbuf" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetUnitSize" cname="get_unit_size">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="PrepareOutputBuffer" cname="prepare_output_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="input" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="outbuf" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProposeAllocation" cname="propose_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="decide_query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Query" cname="query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="direction" type="GstPadDirection" />
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetCaps" cname="set_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="incaps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="outcaps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkEvent" cname="sink_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcEvent" cname="src_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="SubmitInputBuffer" cname="submit_input_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="is_discont" type="gboolean" />
+          <parameter name="input" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Transform" cname="transform">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="inbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="outbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="TransformCaps" cname="transform_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="direction" type="GstPadDirection" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="TransformIp" cname="transform_ip">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="TransformMeta" cname="transform_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="outbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="meta" type="GstMeta*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="inbuf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="TransformSize" cname="transform_size">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="direction" type="GstPadDirection" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="gsize" />
+          <parameter name="othercaps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="othersize" type="gsize" />
+        </parameters>
+      </virtual_method>
+      <method name="GetAllocator" cname="gst_base_transform_get_allocator">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBufferPool" cname="gst_base_transform_get_buffer_pool">
+        <return-type type="GstBufferPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="IsInPlace" cname="gst_base_transform_is_in_place">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsPassthrough" cname="gst_base_transform_is_passthrough">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsQosEnabled" cname="gst_base_transform_is_qos_enabled">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="ReconfigureSink" cname="gst_base_transform_reconfigure_sink">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="ReconfigureSrc" cname="gst_base_transform_reconfigure_src">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetGapAware" cname="gst_base_transform_set_gap_aware">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="gap_aware" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetInPlace" cname="gst_base_transform_set_in_place">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="in_place" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetPassthrough" cname="gst_base_transform_set_passthrough">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="passthrough" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetPreferPassthrough" cname="gst_base_transform_set_prefer_passthrough" version="1.0.1">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="prefer_passthrough" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetQosEnabled" cname="gst_base_transform_set_qos_enabled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="UpdateQos" cname="gst_base_transform_update_qos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="proportion" type="gdouble" />
+          <parameter name="diff" type="gint64" />
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="UpdateSrcCaps" cname="gst_base_transform_update_src_caps" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="updated_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <property name="Qos" cname="qos" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="sinkpad" access="public" writeable="false" readable="true" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="srcpad" access="public" writeable="false" readable="true" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="have_segment" access="public" writeable="false" readable="true" is_callback="false" name="HaveSegment" type="gboolean" />
+      <field cname="segment" access="public" writeable="false" readable="true" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="queued_buf" access="public" writeable="false" readable="true" is_callback="false" name="QueuedBuf" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstBaseTransformPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="19" padding="true" />
+    </object>
+    <object name="CollectPads" cname="GstCollectPads" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstCollectPadsClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_collect_pads_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_collect_pads_new" disable_void_ctor="" />
+      <method name="AddPad" cname="gst_collect_pads_add_pad">
+        <return-type type="GstCollectData*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter name="size" type="guint" />
+          <parameter scope="async" name="destroy_notify" type="GstCollectDataDestroyNotify" />
+          <parameter name="lock" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Available" cname="gst_collect_pads_available">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="ClipRunningTime" cname="gst_collect_pads_clip_running_time">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="cdata" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="outbuf" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="EventDefault" cname="gst_collect_pads_event_default">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="discard" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Flush" cname="gst_collect_pads_flush">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="data" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="Peek" cname="gst_collect_pads_peek">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Pop" cname="gst_collect_pads_pop">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="QueryDefault" cname="gst_collect_pads_query_default">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="discard" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="ReadBuffer" cname="gst_collect_pads_read_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemovePad" cname="gst_collect_pads_remove_pad">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="SetBufferFunction" cname="gst_collect_pads_set_buffer_function">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCollectPadsBufferFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetClipFunction" cname="gst_collect_pads_set_clip_function">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="clipfunc" type="GstCollectPadsClipFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetCompareFunction" cname="gst_collect_pads_set_compare_function">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCollectPadsCompareFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetEventFunction" cname="gst_collect_pads_set_event_function">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCollectPadsEventFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetFlushFunction" cname="gst_collect_pads_set_flush_function" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCollectPadsFlushFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetFlushing" cname="gst_collect_pads_set_flushing">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flushing" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetFunction" cname="gst_collect_pads_set_function">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCollectPadsFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetQueryFunction" cname="gst_collect_pads_set_query_function">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" scope="call" name="func" type="GstCollectPadsQueryFunction" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetWaiting" cname="gst_collect_pads_set_waiting">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="data" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="waiting" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SrcEventDefault" cname="gst_collect_pads_src_event_default" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Start" cname="gst_collect_pads_start">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Stop" cname="gst_collect_pads_stop">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="TakeBuffer" cname="gst_collect_pads_take_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="GstCollectData*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GstObject*" hidden="true" />
+      <field cname="data" access="public" writeable="false" readable="true" is_callback="false" name="Data" type="GSList*" element_type="GSList*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="stream_lock" access="private" writeable="false" readable="false" is_callback="false" name="StreamLock" type="GRecMutex">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstCollectPadsPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="DataQueue" cname="GstDataQueue" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstDataQueueClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="empty" />
+        <method signal_vm="full" />
+        <field cname="_gst_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_data_queue_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <property name="CurrentLevelBytes" cname="current-level-bytes" type="guint" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="CurrentLevelTime" cname="current-level-time" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="CurrentLevelVisible" cname="current-level-visible" type="guint" readable="true" writeable="false" construct="false" construct-only="false" />
+      <field cname="object" access="public" writeable="false" readable="true" is_callback="false" name="Object" type="GObject*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstDataQueuePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="Empty" cname="empty" when="first" field_name="empty">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+      <signal name="Full" cname="full" when="first" field_name="full">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+    </object>
+    <object name="PushSrc" cname="GstPushSrc" opaque="false" hidden="false" parent="GstBaseSrc">
+      <class_struct cname="GstPushSrcClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBaseSrcClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create" />
+        <method vm="alloc" />
+        <method vm="fill" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_push_src_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Alloc" cname="alloc">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buf" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Create" cname="create">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buf" type="GstBuffer**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Fill" cname="fill">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstBaseSrc*" hidden="true" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <struct name="AggregatorPadPrivate" cname="GstAggregatorPadPrivate" opaque="true" hidden="true" />
+    <struct name="AggregatorPrivate" cname="GstAggregatorPrivate" opaque="true" hidden="true" />
+    <boxed name="BaseParseFrame" cname="GstBaseParseFrame" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_base_parse_frame_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="buffer" access="public" writeable="true" readable="true" is_callback="false" name="Buffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="out_buffer" access="public" writeable="true" readable="true" is_callback="false" name="OutBuffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="guint" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="guint64" />
+      <field cname="overhead" access="public" writeable="true" readable="true" is_callback="false" name="Overhead" type="gint" />
+      <field cname="size" access="private" writeable="false" readable="false" is_callback="false" name="Size" type="gint" />
+      <field cname="_gst_reserved_i" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReservedI" type="guint" array="true" array_len="2" padding="true" />
+      <field cname="_gst_reserved_p" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReservedP" type="gpointer" array="true" array_len="2" padding="true" />
+      <field cname="_private_flags" access="private" writeable="false" readable="false" is_callback="false" name="_privatePrivateFlags" type="guint" />
+      <constructor cname="gst_base_parse_frame_new">
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstBaseParseFrameFlags" />
+          <parameter name="overhead" type="gint" />
+        </parameters>
+      </constructor>
+      <method name="Copy" cname="gst_base_parse_frame_copy">
+        <return-type type="GstBaseParseFrame*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_base_parse_frame_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_base_parse_frame_init">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="BaseParsePrivate" cname="GstBaseParsePrivate" opaque="true" hidden="true" />
+    <struct name="BaseSinkPrivate" cname="GstBaseSinkPrivate" opaque="true" hidden="true" />
+    <struct name="BaseSrcPrivate" cname="GstBaseSrcPrivate" opaque="true" hidden="true" />
+    <struct name="BaseTransformPrivate" cname="GstBaseTransformPrivate" opaque="true" hidden="true" />
+    <struct name="BitReader" cname="GstBitReader" opaque="false" hidden="false">
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8*" array="true" array_length_param_index="1" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="guint" />
+      <field cname="byte" access="public" writeable="true" readable="true" is_callback="false" name="Byte" type="guint" />
+      <field cname="bit" access="public" writeable="true" readable="true" is_callback="false" name="Bit" type="guint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="Free" cname="gst_bit_reader_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetBitsUint16" cname="gst_bit_reader_get_bits_uint16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint16*" owned="true" pass_as="out" />
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetBitsUint32" cname="gst_bit_reader_get_bits_uint32">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint32*" owned="true" pass_as="out" />
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetBitsUint64" cname="gst_bit_reader_get_bits_uint64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint64*" owned="true" pass_as="out" />
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetBitsUint8" cname="gst_bit_reader_get_bits_uint8">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetPos" cname="gst_bit_reader_get_pos">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetRemaining" cname="gst_bit_reader_get_remaining">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetSize" cname="gst_bit_reader_get_size">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_bit_reader_init">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="PeekBitsUint16" cname="gst_bit_reader_peek_bits_uint16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint16*" owned="true" pass_as="out" />
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="PeekBitsUint32" cname="gst_bit_reader_peek_bits_uint32">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint32*" owned="true" pass_as="out" />
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="PeekBitsUint64" cname="gst_bit_reader_peek_bits_uint64">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint64*" owned="true" pass_as="out" />
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="PeekBitsUint8" cname="gst_bit_reader_peek_bits_uint8">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetPos" cname="gst_bit_reader_set_pos">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pos" type="guint" />
+        </parameters>
+      </method>
+      <method name="Skip" cname="gst_bit_reader_skip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="nbits" type="guint" />
+        </parameters>
+      </method>
+      <method name="SkipToByte" cname="gst_bit_reader_skip_to_byte">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+    </struct>
+    <struct name="ByteReader" cname="GstByteReader" opaque="1" hidden="false">
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8*" array="true" array_length_param_index="1" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="guint" />
+      <field cname="byte" access="public" writeable="true" readable="true" is_callback="false" name="Byte" type="guint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <struct name="ByteWriter" cname="GstByteWriter" opaque="false" hidden="false">
+      <field cname="parent" access="public" writeable="true" readable="true" is_callback="false" name="Parent" type="GstByteReader">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="alloc_size" access="public" writeable="true" readable="true" is_callback="false" name="AllocSize" type="guint" />
+      <field cname="fixed" access="public" writeable="true" readable="true" is_callback="false" name="Fixed" type="gboolean" />
+      <field cname="owned" access="public" writeable="true" readable="true" is_callback="false" name="Owned" type="gboolean" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="EnsureFreeSpace" cname="gst_byte_writer_ensure_free_space">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="Fill" cname="gst_byte_writer_fill">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="value" type="guint8" />
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_byte_writer_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="FreeAndGetBuffer" cname="gst_byte_writer_free_and_get_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="FreeAndGetData" cname="gst_byte_writer_free_and_get_data">
+        <return-type type="guint8*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetRemaining" cname="gst_byte_writer_get_remaining">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_byte_writer_init">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="InitWithData" cname="gst_byte_writer_init_with_data">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint" />
+          <parameter name="initialized" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="InitWithSize" cname="gst_byte_writer_init_with_size">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="size" type="guint" />
+          <parameter name="fixed" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="PutBuffer" cname="gst_byte_writer_put_buffer">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="offset" type="gsize" />
+          <parameter name="size" type="gssize" />
+        </parameters>
+      </method>
+      <method name="PutData" cname="gst_byte_writer_put_data">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="PutFloat32Be" cname="gst_byte_writer_put_float32_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="PutFloat32Le" cname="gst_byte_writer_put_float32_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="PutFloat64Be" cname="gst_byte_writer_put_float64_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="PutFloat64Le" cname="gst_byte_writer_put_float64_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="PutInt16Be" cname="gst_byte_writer_put_int16_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint16" />
+        </parameters>
+      </method>
+      <method name="PutInt16Le" cname="gst_byte_writer_put_int16_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint16" />
+        </parameters>
+      </method>
+      <method name="PutInt24Be" cname="gst_byte_writer_put_int24_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint32" />
+        </parameters>
+      </method>
+      <method name="PutInt24Le" cname="gst_byte_writer_put_int24_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint32" />
+        </parameters>
+      </method>
+      <method name="PutInt32Be" cname="gst_byte_writer_put_int32_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint32" />
+        </parameters>
+      </method>
+      <method name="PutInt32Le" cname="gst_byte_writer_put_int32_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint32" />
+        </parameters>
+      </method>
+      <method name="PutInt64Be" cname="gst_byte_writer_put_int64_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint64" />
+        </parameters>
+      </method>
+      <method name="PutInt64Le" cname="gst_byte_writer_put_int64_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint64" />
+        </parameters>
+      </method>
+      <method name="PutInt8" cname="gst_byte_writer_put_int8">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="gint8" />
+        </parameters>
+      </method>
+      <method name="PutStringUtf16" cname="gst_byte_writer_put_string_utf16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint16*" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="PutStringUtf32" cname="gst_byte_writer_put_string_utf32">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint32*" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="PutStringUtf8" cname="gst_byte_writer_put_string_utf8">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="const-gchar*" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="PutUint16Be" cname="gst_byte_writer_put_uint16_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint16" />
+        </parameters>
+      </method>
+      <method name="PutUint16Le" cname="gst_byte_writer_put_uint16_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint16" />
+        </parameters>
+      </method>
+      <method name="PutUint24Be" cname="gst_byte_writer_put_uint24_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint32" />
+        </parameters>
+      </method>
+      <method name="PutUint24Le" cname="gst_byte_writer_put_uint24_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint32" />
+        </parameters>
+      </method>
+      <method name="PutUint32Be" cname="gst_byte_writer_put_uint32_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint32" />
+        </parameters>
+      </method>
+      <method name="PutUint32Le" cname="gst_byte_writer_put_uint32_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint32" />
+        </parameters>
+      </method>
+      <method name="PutUint64Be" cname="gst_byte_writer_put_uint64_be">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint64" />
+        </parameters>
+      </method>
+      <method name="PutUint64Le" cname="gst_byte_writer_put_uint64_le">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint64" />
+        </parameters>
+      </method>
+      <method name="PutUint8" cname="gst_byte_writer_put_uint8">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="val" type="guint8" />
+        </parameters>
+      </method>
+      <method name="Reset" cname="gst_byte_writer_reset">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="ResetAndGetBuffer" cname="gst_byte_writer_reset_and_get_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="ResetAndGetData" cname="gst_byte_writer_reset_and_get_data">
+        <return-type type="guint8**" owned="true" array="true" />
+        <parameters />
+      </method>
+    </struct>
+    <struct name="CollectData" cname="GstCollectData" opaque="false" hidden="false">
+      <field cname="collect" access="public" writeable="true" readable="true" is_callback="false" name="Collect" type="GstCollectPads*" />
+      <field cname="pad" access="public" writeable="true" readable="true" is_callback="false" name="Pad" type="GstPad*" />
+      <field cname="buffer" access="public" writeable="true" readable="true" is_callback="false" name="Buffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="pos" access="public" writeable="true" readable="true" is_callback="false" name="Pos" type="guint" />
+      <field cname="segment" access="public" writeable="true" readable="true" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="state" access="private" writeable="false" readable="false" is_callback="false" name="State" type="GstCollectPadsStateFlags" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstCollectDataPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <union name="ABI" cname="ABI">
+        <struct name="abi" cname="abi" opaque="false" hidden="false">
+          <field cname="dts" access="public" writeable="true" readable="true" is_callback="false" name="Dts" type="gint64" />
+        </struct>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </union>
+    </struct>
+    <struct name="CollectDataPrivate" cname="GstCollectDataPrivate" opaque="true" hidden="true" />
+    <struct name="CollectPadsPrivate" cname="GstCollectPadsPrivate" opaque="true" hidden="true" />
+    <struct name="DataQueueItem" cname="GstDataQueueItem" opaque="false" hidden="false">
+      <field cname="object" access="public" writeable="true" readable="true" is_callback="false" name="Object" type="GstMiniObject*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="guint" />
+      <field cname="duration" access="public" writeable="true" readable="true" is_callback="false" name="Duration" type="guint64" />
+      <field cname="visible" access="public" writeable="true" readable="true" is_callback="false" name="Visible" type="gboolean" />
+      <field cname="destroy" access="public" writeable="true" readable="true" is_callback="false" name="Destroy" type="GDestroyNotify" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <struct name="DataQueuePrivate" cname="GstDataQueuePrivate" opaque="true" hidden="true" />
+    <struct name="DataQueueSize" cname="GstDataQueueSize" opaque="false" hidden="false">
+      <field cname="visible" access="public" writeable="true" readable="true" is_callback="false" name="Visible" type="guint" />
+      <field cname="bytes" access="public" writeable="true" readable="true" is_callback="false" name="Bytes" type="guint" />
+      <field cname="time" access="public" writeable="true" readable="true" is_callback="false" name="Time" type="guint64" />
+    </struct>
+    <boxed name="FlowCombiner" cname="GstFlowCombiner" opaque="false" hidden="false" version="1.4">
+      <method name="GetType" cname="gst_flow_combiner_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_flow_combiner_new" disable_void_ctor="" version="1.4" />
+      <method name="AddPad" cname="gst_flow_combiner_add_pad" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="Clear" cname="gst_flow_combiner_clear" version="1.6">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_flow_combiner_free" version="1.4">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Ref" cname="gst_flow_combiner_ref" version="1.12.1">
+        <return-type type="GstFlowCombiner*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="RemovePad" cname="gst_flow_combiner_remove_pad" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="Reset" cname="gst_flow_combiner_reset" version="1.6">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Unref" cname="gst_flow_combiner_unref" version="1.12.1">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="UpdateFlow" cname="gst_flow_combiner_update_flow" version="1.4">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="fret" type="GstFlowReturn" />
+        </parameters>
+      </method>
+      <method name="UpdatePadFlow" cname="gst_flow_combiner_update_pad_flow" version="1.6">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter name="fret" type="GstFlowReturn" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="QueueArray" cname="GstQueueArray" opaque="true" hidden="false">
+      <method name="PushTailStruct" cname="gst_queue_array_push_tail_struct">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="p_struct" type="gpointer" />
+        </parameters>
+      </method>
+    </struct>
+    <object name="Global" cname="GstBaseGlobal" opaque="true">
+      <method name="TypeFindHelper" cname="gst_type_find_helper" shared="true">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstPad*" />
+          <parameter name="size" type="guint64" />
+        </parameters>
+      </method>
+      <method name="TypeFindHelperForBuffer" cname="gst_type_find_helper_for_buffer" shared="true">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="obj" type="GstObject*" />
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="prob" type="GstTypeFindProbability" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="TypeFindHelperForData" cname="gst_type_find_helper_for_data" shared="true">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="obj" type="GstObject*" />
+          <parameter name="data" type="guint8" />
+          <parameter name="size" type="gsize" />
+          <parameter allow-none="1" name="prob" type="GstTypeFindProbability" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="TypeFindHelperForExtension" cname="gst_type_find_helper_for_extension" shared="true">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="obj" type="GstObject*" />
+          <parameter name="extension" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TypeFindHelperGetRange" cname="gst_type_find_helper_get_range" shared="true">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="obj" type="GstObject*" />
+          <parameter allow-none="1" name="parent" type="GstObject*" />
+          <parameter scope="call" name="func" type="GstTypeFindHelperGetRangeFunction" />
+          <parameter name="size" type="guint64" />
+          <parameter name="extension" type="const-gchar*" />
+          <parameter allow-none="1" name="prob" type="GstTypeFindProbability" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstBaseConstants" opaque="true">
+      <constant value="2" ctype="gint" gtype="gint" name="BASE_PARSE_FLAG_DRAINING" />
+      <constant value="1" ctype="gint" gtype="gint" name="BASE_PARSE_FLAG_LOST_SYNC" />
+      <constant value="sink" ctype="gchar*" gtype="gchar*" name="BASE_TRANSFORM_SINK_NAME" />
+      <constant value="src" ctype="gchar*" gtype="gchar*" name="BASE_TRANSFORM_SRC_NAME" />
+    </object>
+  </namespace>
+  <namespace name="Gst.Controller" library="libgstcontroller-1.0-0.dll">
+    <enum name="InterpolationMode" cname="GstInterpolationMode" type="enum" gtype="gst_interpolation_mode_get_type">
+      <member cname="GST_INTERPOLATION_MODE_NONE" name="None" value="0" />
+      <member cname="GST_INTERPOLATION_MODE_LINEAR" name="Linear" value="1" />
+      <member cname="GST_INTERPOLATION_MODE_CUBIC" name="Cubic" value="2" />
+      <member cname="GST_INTERPOLATION_MODE_CUBIC_MONOTONIC" name="CubicMonotonic" value="3" />
+    </enum>
+    <enum name="LFOWaveform" cname="GstLFOWaveform" type="enum" gtype="gst_lfo_waveform_get_type">
+      <member cname="GST_LFO_WAVEFORM_SINE" name="Sine" value="0" />
+      <member cname="GST_LFO_WAVEFORM_SQUARE" name="Square" value="1" />
+      <member cname="GST_LFO_WAVEFORM_SAW" name="Saw" value="2" />
+      <member cname="GST_LFO_WAVEFORM_REVERSE_SAW" name="ReverseSaw" value="3" />
+      <member cname="GST_LFO_WAVEFORM_TRIANGLE" name="Triangle" value="4" />
+    </enum>
+    <callback name="DirectControlBindingConvertGValue" cname="GstDirectControlBindingConvertGValue">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="self" type="GstDirectControlBinding*" />
+        <parameter name="src_value" type="gdouble" />
+        <parameter name="dest_value" type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="DirectControlBindingConvertValue" cname="GstDirectControlBindingConvertValue">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="self" type="GstDirectControlBinding*" />
+        <parameter name="src_value" type="gdouble" />
+        <parameter allow-none="1" name="dest_value" type="gpointer" />
+      </parameters>
+    </callback>
+    <object name="ARGBControlBinding" cname="GstARGBControlBinding" opaque="false" hidden="false" parent="GstControlBinding">
+      <class_struct cname="GstARGBControlBindingClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstControlBindingClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_argb_control_binding_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_argb_control_binding_new">
+        <parameters>
+          <parameter name="_object" type="GstObject*" />
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="cs_a" type="GstControlSource*" />
+          <parameter name="cs_r" type="GstControlSource*" />
+          <parameter name="cs_g" type="GstControlSource*" />
+          <parameter name="cs_b" type="GstControlSource*" />
+        </parameters>
+      </constructor>
+      <property name="ControlSourceA" cname="control-source-a" type="GstControlSource*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="ControlSourceB" cname="control-source-b" type="GstControlSource*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="ControlSourceG" cname="control-source-g" type="GstControlSource*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="ControlSourceR" cname="control-source-r" type="GstControlSource*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstControlBinding*" hidden="true" />
+      <field cname="cs_a" access="private" writeable="false" readable="false" is_callback="false" name="CsA" type="GstControlSource*" />
+      <field cname="cs_r" access="private" writeable="false" readable="false" is_callback="false" name="CsR" type="GstControlSource*" />
+      <field cname="cs_g" access="private" writeable="false" readable="false" is_callback="false" name="CsG" type="GstControlSource*" />
+      <field cname="cs_b" access="private" writeable="false" readable="false" is_callback="false" name="CsB" type="GstControlSource*" />
+      <field cname="cur_value" access="private" writeable="false" readable="false" is_callback="false" name="CurValue" type="GValue">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="last_value" access="private" writeable="false" readable="false" is_callback="false" name="LastValue" type="guint32" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="DirectControlBinding" cname="GstDirectControlBinding" opaque="false" hidden="false" parent="GstControlBinding">
+      <class_struct cname="GstDirectControlBindingClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstControlBindingClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_direct_control_binding_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_direct_control_binding_new">
+        <parameters>
+          <parameter name="_object" type="GstObject*" />
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="cs" type="GstControlSource*" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_direct_control_binding_new_absolute" version="1.6">
+        <parameters>
+          <parameter name="_object" type="GstObject*" />
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="cs" type="GstControlSource*" />
+        </parameters>
+      </constructor>
+      <property name="Absolute" cname="absolute" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="ControlSource" cname="control-source" type="GstControlSource*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstControlBinding*" hidden="true" />
+      <field cname="cs" access="private" writeable="false" readable="false" is_callback="false" name="Cs" type="GstControlSource*" />
+      <field cname="cur_value" access="private" writeable="false" readable="false" is_callback="false" name="CurValue" type="GValue">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="last_value" access="private" writeable="false" readable="false" is_callback="false" name="LastValue" type="gdouble" />
+      <field cname="byte_size" access="private" writeable="false" readable="false" is_callback="false" name="ByteSize" type="gint" />
+      <field cname="convert_value" access="private" writeable="false" readable="false" is_callback="false" name="ConvertValue" type="GstDirectControlBindingConvertValue" />
+      <field cname="convert_g_value" access="private" writeable="false" readable="false" is_callback="false" name="ConvertGValue" type="GstDirectControlBindingConvertGValue" />
+      <union name="ABI" cname="ABI">
+        <field cname="_gst_reserved" access="public" writeable="true" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+        <struct name="abi" cname="abi" opaque="false" hidden="false">
+          <field cname="want_absolute" access="public" writeable="true" readable="true" is_callback="false" name="WantAbsolute" type="gboolean" />
+        </struct>
+      </union>
+    </object>
+    <object name="InterpolationControlSource" cname="GstInterpolationControlSource" opaque="false" hidden="false" parent="GstTimedValueControlSource">
+      <class_struct cname="GstInterpolationControlSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstTimedValueControlSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_interpolation_control_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_interpolation_control_source_new" disable_void_ctor="" />
+      <property name="Mode" cname="mode" type="GstInterpolationMode" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstTimedValueControlSource*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstInterpolationControlSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="LFOControlSource" cname="GstLFOControlSource" opaque="false" hidden="false" parent="GstControlSource">
+      <class_struct cname="GstLFOControlSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstControlSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_lfo_control_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_lfo_control_source_new" disable_void_ctor="" />
+      <property name="Amplitude" cname="amplitude" type="gdouble" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Frequency" cname="frequency" type="gdouble" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Offset" cname="offset" type="gdouble" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Timeshift" cname="timeshift" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Waveform" cname="waveform" type="GstLFOWaveform" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstControlSource*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstLFOControlSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="lock" access="private" writeable="false" readable="false" is_callback="false" name="Lock" type="GMutex*" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="ProxyControlBinding" cname="GstProxyControlBinding" opaque="false" hidden="false" parent="GstControlBinding">
+      <class_struct cname="GstProxyControlBindingClass">
+        <field cname="parent_class" access="private" writeable="false" readable="false" is_callback="false" name="ParentClass" type="GstControlBindingClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_padding" access="private" writeable="false" readable="false" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="gst_proxy_control_binding_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_proxy_control_binding_new" version="1.12">
+        <parameters>
+          <parameter name="_object" type="GstObject*" />
+          <parameter name="property_name" type="const-gchar*" />
+          <parameter name="ref_object" type="GstObject*" />
+          <parameter name="ref_property_name" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GstControlBinding*" hidden="true" />
+      <field cname="ref_object" access="private" writeable="false" readable="false" is_callback="false" name="RefObject" type="GWeakRef">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="property_name" access="private" writeable="false" readable="false" is_callback="false" name="PropertyName" type="gchar*" />
+      <field cname="_padding" access="private" writeable="false" readable="false" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="TimedValueControlSource" cname="GstTimedValueControlSource" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstControlSource">
+      <class_struct cname="GstTimedValueControlSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstControlSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_timed_value_control_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="FindControlPointIter" cname="gst_timed_value_control_source_find_control_point_iter">
+        <return-type type="GSequenceIter*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetAll" cname="gst_timed_value_control_source_get_all">
+        <return-type type="GList*" element_type="GList*" elements_owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetCount" cname="gst_timed_value_control_source_get_count">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="Set" cname="gst_timed_value_control_source_set">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="value" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="SetFromList" cname="gst_timed_value_control_source_set_from_list">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timedvalues" type="GSList*" element_type="GSList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Unset" cname="gst_timed_value_control_source_unset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="UnsetAll" cname="gst_timed_value_control_source_unset_all">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstControlSource*" hidden="true" />
+      <field cname="lock" access="public" writeable="false" readable="true" is_callback="false" name="Lock" type="GMutex*" />
+      <field cname="values" access="public" writeable="false" readable="true" is_callback="false" name="Values" type="GSequence*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="nvalues" access="public" writeable="false" readable="true" is_callback="false" name="Nvalues" type="gint" />
+      <field cname="valid_cache" access="public" writeable="false" readable="true" is_callback="false" name="ValidCache" type="gboolean" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstTimedValueControlSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="ValueAdded" cname="value-added" when="first" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timed_value" type="GstControlPoint*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="ValueChanged" cname="value-changed" when="first" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timed_value" type="GstControlPoint*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="ValueRemoved" cname="value-removed" when="first" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timed_value" type="GstControlPoint*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+    </object>
+    <object name="TriggerControlSource" cname="GstTriggerControlSource" opaque="false" hidden="false" parent="GstTimedValueControlSource">
+      <class_struct cname="GstTriggerControlSourceClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstTimedValueControlSourceClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_trigger_control_source_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_trigger_control_source_new" disable_void_ctor="" />
+      <property name="Tolerance" cname="tolerance" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstTimedValueControlSource*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstTriggerControlSourcePrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <boxed name="ControlPoint" cname="GstControlPoint" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_control_point_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="timestamp" access="public" writeable="true" readable="true" is_callback="false" name="Timestamp" type="guint64" />
+      <field cname="value" access="public" writeable="true" readable="true" is_callback="false" name="Value" type="gdouble" />
+      <union name="cache" cname="cache">
+        <struct name="cubic" cname="cubic" opaque="false" hidden="false">
+          <field cname="h" access="public" writeable="true" readable="true" is_callback="false" name="H" type="gdouble" />
+          <field cname="z" access="public" writeable="true" readable="true" is_callback="false" name="Z" type="gdouble" />
+        </struct>
+        <struct name="cubic_monotonic" cname="cubic_monotonic" opaque="false" hidden="false">
+          <field cname="c1s" access="public" writeable="true" readable="true" is_callback="false" name="C1s" type="gdouble" />
+          <field cname="c2s" access="public" writeable="true" readable="true" is_callback="false" name="C2s" type="gdouble" />
+          <field cname="c3s" access="public" writeable="true" readable="true" is_callback="false" name="C3s" type="gdouble" />
+        </struct>
+        <field cname="_gst_reserved" access="public" writeable="true" readable="true" is_callback="false" name="_gstGstReserved" type="guint8" array="true" array_len="64" padding="true" />
+      </union>
+      <method name="Copy" cname="gst_control_point_copy">
+        <return-type type="GstControlPoint*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_control_point_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="InterpolationControlSourcePrivate" cname="GstInterpolationControlSourcePrivate" opaque="true" hidden="true" />
+    <struct name="LFOControlSourcePrivate" cname="GstLFOControlSourcePrivate" opaque="true" hidden="true" />
+    <struct name="TimedValueControlSourcePrivate" cname="GstTimedValueControlSourcePrivate" opaque="true" hidden="true" />
+    <struct name="TriggerControlSourcePrivate" cname="GstTriggerControlSourcePrivate" opaque="true" hidden="true" />
+    <object name="Global" cname="GstControllerGlobal" opaque="true">
+      <method name="TimedValueControlInvalidateCache" cname="gst_timed_value_control_invalidate_cache" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="self" type="GstTimedValueControlSource*" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstControllerConstants" opaque="true" />
+  </namespace>
+  <namespace name="Gst.FFT" library="libgstfft-1.0-0.dll">
+    <enum name="FFTWindow" cname="GstFFTWindow" type="enum">
+      <member cname="GST_FFT_WINDOW_RECTANGULAR" name="Rectangular" value="0" />
+      <member cname="GST_FFT_WINDOW_HAMMING" name="Hamming" value="1" />
+      <member cname="GST_FFT_WINDOW_HANN" name="Hann" value="2" />
+      <member cname="GST_FFT_WINDOW_BARTLETT" name="Bartlett" value="3" />
+      <member cname="GST_FFT_WINDOW_BLACKMAN" name="Blackman" value="4" />
+    </enum>
+    <struct name="FFTF32" cname="GstFFTF32" opaque="true" hidden="false">
+      <method name="Fft" cname="gst_fft_f32_fft" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedata" type="gfloat" />
+          <parameter name="freqdata" type="GstFFTF32Complex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_fft_f32_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="InverseFft" cname="gst_fft_f32_inverse_fft">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="freqdata" type="GstFFTF32Complex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timedata" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="Window" cname="gst_fft_f32_window" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedata" type="gfloat" />
+          <parameter name="window" type="GstFFTWindow" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="FFTF32Complex" cname="GstFFTF32Complex" opaque="false" hidden="false">
+      <field cname="r" access="public" writeable="true" readable="true" is_callback="false" name="R" type="gfloat" />
+      <field cname="i" access="public" writeable="true" readable="true" is_callback="false" name="I" type="gfloat" />
+    </struct>
+    <struct name="FFTF64" cname="GstFFTF64" opaque="true" hidden="false">
+      <method name="Fft" cname="gst_fft_f64_fft">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedata" type="gdouble" />
+          <parameter name="freqdata" type="GstFFTF64Complex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_fft_f64_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="InverseFft" cname="gst_fft_f64_inverse_fft">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="freqdata" type="GstFFTF64Complex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timedata" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="Window" cname="gst_fft_f64_window">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedata" type="gdouble" />
+          <parameter name="window" type="GstFFTWindow" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="FFTF64Complex" cname="GstFFTF64Complex" opaque="false" hidden="false">
+      <field cname="r" access="public" writeable="true" readable="true" is_callback="false" name="R" type="gdouble" />
+      <field cname="i" access="public" writeable="true" readable="true" is_callback="false" name="I" type="gdouble" />
+    </struct>
+    <struct name="FFTS16" cname="GstFFTS16" opaque="true" hidden="false">
+      <method name="Fft" cname="gst_fft_s16_fft">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedata" type="gint16" />
+          <parameter name="freqdata" type="GstFFTS16Complex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_fft_s16_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="InverseFft" cname="gst_fft_s16_inverse_fft">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="freqdata" type="GstFFTS16Complex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timedata" type="gint16" />
+        </parameters>
+      </method>
+      <method name="Window" cname="gst_fft_s16_window">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedata" type="gint16" />
+          <parameter name="window" type="GstFFTWindow" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="FFTS16Complex" cname="GstFFTS16Complex" opaque="false" hidden="false">
+      <field cname="r" access="public" writeable="true" readable="true" is_callback="false" name="R" type="gint16" />
+      <field cname="i" access="public" writeable="true" readable="true" is_callback="false" name="I" type="gint16" />
+    </struct>
+    <struct name="FFTS32" cname="GstFFTS32" opaque="true" hidden="false">
+      <method name="Fft" cname="gst_fft_s32_fft">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedata" type="gint32" />
+          <parameter name="freqdata" type="GstFFTS32Complex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_fft_s32_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="InverseFft" cname="gst_fft_s32_inverse_fft">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="freqdata" type="GstFFTS32Complex*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timedata" type="gint32" />
+        </parameters>
+      </method>
+      <method name="Window" cname="gst_fft_s32_window">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedata" type="gint32" />
+          <parameter name="window" type="GstFFTWindow" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="FFTS32Complex" cname="GstFFTS32Complex" opaque="false" hidden="false">
+      <field cname="r" access="public" writeable="true" readable="true" is_callback="false" name="R" type="gint32" />
+      <field cname="i" access="public" writeable="true" readable="true" is_callback="false" name="I" type="gint32" />
+    </struct>
+    <object name="Global" cname="GstFftGlobal" opaque="true">
+      <method name="FftNextFastLength" cname="gst_fft_next_fast_length" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="n" type="gint" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstFftConstants" opaque="true" />
+  </namespace>
+  <namespace name="Gst.Net" library="libgstnet-1.0-0.dll">
+    <callback name="PtpStatisticsCallback" cname="GstPtpStatisticsCallback">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="domain" type="guint8" />
+        <parameter name="stats" type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <object name="NetClientClock" cname="GstNetClientClock" opaque="false" hidden="false" parent="GstSystemClock">
+      <class_struct cname="GstNetClientClockClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstSystemClockClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_net_client_clock_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_net_client_clock_new">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="remote_address" type="const-gchar*" />
+          <parameter name="remote_port" type="gint" />
+          <parameter name="base_time" type="guint64" />
+        </parameters>
+      </constructor>
+      <property name="Address" cname="address" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="BaseTime" cname="base-time" type="guint64" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Bus" cname="bus" type="GstBus*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="InternalClock" cname="internal-clock" type="GstClock*" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="MinimumUpdateInterval" cname="minimum-update-interval" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Port" cname="port" type="gint" readable="true" writeable="true" construct="true" construct-only="false" />
+      <property name="QosDscp" cname="qos-dscp" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="RoundTripLimit" cname="round-trip-limit" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="clock" access="public" writeable="false" readable="true" is_callback="false" name="Clock" type="GstSystemClock*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstNetClientClockPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="NetTimeProvider" cname="GstNetTimeProvider" opaque="false" hidden="false" parent="GstObject">
+      <implements>
+        <interface cname="GInitable" />
+      </implements>
+      <class_struct cname="GstNetTimeProviderClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_net_time_provider_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_net_time_provider_new">
+        <parameters>
+          <parameter name="clock" type="GstClock*" />
+          <parameter name="address" type="const-gchar*" />
+          <parameter name="port" type="gint" />
+        </parameters>
+      </constructor>
+      <property name="Active" cname="active" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Address" cname="address" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Clock" cname="clock" type="GstClock*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Port" cname="port" type="gint" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="QosDscp" cname="qos-dscp" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstNetTimeProviderPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="NtpClock" cname="GstNtpClock" opaque="false" hidden="true" parent="GstNetClientClock">
+      <class_struct cname="GstNtpClockClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstSystemClockClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_ntp_clock_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_ntp_clock_new" version="1.6">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="remote_address" type="const-gchar*" />
+          <parameter name="remote_port" type="gint" />
+          <parameter name="base_time" type="guint64" />
+        </parameters>
+      </constructor>
+      <field cname="clock" access="public" writeable="false" readable="true" is_callback="false" name="Clock" type="GstSystemClock*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstNetClientClockPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="PtpClock" cname="GstPtpClock" opaque="false" hidden="false" parent="GstSystemClock">
+      <class_struct cname="GstPtpClockClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstSystemClockClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_ptp_clock_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_ptp_clock_new" version="1.6">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="domain" type="guint" />
+        </parameters>
+      </constructor>
+      <property name="Domain" cname="domain" type="guint" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="GrandmasterClockId" cname="grandmaster-clock-id" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="InternalClock" cname="internal-clock" type="GstClock*" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="MasterClockId" cname="master-clock-id" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" />
+      <field cname="clock" access="public" writeable="false" readable="true" is_callback="false" name="Clock" type="GstSystemClock*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstPtpClockPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <struct name="NetAddressMeta" cname="GstNetAddressMeta" opaque="false" hidden="false">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="addr" access="public" writeable="true" readable="true" is_callback="false" name="Addr" type="GSocketAddress*" />
+      <method name="GetInfo" cname="gst_net_address_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="NetClientClockPrivate" cname="GstNetClientClockPrivate" opaque="true" hidden="true" />
+    <struct name="NetControlMessageMeta" cname="GstNetControlMessageMeta" opaque="false" hidden="false">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="message" access="public" writeable="true" readable="true" is_callback="false" name="Message" type="GSocketControlMessage*" />
+      <method name="GetInfo" cname="gst_net_control_message_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <boxed name="NetTimePacket" cname="GstNetTimePacket" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_net_time_packet_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="local_time" access="public" writeable="true" readable="true" is_callback="false" name="LocalTime" type="guint64" />
+      <field cname="remote_time" access="public" writeable="true" readable="true" is_callback="false" name="RemoteTime" type="guint64" />
+      <constructor cname="gst_net_time_packet_new">
+        <parameters>
+          <parameter name="buffer" type="guint8*" array="true" />
+        </parameters>
+      </constructor>
+      <method name="Copy" cname="gst_net_time_packet_copy">
+        <return-type type="GstNetTimePacket*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_net_time_packet_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Send" cname="gst_net_time_packet_send">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="socket" type="GSocket*" />
+          <parameter name="dest_address" type="GSocketAddress*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="Serialize" cname="gst_net_time_packet_serialize">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="Receive" cname="gst_net_time_packet_receive" shared="true">
+        <return-type type="GstNetTimePacket*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters throws="1">
+          <parameter name="socket" type="GSocket*" />
+          <parameter name="src_address" type="GSocketAddress*" owned="true" pass_as="out" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="NetTimeProviderPrivate" cname="GstNetTimeProviderPrivate" opaque="true" hidden="true" />
+    <struct name="PtpClockPrivate" cname="GstPtpClockPrivate" opaque="true" hidden="true" />
+    <object name="Global" cname="GstNetGlobal" opaque="true">
+      <method name="BufferAddNetAddressMeta" cname="gst_buffer_add_net_address_meta" shared="true">
+        <return-type type="GstNetAddressMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="addr" type="GSocketAddress*" />
+        </parameters>
+      </method>
+      <method name="BufferAddNetControlMessageMeta" cname="gst_buffer_add_net_control_message_meta" shared="true">
+        <return-type type="GstNetControlMessageMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="message" type="GSocketControlMessage*" />
+        </parameters>
+      </method>
+      <method name="BufferGetNetAddressMeta" cname="gst_buffer_get_net_address_meta" shared="true">
+        <return-type type="GstNetAddressMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NetAddressMetaApiGetType" cname="gst_net_address_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="NetAddressMetaGetInfo" cname="gst_net_address_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="NetControlMessageMetaApiGetType" cname="gst_net_control_message_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="NetControlMessageMetaGetInfo" cname="gst_net_control_message_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="NetTimePacketReceive" cname="gst_net_time_packet_receive" shared="true">
+        <return-type type="GstNetTimePacket*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters throws="1">
+          <parameter name="socket" type="GSocket*" />
+          <parameter name="src_address" type="GSocketAddress*" owned="true" pass_as="out" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="PtpDeinit" cname="gst_ptp_deinit" shared="true" version="1.6">
+        <return-type type="void" />
+      </method>
+      <method name="PtpInit" cname="gst_ptp_init" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="clock_id" type="guint64" />
+          <parameter allow-none="1" name="interfaces" type="const-gchar**" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="PtpIsInitialized" cname="gst_ptp_is_initialized" shared="true" version="1.6">
+        <return-type type="gboolean" />
+      </method>
+      <method name="PtpIsSupported" cname="gst_ptp_is_supported" shared="true" version="1.6">
+        <return-type type="gboolean" />
+      </method>
+      <method name="PtpStatisticsCallbackAdd" cname="gst_ptp_statistics_callback_add" shared="true" version="1.6">
+        <return-type type="gulong" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="callback" type="GstPtpStatisticsCallback" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="destroy_data" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="PtpStatisticsCallbackRemove" cname="gst_ptp_statistics_callback_remove" shared="true" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="id" type="gulong" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstNetConstants" opaque="true">
+      <constant value="16" ctype="gint" gtype="gint" name="NET_TIME_PACKET_SIZE" />
+      <constant value="18446744073709551615" ctype="guint64" gtype="guint64" name="PTP_CLOCK_ID_NONE" />
+      <constant value="GstPtpStatisticsBestMasterClockSelected" ctype="gchar*" gtype="gchar*" name="PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED" />
+      <constant value="GstPtpStatisticsNewDomainFound" ctype="gchar*" gtype="gchar*" name="PTP_STATISTICS_NEW_DOMAIN_FOUND" />
+      <constant value="GstPtpStatisticsPathDelayMeasured" ctype="gchar*" gtype="gchar*" name="PTP_STATISTICS_PATH_DELAY_MEASURED" />
+      <constant value="GstPtpStatisticsTimeUpdated" ctype="gchar*" gtype="gchar*" name="PTP_STATISTICS_TIME_UPDATED" />
+    </object>
+  </namespace>
+  <namespace name="Gst.PbUtils" library="libgstpbutils-1.0-0.dll">
+    <enum name="AudioVisualizerShader" cname="GstAudioVisualizerShader" type="enum" gtype="gst_audio_visualizer_shader_get_type">
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_NONE" name="None" value="0" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE" name="Fade" value="1" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP" name="FadeAndMoveUp" value="2" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN" name="FadeAndMoveDown" value="3" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT" name="FadeAndMoveLeft" value="4" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT" name="FadeAndMoveRight" value="5" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT" name="FadeAndMoveHorizOut" value="6" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN" name="FadeAndMoveHorizIn" value="7" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT" name="FadeAndMoveVertOut" value="8" />
+      <member cname="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN" name="FadeAndMoveVertIn" value="9" />
+    </enum>
+    <enum name="DiscovererResult" cname="GstDiscovererResult" type="enum" gtype="gst_discoverer_result_get_type">
+      <member cname="GST_DISCOVERER_OK" name="Ok" value="0" />
+      <member cname="GST_DISCOVERER_URI_INVALID" name="UriInvalid" value="1" />
+      <member cname="GST_DISCOVERER_ERROR" name="Error" value="2" />
+      <member cname="GST_DISCOVERER_TIMEOUT" name="Timeout" value="3" />
+      <member cname="GST_DISCOVERER_BUSY" name="Busy" value="4" />
+      <member cname="GST_DISCOVERER_MISSING_PLUGINS" name="MissingPlugins" value="5" />
+    </enum>
+    <enum name="InstallPluginsReturn" cname="GstInstallPluginsReturn" type="enum" gtype="gst_install_plugins_return_get_type">
+      <member cname="GST_INSTALL_PLUGINS_SUCCESS" name="Success" value="0" />
+      <member cname="GST_INSTALL_PLUGINS_NOT_FOUND" name="NotFound" value="1" />
+      <member cname="GST_INSTALL_PLUGINS_ERROR" name="Error" value="2" />
+      <member cname="GST_INSTALL_PLUGINS_PARTIAL_SUCCESS" name="PartialSuccess" value="3" />
+      <member cname="GST_INSTALL_PLUGINS_USER_ABORT" name="UserAbort" value="4" />
+      <member cname="GST_INSTALL_PLUGINS_CRASHED" name="Crashed" value="100" />
+      <member cname="GST_INSTALL_PLUGINS_INVALID" name="Invalid" value="101" />
+      <member cname="GST_INSTALL_PLUGINS_STARTED_OK" name="StartedOk" value="200" />
+      <member cname="GST_INSTALL_PLUGINS_INTERNAL_FAILURE" name="InternalFailure" value="201" />
+      <member cname="GST_INSTALL_PLUGINS_HELPER_MISSING" name="HelperMissing" value="202" />
+      <member cname="GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS" name="InstallInProgress" value="203" />
+    </enum>
+    <enum name="DiscovererSerializeFlags" cname="GstDiscovererSerializeFlags" type="flags" gtype="gst_discoverer_serialize_flags_get_type" version="1.6">
+      <member cname="GST_DISCOVERER_SERIALIZE_BASIC" name="Basic" value="0" />
+      <member cname="GST_DISCOVERER_SERIALIZE_CAPS" name="Caps" value="1" />
+      <member cname="GST_DISCOVERER_SERIALIZE_TAGS" name="Tags" value="2" />
+      <member cname="GST_DISCOVERER_SERIALIZE_MISC" name="Misc" value="4" />
+      <member cname="GST_DISCOVERER_SERIALIZE_ALL" name="All" value="7" />
+    </enum>
+    <callback name="AudioVisualizerShaderFunc" cname="GstAudioVisualizerShaderFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="scope" type="GstAudioVisualizer*" />
+        <parameter name="s" type="GstVideoFrame*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="d" type="GstVideoFrame*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="InstallPluginsResultFunc" cname="GstInstallPluginsResultFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="_result" type="GstInstallPluginsReturn" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <object name="AudioVisualizer" cname="GstAudioVisualizer" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstAudioVisualizerClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="setup" />
+        <method vm="render" />
+        <method vm="decide_allocation" />
+      </class_struct>
+      <method name="GetType" cname="gst_audio_visualizer_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="DecideAllocation" cname="decide_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Render" cname="render">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="audio" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="video" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Setup" cname="setup">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <property name="ShadeAmount" cname="shade-amount" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Shader" cname="shader" type="GstAudioVisualizerShader" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstElement*" hidden="true" />
+      <field cname="req_spf" access="public" writeable="false" readable="true" is_callback="false" name="ReqSpf" type="guint" />
+      <field cname="vinfo" access="public" writeable="false" readable="true" is_callback="false" name="Vinfo" type="GstVideoInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="ainfo" access="public" writeable="false" readable="true" is_callback="false" name="Ainfo" type="GstAudioInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioVisualizerPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </object>
+    <object name="Discoverer" cname="GstDiscoverer" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstDiscovererClass">
+        <field cname="parentclass" access="public" writeable="false" readable="true" is_callback="false" name="Parentclass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="finished" />
+        <method signal_vm="starting" />
+        <method signal_vm="discovered" />
+        <method signal_vm="source_setup" />
+        <field cname="_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_Reserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="gst_discoverer_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_discoverer_new">
+        <parameters>
+          <parameter name="timeout" type="guint64" />
+        </parameters>
+      </constructor>
+      <method name="DiscoverUri" cname="gst_discoverer_discover_uri">
+        <return-type type="GstDiscovererInfo*" owned="true" />
+        <parameters throws="1">
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="DiscoverUriAsync" cname="gst_discoverer_discover_uri_async">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Start" cname="gst_discoverer_start">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Stop" cname="gst_discoverer_stop">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <property name="Timeout" cname="timeout" type="guint64" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstDiscovererPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_Reserved" type="gpointer" array="true" array_len="4" />
+      <signal name="Discovered" cname="discovered" when="last" field_name="discovered">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="info" type="GstDiscovererInfo*" />
+          <parameter name="error" type="GError*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="Finished" cname="finished" when="last" field_name="finished">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+      <signal name="SourceSetup" cname="source-setup" when="last" field_name="source_setup">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="source" type="GstElement*" />
+        </parameters>
+      </signal>
+      <signal name="Starting" cname="starting" when="last" field_name="starting">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+    </object>
+    <object name="DiscovererAudioInfo" cname="GstDiscovererAudioInfo" opaque="false" hidden="false" parent="GstDiscovererStreamInfo">
+      <method name="GetType" cname="gst_discoverer_audio_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetBitrate" cname="gst_discoverer_audio_info_get_bitrate">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetChannelMask" cname="gst_discoverer_audio_info_get_channel_mask" version="1.14">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetChannels" cname="gst_discoverer_audio_info_get_channels">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetDepth" cname="gst_discoverer_audio_info_get_depth">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetLanguage" cname="gst_discoverer_audio_info_get_language">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetMaxBitrate" cname="gst_discoverer_audio_info_get_max_bitrate">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetSampleRate" cname="gst_discoverer_audio_info_get_sample_rate">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+    </object>
+    <object name="DiscovererContainerInfo" cname="GstDiscovererContainerInfo" opaque="false" hidden="false" parent="GstDiscovererStreamInfo">
+      <method name="GetType" cname="gst_discoverer_container_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetStreams" cname="gst_discoverer_container_info_get_streams">
+        <return-type type="GList*" element_type="GstDiscovererStreamInfo*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+    </object>
+    <object name="DiscovererInfo" cname="GstDiscovererInfo" opaque="false" hidden="false" parent="GObject">
+      <method name="GetType" cname="gst_discoverer_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="FromVariant" cname="gst_discoverer_info_from_variant" shared="true" version="1.6">
+        <return-type type="GstDiscovererInfo*" owned="true" />
+        <parameters>
+          <parameter name="variant" type="GVariant*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_discoverer_info_copy">
+        <return-type type="GstDiscovererInfo*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetAudioStreams" cname="gst_discoverer_info_get_audio_streams">
+        <return-type type="GList*" element_type="GstDiscovererStreamInfo*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetContainerStreams" cname="gst_discoverer_info_get_container_streams">
+        <return-type type="GList*" element_type="GstDiscovererStreamInfo*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDuration" cname="gst_discoverer_info_get_duration">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetLive" cname="gst_discoverer_info_get_live" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetMisc" cname="gst_discoverer_info_get_misc" deprecated="true">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetMissingElementsInstallerDetails" cname="gst_discoverer_info_get_missing_elements_installer_details" version="1.4">
+        <return-type type="const-gchar**" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="GetResult" cname="gst_discoverer_info_get_result">
+        <return-type type="GstDiscovererResult" />
+        <parameters />
+      </method>
+      <method name="GetSeekable" cname="gst_discoverer_info_get_seekable">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetStreamInfo" cname="gst_discoverer_info_get_stream_info">
+        <return-type type="GstDiscovererStreamInfo*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetStreamList" cname="gst_discoverer_info_get_stream_list">
+        <return-type type="GList*" element_type="GstDiscovererStreamInfo*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetStreams" cname="gst_discoverer_info_get_streams">
+        <return-type type="GList*" element_type="GstDiscovererStreamInfo*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter name="streamtype" type="GType" />
+        </parameters>
+      </method>
+      <method name="GetSubtitleStreams" cname="gst_discoverer_info_get_subtitle_streams">
+        <return-type type="GList*" element_type="GstDiscovererStreamInfo*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetTags" cname="gst_discoverer_info_get_tags">
+        <return-type type="GstTagList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetToc" cname="gst_discoverer_info_get_toc">
+        <return-type type="GstToc*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetUri" cname="gst_discoverer_info_get_uri">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetVideoStreams" cname="gst_discoverer_info_get_video_streams">
+        <return-type type="GList*" element_type="GstDiscovererStreamInfo*" elements_owned="true" owned="true" />
+        <parameters />
+      </method>
+      <method name="ToVariant" cname="gst_discoverer_info_to_variant" version="1.6">
+        <return-type type="GVariant*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstDiscovererSerializeFlags" />
+        </parameters>
+      </method>
+    </object>
+    <object name="DiscovererStreamInfo" cname="GstDiscovererStreamInfo" opaque="false" hidden="false" parent="GObject">
+      <method name="GetType" cname="gst_discoverer_stream_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="ListFree" cname="gst_discoverer_stream_info_list_free" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="infos" type="GList*" element_type="GstDiscovererStreamInfo*" />
+        </parameters>
+      </method>
+      <method name="GetCaps" cname="gst_discoverer_stream_info_get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetMisc" cname="gst_discoverer_stream_info_get_misc" deprecated="true">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetNext" cname="gst_discoverer_stream_info_get_next">
+        <return-type type="GstDiscovererStreamInfo*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPrevious" cname="gst_discoverer_stream_info_get_previous">
+        <return-type type="GstDiscovererStreamInfo*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetStreamId" cname="gst_discoverer_stream_info_get_stream_id">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetStreamTypeNick" cname="gst_discoverer_stream_info_get_stream_type_nick">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetTags" cname="gst_discoverer_stream_info_get_tags">
+        <return-type type="GstTagList*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetToc" cname="gst_discoverer_stream_info_get_toc">
+        <return-type type="GstToc*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </object>
+    <object name="DiscovererSubtitleInfo" cname="GstDiscovererSubtitleInfo" opaque="false" hidden="false" parent="GstDiscovererStreamInfo">
+      <method name="GetType" cname="gst_discoverer_subtitle_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetLanguage" cname="gst_discoverer_subtitle_info_get_language">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+    </object>
+    <object name="DiscovererVideoInfo" cname="GstDiscovererVideoInfo" opaque="false" hidden="false" parent="GstDiscovererStreamInfo">
+      <method name="GetType" cname="gst_discoverer_video_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="GetBitrate" cname="gst_discoverer_video_info_get_bitrate">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetDepth" cname="gst_discoverer_video_info_get_depth">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetFramerateDenom" cname="gst_discoverer_video_info_get_framerate_denom">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetFramerateNum" cname="gst_discoverer_video_info_get_framerate_num">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetHeight" cname="gst_discoverer_video_info_get_height">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMaxBitrate" cname="gst_discoverer_video_info_get_max_bitrate">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetParDenom" cname="gst_discoverer_video_info_get_par_denom">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetParNum" cname="gst_discoverer_video_info_get_par_num">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetWidth" cname="gst_discoverer_video_info_get_width">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="IsImage" cname="gst_discoverer_video_info_is_image">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsInterlaced" cname="gst_discoverer_video_info_is_interlaced">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+    </object>
+    <object name="EncodingAudioProfile" cname="GstEncodingAudioProfile" opaque="false" hidden="false" parent="GstEncodingProfile">
+      <class_struct cname="GstEncodingAudioProfileClass" />
+      <method name="GetType" cname="gst_encoding_audio_profile_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_encoding_audio_profile_new">
+        <parameters>
+          <parameter name="format" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="preset" type="const-gchar*" />
+          <parameter name="restriction" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="presence" type="guint" />
+        </parameters>
+      </constructor>
+    </object>
+    <object name="EncodingContainerProfile" cname="GstEncodingContainerProfile" opaque="false" hidden="false" parent="GstEncodingProfile">
+      <class_struct cname="GstEncodingContainerProfileClass" />
+      <method name="GetType" cname="gst_encoding_container_profile_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_encoding_container_profile_new">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+          <parameter name="format" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="preset" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AddProfile" cname="gst_encoding_container_profile_add_profile">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="profile" type="GstEncodingProfile*" owned="true" />
+        </parameters>
+      </method>
+      <method name="ContainsProfile" cname="gst_encoding_container_profile_contains_profile">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="profile" type="GstEncodingProfile*" />
+        </parameters>
+      </method>
+      <method name="GetProfiles" cname="gst_encoding_container_profile_get_profiles">
+        <return-type type="GList*" element_type="GstEncodingProfile*" />
+        <parameters />
+      </method>
+    </object>
+    <object name="EncodingProfile" cname="GstEncodingProfile" opaque="true" hidden="false" parent="GObject">
+      <class_struct cname="GstEncodingProfileClass" />
+      <method name="GetType" cname="gst_encoding_profile_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Find" cname="gst_encoding_profile_find" shared="true">
+        <return-type type="GstEncodingProfile*" owned="true" />
+        <parameters>
+          <parameter name="targetname" type="const-gchar*" />
+          <parameter name="profilename" type="const-gchar*" />
+          <parameter allow-none="1" name="category" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="FromDiscoverer" cname="gst_encoding_profile_from_discoverer" shared="true">
+        <return-type type="GstEncodingProfile*" owned="true" />
+        <parameters>
+          <parameter name="info" type="GstDiscovererInfo*" />
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_encoding_profile_copy">
+        <return-type type="GstEncodingProfile*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetAllowDynamicOutput" cname="gst_encoding_profile_get_allow_dynamic_output">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetDescription" cname="gst_encoding_profile_get_description">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetFileExtension" cname="gst_encoding_profile_get_file_extension">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetFormat" cname="gst_encoding_profile_get_format">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetInputCaps" cname="gst_encoding_profile_get_input_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetName" cname="gst_encoding_profile_get_name">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetPresence" cname="gst_encoding_profile_get_presence">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetPreset" cname="gst_encoding_profile_get_preset">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetPresetName" cname="gst_encoding_profile_get_preset_name">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetRestriction" cname="gst_encoding_profile_get_restriction">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetTypeNick" cname="gst_encoding_profile_get_type_nick">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="IsEnabled" cname="gst_encoding_profile_is_enabled">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEqual" cname="gst_encoding_profile_is_equal">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="b" type="GstEncodingProfile*" />
+        </parameters>
+      </method>
+      <method name="SetAllowDynamicOutput" cname="gst_encoding_profile_set_allow_dynamic_output">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="allow_dynamic_output" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetDescription" cname="gst_encoding_profile_set_description">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="description" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetEnabled" cname="gst_encoding_profile_set_enabled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetFormat" cname="gst_encoding_profile_set_format">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetName" cname="gst_encoding_profile_set_name">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetPresence" cname="gst_encoding_profile_set_presence">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="presence" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetPreset" cname="gst_encoding_profile_set_preset">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="preset" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetPresetName" cname="gst_encoding_profile_set_preset_name">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="preset_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetRestriction" cname="gst_encoding_profile_set_restriction">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="restriction" type="GstCaps*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <property name="RestrictionCaps" cname="restriction-caps" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" />
+    </object>
+    <object name="EncodingTarget" cname="GstEncodingTarget" opaque="false" hidden="false" parent="GObject">
+      <method name="GetType" cname="gst_encoding_target_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_encoding_target_new">
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+          <parameter name="category" type="const-gchar*" />
+          <parameter name="description" type="const-gchar*" />
+          <parameter name="profiles" type="GList*" element_type="GstEncodingProfile*" />
+        </parameters>
+      </constructor>
+      <method name="Load" cname="gst_encoding_target_load" shared="true">
+        <return-type type="GstEncodingTarget*" owned="true" />
+        <parameters throws="1">
+          <parameter name="name" type="const-gchar*" />
+          <parameter allow-none="1" name="category" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="LoadFromFile" cname="gst_encoding_target_load_from_file" shared="true">
+        <return-type type="GstEncodingTarget*" owned="true" />
+        <parameters throws="1">
+          <parameter name="filepath" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="AddProfile" cname="gst_encoding_target_add_profile">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="profile" type="GstEncodingProfile*" owned="true" />
+        </parameters>
+      </method>
+      <method name="GetCategory" cname="gst_encoding_target_get_category">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetDescription" cname="gst_encoding_target_get_description">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetName" cname="gst_encoding_target_get_name">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetProfile" cname="gst_encoding_target_get_profile">
+        <return-type type="GstEncodingProfile*" owned="true" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetProfiles" cname="gst_encoding_target_get_profiles">
+        <return-type type="GList*" element_type="GstEncodingProfile*" />
+        <parameters />
+      </method>
+      <method name="Save" cname="gst_encoding_target_save">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="SaveToFile" cname="gst_encoding_target_save_to_file">
+        <return-type type="gboolean" />
+        <parameters throws="1">
+          <parameter name="filepath" type="const-gchar*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+    </object>
+    <object name="EncodingVideoProfile" cname="GstEncodingVideoProfile" opaque="false" hidden="false" parent="GstEncodingProfile">
+      <class_struct cname="GstEncodingVideoProfileClass" />
+      <method name="GetType" cname="gst_encoding_video_profile_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_encoding_video_profile_new">
+        <parameters>
+          <parameter name="format" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="preset" type="const-gchar*" />
+          <parameter name="restriction" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="presence" type="guint" />
+        </parameters>
+      </constructor>
+      <method name="GetPass" cname="gst_encoding_video_profile_get_pass">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetVariableframerate" cname="gst_encoding_video_profile_get_variableframerate">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetPass" cname="gst_encoding_video_profile_set_pass">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pass" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetVariableframerate" cname="gst_encoding_video_profile_set_variableframerate">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="variableframerate" type="gboolean" />
+        </parameters>
+      </method>
+    </object>
+    <struct name="AudioVisualizerPrivate" cname="GstAudioVisualizerPrivate" opaque="true" hidden="true" />
+    <struct name="DiscovererPrivate" cname="GstDiscovererPrivate" opaque="true" hidden="true" />
+    <boxed name="InstallPluginsContext" cname="GstInstallPluginsContext" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_install_plugins_context_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_install_plugins_context_new" disable_void_ctor="" />
+      <method name="Copy" cname="gst_install_plugins_context_copy">
+        <return-type type="GstInstallPluginsContext*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_install_plugins_context_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetConfirmSearch" cname="gst_install_plugins_context_set_confirm_search" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="confirm_search" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetDesktopId" cname="gst_install_plugins_context_set_desktop_id" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="desktop_id" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetStartupNotificationId" cname="gst_install_plugins_context_set_startup_notification_id" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="startup_id" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetXid" cname="gst_install_plugins_context_set_xid">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="xid" type="guint" />
+        </parameters>
+      </method>
+    </boxed>
+    <object name="Global" cname="GstPbutilsGlobal" opaque="true">
+      <method name="CodecUtilsAacCapsSetLevelAndProfile" cname="gst_codec_utils_aac_caps_set_level_and_profile" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="audio_config" type="guint8*" array="true" array_length_param_index="2" />
+          <parameter name="len" type="guint" array_index="1" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsAacGetChannels" cname="gst_codec_utils_aac_get_channels" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="audio_config" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsAacGetIndexFromSampleRate" cname="gst_codec_utils_aac_get_index_from_sample_rate" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="rate" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsAacGetLevel" cname="gst_codec_utils_aac_get_level" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="audio_config" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsAacGetProfile" cname="gst_codec_utils_aac_get_profile" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="audio_config" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsAacGetSampleRate" cname="gst_codec_utils_aac_get_sample_rate" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="audio_config" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsAacGetSampleRateFromIndex" cname="gst_codec_utils_aac_get_sample_rate_from_index" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="sr_idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH264CapsSetLevelAndProfile" cname="gst_codec_utils_h264_caps_set_level_and_profile" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="sps" type="guint8*" array="true" array_length_param_index="2" />
+          <parameter name="len" type="guint" array_index="1" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH264GetLevel" cname="gst_codec_utils_h264_get_level" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="sps" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH264GetLevelIdc" cname="gst_codec_utils_h264_get_level_idc" shared="true">
+        <return-type type="guint8" />
+        <parameters>
+          <parameter name="level" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH264GetProfile" cname="gst_codec_utils_h264_get_profile" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="sps" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH265CapsSetLevelTierAndProfile" cname="gst_codec_utils_h265_caps_set_level_tier_and_profile" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="profile_tier_level" type="guint8*" array="true" array_length_param_index="2" />
+          <parameter name="len" type="guint" array_index="1" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH265GetLevel" cname="gst_codec_utils_h265_get_level" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="profile_tier_level" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH265GetLevelIdc" cname="gst_codec_utils_h265_get_level_idc" shared="true">
+        <return-type type="guint8" />
+        <parameters>
+          <parameter name="level" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH265GetProfile" cname="gst_codec_utils_h265_get_profile" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="profile_tier_level" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsH265GetTier" cname="gst_codec_utils_h265_get_tier" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="profile_tier_level" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsMpeg4videoCapsSetLevelAndProfile" cname="gst_codec_utils_mpeg4video_caps_set_level_and_profile" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="vis_obj_seq" type="guint8*" array="true" array_length_param_index="2" />
+          <parameter name="len" type="guint" array_index="1" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsMpeg4videoGetLevel" cname="gst_codec_utils_mpeg4video_get_level" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="vis_obj_seq" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsMpeg4videoGetProfile" cname="gst_codec_utils_mpeg4video_get_profile" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="vis_obj_seq" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsOpusCreateCaps" cname="gst_codec_utils_opus_create_caps" shared="true" version="1.8">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="rate" type="guint32" />
+          <parameter name="channels" type="guint8" />
+          <parameter name="channel_mapping_family" type="guint8" />
+          <parameter name="stream_count" type="guint8" />
+          <parameter name="coupled_count" type="guint8" />
+          <parameter allow-none="1" name="channel_mapping" type="guint8*" array="true" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsOpusCreateCapsFromHeader" cname="gst_codec_utils_opus_create_caps_from_header" shared="true" version="1.8">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="header" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="comments" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CodecUtilsOpusCreateHeader" cname="gst_codec_utils_opus_create_header" shared="true" version="1.8">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="rate" type="guint32" />
+          <parameter name="channels" type="guint8" />
+          <parameter name="channel_mapping_family" type="guint8" />
+          <parameter name="stream_count" type="guint8" />
+          <parameter name="coupled_count" type="guint8" />
+          <parameter allow-none="1" name="channel_mapping" type="guint8*" array="true" />
+          <parameter name="pre_skip" type="guint16" />
+          <parameter name="output_gain" type="gint16" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsOpusParseCaps" cname="gst_codec_utils_opus_parse_caps" shared="true" version="1.8" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="rate" type="guint32*" owned="true" pass_as="out" />
+          <parameter name="channels" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="channel_mapping_family" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="stream_count" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="coupled_count" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="channel_mapping" type="guint8*" owned="true" pass_as="out" array="true" />
+        </parameters>
+      </method>
+      <method name="CodecUtilsOpusParseHeader" cname="gst_codec_utils_opus_parse_header" shared="true" version="1.8" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="header" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="rate" type="guint32*" owned="true" pass_as="out" />
+          <parameter name="channels" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="channel_mapping_family" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="stream_count" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="coupled_count" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="channel_mapping" type="guint8*" owned="true" pass_as="out" array="true" />
+          <parameter name="pre_skip" type="guint16*" owned="true" pass_as="out" />
+          <parameter name="output_gain" type="gint16*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="EncodingListAllTargets" cname="gst_encoding_list_all_targets" shared="true">
+        <return-type type="GList*" element_type="GstEncodingTarget*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter allow-none="1" name="categoryname" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="EncodingListAvailableCategories" cname="gst_encoding_list_available_categories" shared="true">
+        <return-type type="GList*" element_type="gchar*" elements_owned="true" owned="true" />
+      </method>
+      <method name="InstallPluginsAsync" cname="gst_install_plugins_async" shared="true">
+        <return-type type="GstInstallPluginsReturn" />
+        <parameters>
+          <parameter name="details" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter allow-none="1" name="ctx" type="GstInstallPluginsContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter closure="3" scope="async" name="func" type="GstInstallPluginsResultFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="InstallPluginsInstallationInProgress" cname="gst_install_plugins_installation_in_progress" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="InstallPluginsReturnGetName" cname="gst_install_plugins_return_get_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="_ret" type="GstInstallPluginsReturn" />
+        </parameters>
+      </method>
+      <method name="InstallPluginsSupported" cname="gst_install_plugins_supported" shared="true">
+        <return-type type="gboolean" />
+      </method>
+      <method name="InstallPluginsSync" cname="gst_install_plugins_sync" shared="true">
+        <return-type type="GstInstallPluginsReturn" />
+        <parameters>
+          <parameter name="details" type="const-gchar**" array="true" null_term_array="true" />
+          <parameter allow-none="1" name="ctx" type="GstInstallPluginsContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsMissingPluginMessage" cname="gst_is_missing_plugin_message" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="msg" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MissingDecoderInstallerDetailNew" cname="gst_missing_decoder_installer_detail_new" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="decode_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MissingDecoderMessageNew" cname="gst_missing_decoder_message_new" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+          <parameter name="decode_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MissingElementInstallerDetailNew" cname="gst_missing_element_installer_detail_new" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="factory_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MissingElementMessageNew" cname="gst_missing_element_message_new" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+          <parameter name="factory_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MissingEncoderInstallerDetailNew" cname="gst_missing_encoder_installer_detail_new" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="encode_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MissingEncoderMessageNew" cname="gst_missing_encoder_message_new" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+          <parameter name="encode_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MissingPluginMessageGetDescription" cname="gst_missing_plugin_message_get_description" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="msg" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MissingPluginMessageGetInstallerDetail" cname="gst_missing_plugin_message_get_installer_detail" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="msg" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MissingUriSinkInstallerDetailNew" cname="gst_missing_uri_sink_installer_detail_new" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MissingUriSinkMessageNew" cname="gst_missing_uri_sink_message_new" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MissingUriSourceInstallerDetailNew" cname="gst_missing_uri_source_installer_detail_new" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MissingUriSourceMessageNew" cname="gst_missing_uri_source_message_new" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="element" type="GstElement*" />
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="PbUtilsAddCodecDescriptionToTagList" cname="gst_pb_utils_add_codec_description_to_tag_list" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="taglist" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="codec_tag" type="const-gchar*" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PbUtilsGetCodecDescription" cname="gst_pb_utils_get_codec_description" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PbUtilsGetDecoderDescription" cname="gst_pb_utils_get_decoder_description" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PbUtilsGetElementDescription" cname="gst_pb_utils_get_element_description" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="factory_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="PbUtilsGetEncoderDescription" cname="gst_pb_utils_get_encoder_description" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PbUtilsGetSinkDescription" cname="gst_pb_utils_get_sink_description" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="PbUtilsGetSourceDescription" cname="gst_pb_utils_get_source_description" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="protocol" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="PbUtilsInit" cname="gst_pb_utils_init" shared="true">
+        <return-type type="void" />
+      </method>
+      <method name="PluginsBaseVersion" cname="gst_plugins_base_version" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="major" type="guint*" owned="true" pass_as="out" />
+          <parameter name="minor" type="guint*" owned="true" pass_as="out" />
+          <parameter name="micro" type="guint*" owned="true" pass_as="out" />
+          <parameter name="nano" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="PluginsBaseVersionString" cname="gst_plugins_base_version_string" shared="true">
+        <return-type type="gchar*" owned="true" />
+      </method>
+    </object>
+    <object name="Constants" cname="GstPbutilsConstants" opaque="true">
+      <constant value="capture" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_CAPTURE" />
+      <constant value="device" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_DEVICE" />
+      <constant value="file-extension" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_FILE_EXTENSION" />
+      <constant value="online-service" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_ONLINE_SERVICE" />
+      <constant value="storage-editing" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_STORAGE_EDITING" />
+      <constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MAJOR" />
+      <constant value="0" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MICRO" />
+      <constant value="13" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MINOR" />
+      <constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_NANO" />
+    </object>
+  </namespace>
+  <namespace name="Gst.Rtp" library="libgstrtp-1.0-0.dll">
+    <enum name="RTCPFBType" cname="GstRTCPFBType" type="enum" gtype="gst_rtcpfb_type_get_type">
+      <member cname="GST_RTCP_FB_TYPE_INVALID" name="FbTypeInvalid" value="0" />
+      <member cname="GST_RTCP_RTPFB_TYPE_NACK" name="RtpfbTypeNack" value="1" />
+      <member cname="GST_RTCP_PSFB_TYPE_PLI" name="PsfbTypePli" value="1" />
+      <member cname="GST_RTCP_PSFB_TYPE_SLI" name="PsfbTypeSli" value="2" />
+      <member cname="GST_RTCP_RTPFB_TYPE_TMMBR" name="RtpfbTypeTmmbr" value="3" />
+      <member cname="GST_RTCP_PSFB_TYPE_RPSI" name="PsfbTypeRpsi" value="3" />
+      <member cname="GST_RTCP_RTPFB_TYPE_TMMBN" name="RtpfbTypeTmmbn" value="4" />
+      <member cname="GST_RTCP_PSFB_TYPE_FIR" name="PsfbTypeFir" value="4" />
+      <member cname="GST_RTCP_RTPFB_TYPE_RTCP_SR_REQ" name="RtpfbTypeRtcpSrReq" value="5" />
+      <member cname="GST_RTCP_PSFB_TYPE_TSTR" name="PsfbTypeTstr" value="5" />
+      <member cname="GST_RTCP_PSFB_TYPE_TSTN" name="PsfbTypeTstn" value="6" />
+      <member cname="GST_RTCP_PSFB_TYPE_VBCN" name="PsfbTypeVbcn" value="7" />
+      <member cname="GST_RTCP_PSFB_TYPE_AFB" name="PsfbTypeAfb" value="15" />
+    </enum>
+    <enum name="RTCPSDESType" cname="GstRTCPSDESType" type="enum" gtype="gst_rtcpsdes_type_get_type">
+      <member cname="GST_RTCP_SDES_INVALID" name="Invalid" value="-1" />
+      <member cname="GST_RTCP_SDES_END" name="End" value="0" />
+      <member cname="GST_RTCP_SDES_CNAME" name="Cname" value="1" />
+      <member cname="GST_RTCP_SDES_NAME" name="Name" value="2" />
+      <member cname="GST_RTCP_SDES_EMAIL" name="Email" value="3" />
+      <member cname="GST_RTCP_SDES_PHONE" name="Phone" value="4" />
+      <member cname="GST_RTCP_SDES_LOC" name="Loc" value="5" />
+      <member cname="GST_RTCP_SDES_TOOL" name="Tool" value="6" />
+      <member cname="GST_RTCP_SDES_NOTE" name="Note" value="7" />
+      <member cname="GST_RTCP_SDES_PRIV" name="Priv" value="8" />
+    </enum>
+    <enum name="RTCPType" cname="GstRTCPType" type="enum" gtype="gst_rtcp_type_get_type">
+      <member cname="GST_RTCP_TYPE_INVALID" name="Invalid" value="0" />
+      <member cname="GST_RTCP_TYPE_SR" name="Sr" value="200" />
+      <member cname="GST_RTCP_TYPE_RR" name="Rr" value="201" />
+      <member cname="GST_RTCP_TYPE_SDES" name="Sdes" value="202" />
+      <member cname="GST_RTCP_TYPE_BYE" name="Bye" value="203" />
+      <member cname="GST_RTCP_TYPE_APP" name="App" value="204" />
+      <member cname="GST_RTCP_TYPE_RTPFB" name="Rtpfb" value="205" />
+      <member cname="GST_RTCP_TYPE_PSFB" name="Psfb" value="206" />
+      <member cname="GST_RTCP_TYPE_XR" name="Xr" value="207" />
+    </enum>
+    <enum name="RTPPayload" cname="GstRTPPayload" type="enum" gtype="gst_rtp_payload_get_type">
+      <member cname="GST_RTP_PAYLOAD_PCMU" name="Pcmu" value="0" />
+      <member cname="GST_RTP_PAYLOAD_1016" name="_1016" value="1" />
+      <member cname="GST_RTP_PAYLOAD_G721" name="G721" value="2" />
+      <member cname="GST_RTP_PAYLOAD_GSM" name="Gsm" value="3" />
+      <member cname="GST_RTP_PAYLOAD_G723" name="G723" value="4" />
+      <member cname="GST_RTP_PAYLOAD_DVI4_8000" name="Dvi48000" value="5" />
+      <member cname="GST_RTP_PAYLOAD_DVI4_16000" name="Dvi416000" value="6" />
+      <member cname="GST_RTP_PAYLOAD_LPC" name="Lpc" value="7" />
+      <member cname="GST_RTP_PAYLOAD_PCMA" name="Pcma" value="8" />
+      <member cname="GST_RTP_PAYLOAD_G722" name="G722" value="9" />
+      <member cname="GST_RTP_PAYLOAD_L16_STEREO" name="L16Stereo" value="10" />
+      <member cname="GST_RTP_PAYLOAD_L16_MONO" name="L16Mono" value="11" />
+      <member cname="GST_RTP_PAYLOAD_QCELP" name="Qcelp" value="12" />
+      <member cname="GST_RTP_PAYLOAD_CN" name="Cn" value="13" />
+      <member cname="GST_RTP_PAYLOAD_MPA" name="Mpa" value="14" />
+      <member cname="GST_RTP_PAYLOAD_G728" name="G728" value="15" />
+      <member cname="GST_RTP_PAYLOAD_DVI4_11025" name="Dvi411025" value="16" />
+      <member cname="GST_RTP_PAYLOAD_DVI4_22050" name="Dvi422050" value="17" />
+      <member cname="GST_RTP_PAYLOAD_G729" name="G729" value="18" />
+      <member cname="GST_RTP_PAYLOAD_CELLB" name="Cellb" value="25" />
+      <member cname="GST_RTP_PAYLOAD_JPEG" name="Jpeg" value="26" />
+      <member cname="GST_RTP_PAYLOAD_NV" name="Nv" value="28" />
+      <member cname="GST_RTP_PAYLOAD_H261" name="H261" value="31" />
+      <member cname="GST_RTP_PAYLOAD_MPV" name="Mpv" value="32" />
+      <member cname="GST_RTP_PAYLOAD_MP2T" name="Mp2t" value="33" />
+      <member cname="GST_RTP_PAYLOAD_H263" name="H263" value="34" />
+    </enum>
+    <enum name="RTPProfile" cname="GstRTPProfile" type="enum" gtype="gst_rtp_profile_get_type" version="1.6">
+      <member cname="GST_RTP_PROFILE_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_RTP_PROFILE_AVP" name="Avp" value="1" />
+      <member cname="GST_RTP_PROFILE_SAVP" name="Savp" value="2" />
+      <member cname="GST_RTP_PROFILE_AVPF" name="Avpf" value="3" />
+      <member cname="GST_RTP_PROFILE_SAVPF" name="Savpf" value="4" />
+    </enum>
+    <enum name="RTPBufferFlags" cname="GstRTPBufferFlags" type="flags" gtype="gst_rtp_buffer_flags_get_type" version="1.10">
+      <member cname="GST_RTP_BUFFER_FLAG_RETRANSMISSION" name="Retransmission" value="1048576" />
+      <member cname="GST_RTP_BUFFER_FLAG_LAST" name="Last" value="268435456" />
+    </enum>
+    <enum name="RTPBufferMapFlags" cname="GstRTPBufferMapFlags" type="flags" gtype="gst_rtp_buffer_map_flags_get_type" version="1.6.1">
+      <member cname="GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING" name="SkipPadding" value="65536" />
+      <member cname="GST_RTP_BUFFER_MAP_FLAG_LAST" name="Last" value="16777216" />
+    </enum>
+    <object name="RTPBaseAudioPayload" cname="GstRTPBaseAudioPayload" opaque="false" hidden="false" parent="GstRTPBasePayload">
+      <class_struct cname="GstRTPBaseAudioPayloadClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstRTPBasePayloadClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtp_base_audio_payload_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="Flush" cname="gst_rtp_base_audio_payload_flush">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="payload_len" type="guint" />
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetAdapter" cname="gst_rtp_base_audio_payload_get_adapter">
+        <return-type type="GstAdapter*" owned="true" />
+        <parameters />
+      </method>
+      <method name="Push" cname="gst_rtp_base_audio_payload_push">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="data" type="guint8" />
+          <parameter name="payload_len" type="guint" />
+          <parameter name="timestamp" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetFrameBased" cname="gst_rtp_base_audio_payload_set_frame_based">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetFrameOptions" cname="gst_rtp_base_audio_payload_set_frame_options">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="frame_duration" type="gint" />
+          <parameter name="frame_size" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetSampleBased" cname="gst_rtp_base_audio_payload_set_sample_based">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetSampleOptions" cname="gst_rtp_base_audio_payload_set_sample_options">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sample_size" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetSamplebitsOptions" cname="gst_rtp_base_audio_payload_set_samplebits_options">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sample_size" type="gint" />
+        </parameters>
+      </method>
+      <property name="BufferList" cname="buffer-list" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="payload" access="public" writeable="false" readable="true" is_callback="false" name="Payload" type="GstRTPBasePayload*" />
+      <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GstRTPBaseAudioPayloadPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="base_ts" access="public" writeable="false" readable="true" is_callback="false" name="BaseTs" type="guint64" />
+      <field cname="frame_size" access="public" writeable="false" readable="true" is_callback="false" name="FrameSize" type="gint" />
+      <field cname="frame_duration" access="public" writeable="false" readable="true" is_callback="false" name="FrameDuration" type="gint" />
+      <field cname="sample_size" access="public" writeable="false" readable="true" is_callback="false" name="SampleSize" type="gint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="RTPBaseDepayload" cname="GstRTPBaseDepayload" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstRTPBaseDepayloadClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="set_caps" />
+        <method vm="process" />
+        <method vm="packet_lost" />
+        <method vm="handle_event" />
+        <method vm="process_rtp_packet" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtp_base_depayload_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="HandleEvent" cname="handle_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="PacketLost" cname="packet_lost">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Process" cname="process">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="in" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProcessRtpPacket" cname="process_rtp_packet">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="rtp_buffer" type="GstRTPBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetCaps" cname="set_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="Push" cname="gst_rtp_base_depayload_push">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="out_buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PushList" cname="gst_rtp_base_depayload_push_list">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="out_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <property name="Stats" cname="stats" type="GstStructure*" readable="true" writeable="false" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstElement*" hidden="true" />
+      <field cname="sinkpad" access="public" writeable="false" readable="true" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="srcpad" access="public" writeable="false" readable="true" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="clock_rate" access="public" writeable="false" readable="true" is_callback="false" name="ClockRate" type="guint" />
+      <field cname="segment" access="public" writeable="false" readable="true" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="need_newsegment" access="public" writeable="false" readable="true" is_callback="false" name="NeedNewsegment" type="gboolean" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTPBaseDepayloadPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <object name="RTPBasePayload" cname="GstRTPBasePayload" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstRTPBasePayloadClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_caps" />
+        <method vm="set_caps" />
+        <method vm="handle_buffer" />
+        <method vm="sink_event" />
+        <method vm="src_event" />
+        <method vm="query" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtp_base_payload_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="GetCaps" cname="get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleBuffer" cname="handle_buffer">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Query" cname="query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="pad" type="GstPad*" />
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetCaps" cname="set_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkEvent" cname="sink_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcEvent" cname="src_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="IsFilled" cname="gst_rtp_base_payload_is_filled">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="size" type="guint" />
+          <parameter name="duration" type="guint64" />
+        </parameters>
+      </method>
+      <method name="Push" cname="gst_rtp_base_payload_push">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PushList" cname="gst_rtp_base_payload_push_list">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetOptions" cname="gst_rtp_base_payload_set_options">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="media" type="const-gchar*" />
+          <parameter name="dynamic" type="gboolean" />
+          <parameter name="encoding_name" type="const-gchar*" />
+          <parameter name="clock_rate" type="guint32" />
+        </parameters>
+      </method>
+      <property name="MaxPtime" cname="max-ptime" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MinPtime" cname="min-ptime" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Mtu" cname="mtu" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="PerfectRtptime" cname="perfect-rtptime" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Pt" cname="pt" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="PtimeMultiple" cname="ptime-multiple" type="gint64" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Seqnum" cname="seqnum" type="guint" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="SeqnumOffset" cname="seqnum-offset" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Ssrc" cname="ssrc" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Stats" cname="stats" type="GstStructure*" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="Timestamp" cname="timestamp" type="guint" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="TimestampOffset" cname="timestamp-offset" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="sinkpad" access="private" writeable="false" readable="false" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="srcpad" access="private" writeable="false" readable="false" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="ts_base" access="private" writeable="false" readable="false" is_callback="false" name="TsBase" type="guint32" />
+      <field cname="seqnum_base" access="private" writeable="false" readable="false" is_callback="false" name="SeqnumBase" type="guint16" />
+      <field cname="media" access="private" writeable="false" readable="false" is_callback="false" name="Media" type="gchar*" />
+      <field cname="encoding_name" access="private" writeable="false" readable="false" is_callback="false" name="EncodingName" type="gchar*" />
+      <field cname="dynamic" access="private" writeable="false" readable="false" is_callback="false" name="Dynamic" type="gboolean" />
+      <field cname="clock_rate" access="private" writeable="false" readable="false" is_callback="false" name="ClockRate" type="guint32" />
+      <field cname="ts_offset" access="private" writeable="false" readable="false" is_callback="false" name="TsOffset" type="gint32" />
+      <field cname="timestamp" access="private" writeable="false" readable="false" is_callback="false" name="TimestampField" type="guint32" />
+      <field cname="seqnum_offset" access="private" writeable="false" readable="false" is_callback="false" name="SeqnumOffsetField" type="gint16" />
+      <field cname="seqnum" access="private" writeable="false" readable="false" is_callback="false" name="SeqnumField" type="guint16" />
+      <field cname="max_ptime" access="private" writeable="false" readable="false" is_callback="false" name="MaxPtimeField" type="gint64" />
+      <field cname="pt" access="private" writeable="false" readable="false" is_callback="false" name="PtField" type="guint" />
+      <field cname="ssrc" access="private" writeable="false" readable="false" is_callback="false" name="SsrcField" type="guint" />
+      <field cname="current_ssrc" access="private" writeable="false" readable="false" is_callback="false" name="CurrentSsrc" type="guint" />
+      <field cname="mtu" access="private" writeable="false" readable="false" is_callback="false" name="MtuField" type="guint" />
+      <field cname="segment" access="private" writeable="false" readable="false" is_callback="false" name="Segment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="min_ptime" access="private" writeable="false" readable="false" is_callback="false" name="MinPtimeField" type="guint64" />
+      <field cname="ptime" access="private" writeable="false" readable="false" is_callback="false" name="Ptime" type="guint64" />
+      <field cname="ptime_multiple" access="private" writeable="false" readable="false" is_callback="false" name="PtimeMultipleField" type="guint64" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTPBasePayloadPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <struct name="RTCPBuffer" cname="GstRTCPBuffer" opaque="false" hidden="false">
+      <field cname="buffer" access="public" writeable="true" readable="true" is_callback="false" name="Buffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="map" access="public" writeable="true" readable="true" is_callback="false" name="MapInfo" type="GstMapInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <method name="AddPacket" cname="gst_rtcp_buffer_add_packet">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GstRTCPType" />
+          <parameter name="packet" type="GstRTCPPacket*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetFirstPacket" cname="gst_rtcp_buffer_get_first_packet">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="packet" type="GstRTCPPacket*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetPacketCount" cname="gst_rtcp_buffer_get_packet_count">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Unmap" cname="gst_rtcp_buffer_unmap">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Map" cname="gst_rtcp_buffer_map" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+          <parameter name="rtcp" type="GstRTCPBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="New" cname="gst_rtcp_buffer_new" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="mtu" type="guint" />
+        </parameters>
+      </method>
+      <method name="NewCopyData" cname="gst_rtcp_buffer_new_copy_data" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="guint" />
+        </parameters>
+      </method>
+      <method name="NewTakeData" cname="gst_rtcp_buffer_new_take_data" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="guint" />
+        </parameters>
+      </method>
+      <method name="Validate" cname="gst_rtcp_buffer_validate" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ValidateData" cname="gst_rtcp_buffer_validate_data" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="ValidateDataReduced" cname="gst_rtcp_buffer_validate_data_reduced" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="ValidateReduced" cname="gst_rtcp_buffer_validate_reduced" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="RTCPPacket" cname="GstRTCPPacket" opaque="false" hidden="false">
+      <field cname="rtcp" access="public" writeable="true" readable="true" is_callback="false" name="Rtcp" type="GstRTCPBuffer*" array_index="6">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="guint" />
+      <field cname="padding" access="private" writeable="false" readable="false" is_callback="false" name="Padding" type="gboolean" />
+      <field cname="count" access="private" writeable="false" readable="false" is_callback="false" name="Count" type="guint8" />
+      <field cname="type" access="private" writeable="false" readable="false" is_callback="false" name="Type" type="GstRTCPType" />
+      <field cname="length" access="private" writeable="false" readable="false" is_callback="false" name="Length" type="guint16" />
+      <field cname="item_offset" access="private" writeable="false" readable="false" is_callback="false" name="ItemOffset" type="guint" />
+      <field cname="item_count" access="private" writeable="false" readable="false" is_callback="false" name="ItemCount" type="guint" />
+      <field cname="entry_offset" access="private" writeable="false" readable="false" is_callback="false" name="EntryOffset" type="guint" />
+      <method name="AddProfileSpecificExt" cname="gst_rtcp_packet_add_profile_specific_ext">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="AddRb" cname="gst_rtcp_packet_add_rb">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+          <parameter name="fractionlost" type="guint8" />
+          <parameter name="packetslost" type="gint32" />
+          <parameter name="exthighestseq" type="guint32" />
+          <parameter name="jitter" type="guint32" />
+          <parameter name="lsr" type="guint32" />
+          <parameter name="dlsr" type="guint32" />
+        </parameters>
+      </method>
+      <method name="AppGetData" cname="gst_rtcp_packet_app_get_data" version="1.10">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="AppGetDataLength" cname="gst_rtcp_packet_app_get_data_length" version="1.10">
+        <return-type type="guint16" />
+        <parameters />
+      </method>
+      <method name="AppGetName" cname="gst_rtcp_packet_app_get_name" version="1.10">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="AppGetSsrc" cname="gst_rtcp_packet_app_get_ssrc" version="1.10">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="AppGetSubtype" cname="gst_rtcp_packet_app_get_subtype" version="1.10">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="AppSetDataLength" cname="gst_rtcp_packet_app_set_data_length" version="1.10">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="wordlen" type="guint16" />
+        </parameters>
+      </method>
+      <method name="AppSetName" cname="gst_rtcp_packet_app_set_name" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AppSetSsrc" cname="gst_rtcp_packet_app_set_ssrc" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="AppSetSubtype" cname="gst_rtcp_packet_app_set_subtype" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="subtype" type="guint8" />
+        </parameters>
+      </method>
+      <method name="ByeAddSsrc" cname="gst_rtcp_packet_bye_add_ssrc">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="ByeAddSsrcs" cname="gst_rtcp_packet_bye_add_ssrcs">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="ByeGetNthSsrc" cname="gst_rtcp_packet_bye_get_nth_ssrc">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="nth" type="guint" />
+        </parameters>
+      </method>
+      <method name="ByeGetReason" cname="gst_rtcp_packet_bye_get_reason">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="ByeGetReasonLen" cname="gst_rtcp_packet_bye_get_reason_len">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="ByeGetSsrcCount" cname="gst_rtcp_packet_bye_get_ssrc_count">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="ByeSetReason" cname="gst_rtcp_packet_bye_set_reason">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="reason" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="CopyProfileSpecificExt" cname="gst_rtcp_packet_copy_profile_specific_ext">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8**" owned="true" pass_as="out" array="false" array_length_param_index="1" />
+          <parameter name="len" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="FbGetFci" cname="gst_rtcp_packet_fb_get_fci">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="FbGetFciLength" cname="gst_rtcp_packet_fb_get_fci_length">
+        <return-type type="guint16" />
+        <parameters />
+      </method>
+      <method name="FbGetMediaSsrc" cname="gst_rtcp_packet_fb_get_media_ssrc">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="FbGetSenderSsrc" cname="gst_rtcp_packet_fb_get_sender_ssrc">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="FbGetType" cname="gst_rtcp_packet_fb_get_type">
+        <return-type type="GstRTCPFBType" />
+        <parameters />
+      </method>
+      <method name="FbSetFciLength" cname="gst_rtcp_packet_fb_set_fci_length">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="wordlen" type="guint16" />
+        </parameters>
+      </method>
+      <method name="FbSetMediaSsrc" cname="gst_rtcp_packet_fb_set_media_ssrc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="FbSetSenderSsrc" cname="gst_rtcp_packet_fb_set_sender_ssrc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="FbSetType" cname="gst_rtcp_packet_fb_set_type">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="type" type="GstRTCPFBType" />
+        </parameters>
+      </method>
+      <method name="GetCount" cname="gst_rtcp_packet_get_count">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="GetLength" cname="gst_rtcp_packet_get_length">
+        <return-type type="guint16" />
+        <parameters />
+      </method>
+      <method name="GetPadding" cname="gst_rtcp_packet_get_padding">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetProfileSpecificExt" cname="gst_rtcp_packet_get_profile_specific_ext">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8**" pass_as="out" array="false" array_length_param_index="1" />
+          <parameter name="len" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetProfileSpecificExtLength" cname="gst_rtcp_packet_get_profile_specific_ext_length">
+        <return-type type="guint16" />
+        <parameters />
+      </method>
+      <method name="GetRb" cname="gst_rtcp_packet_get_rb">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="nth" type="guint" />
+          <parameter name="ssrc" type="guint32" />
+          <parameter name="fractionlost" type="guint8" />
+          <parameter name="packetslost" type="gint32" />
+          <parameter name="exthighestseq" type="guint32" />
+          <parameter name="jitter" type="guint32" />
+          <parameter name="lsr" type="guint32" />
+          <parameter name="dlsr" type="guint32" />
+        </parameters>
+      </method>
+      <method name="GetRbCount" cname="gst_rtcp_packet_get_rb_count">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetType" cname="gst_rtcp_packet_get_type">
+        <return-type type="GstRTCPType" />
+        <parameters />
+      </method>
+      <method name="MoveToNext" cname="gst_rtcp_packet_move_to_next">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Remove" cname="gst_rtcp_packet_remove">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="RrGetSsrc" cname="gst_rtcp_packet_rr_get_ssrc">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="RrSetSsrc" cname="gst_rtcp_packet_rr_set_ssrc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SdesAddEntry" cname="gst_rtcp_packet_sdes_add_entry">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GstRTCPSDESType" />
+          <parameter name="len" type="guint8" array_index="2" />
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <method name="SdesAddItem" cname="gst_rtcp_packet_sdes_add_item">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SdesCopyEntry" cname="gst_rtcp_packet_sdes_copy_entry" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GstRTCPSDESType" />
+          <parameter name="len" type="guint8*" owned="true" pass_as="out" array_index="2" />
+          <parameter name="data" type="guint8***" owned="true" pass_as="out" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <method name="SdesFirstEntry" cname="gst_rtcp_packet_sdes_first_entry">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SdesFirstItem" cname="gst_rtcp_packet_sdes_first_item">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SdesGetEntry" cname="gst_rtcp_packet_sdes_get_entry" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GstRTCPSDESType" />
+          <parameter name="len" type="guint8*" owned="true" pass_as="out" array_index="2" />
+          <parameter name="data" type="guint8**" pass_as="out" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <method name="SdesGetItemCount" cname="gst_rtcp_packet_sdes_get_item_count">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="SdesGetSsrc" cname="gst_rtcp_packet_sdes_get_ssrc">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="SdesNextEntry" cname="gst_rtcp_packet_sdes_next_entry">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SdesNextItem" cname="gst_rtcp_packet_sdes_next_item">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetRb" cname="gst_rtcp_packet_set_rb">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="nth" type="guint" />
+          <parameter name="ssrc" type="guint32" />
+          <parameter name="fractionlost" type="guint8" />
+          <parameter name="packetslost" type="gint32" />
+          <parameter name="exthighestseq" type="guint32" />
+          <parameter name="jitter" type="guint32" />
+          <parameter name="lsr" type="guint32" />
+          <parameter name="dlsr" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SrGetSenderInfo" cname="gst_rtcp_packet_sr_get_sender_info">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+          <parameter name="ntptime" type="guint64" />
+          <parameter name="rtptime" type="guint32" />
+          <parameter name="packet_count" type="guint32" />
+          <parameter name="octet_count" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SrSetSenderInfo" cname="gst_rtcp_packet_sr_set_sender_info">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+          <parameter name="ntptime" type="guint64" />
+          <parameter name="rtptime" type="guint32" />
+          <parameter name="packet_count" type="guint32" />
+          <parameter name="octet_count" type="guint32" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="RTPBaseAudioPayloadPrivate" cname="GstRTPBaseAudioPayloadPrivate" opaque="true" hidden="true" />
+    <struct name="RTPBaseDepayloadPrivate" cname="GstRTPBaseDepayloadPrivate" opaque="true" hidden="true" />
+    <struct name="RTPBasePayloadPrivate" cname="GstRTPBasePayloadPrivate" opaque="true" hidden="true" />
+    <struct name="RTPBuffer" cname="GstRTPBuffer" opaque="false" hidden="false">
+      <field cname="buffer" access="public" writeable="true" readable="true" is_callback="false" name="Buffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="state" access="public" writeable="true" readable="true" is_callback="false" name="State" type="guint" array_index="1" />
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="gpointer" array_index="4" array="true" array_len="4" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" array_index="3" array="true" array_len="4" />
+      <field cname="map" access="public" writeable="true" readable="true" is_callback="false" name="MapInfo" type="GstMapInfo" array="true" array_len="4" />
+      <method name="AddExtensionOnebyteHeader" cname="gst_rtp_buffer_add_extension_onebyte_header">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="id" type="guint8" />
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="2" />
+          <parameter name="n_length" type="guint" array_index="1" />
+        </parameters>
+      </method>
+      <method name="AddExtensionTwobytesHeader" cname="gst_rtp_buffer_add_extension_twobytes_header">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="appbits" type="guint8" />
+          <parameter name="id" type="guint8" />
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="3" />
+          <parameter name="n_length" type="guint" array_index="2" />
+        </parameters>
+      </method>
+      <method name="GetCsrc" cname="gst_rtp_buffer_get_csrc">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="idx" type="guint8" />
+        </parameters>
+      </method>
+      <method name="GetCsrcCount" cname="gst_rtp_buffer_get_csrc_count">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="GetExtension" cname="gst_rtp_buffer_get_extension">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetExtensionBytes" cname="gst_rtp_buffer_get_extension_bytes" version="1.2">
+        <return-type type="GBytes*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="bits" type="guint16*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetExtensionOnebyteHeader" cname="gst_rtp_buffer_get_extension_onebyte_header" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="id" type="guint8" />
+          <parameter name="nth" type="guint" />
+          <parameter name="data" type="gpointer*" pass_as="out" array="true" array_length_param_index="3" />
+          <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="2" />
+        </parameters>
+      </method>
+      <method name="GetExtensionTwobytesHeader" cname="gst_rtp_buffer_get_extension_twobytes_header" hidden="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="appbits" type="guint8*" owned="true" pass_as="out" />
+          <parameter name="id" type="guint8" />
+          <parameter name="nth" type="guint" />
+          <parameter name="data" type="gpointer*" pass_as="out" array="true" array_length_param_index="4" />
+          <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="3" />
+        </parameters>
+      </method>
+      <method name="GetHeaderLen" cname="gst_rtp_buffer_get_header_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMarker" cname="gst_rtp_buffer_get_marker">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetPacketLen" cname="gst_rtp_buffer_get_packet_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetPadding" cname="gst_rtp_buffer_get_padding">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetPayloadBuffer" cname="gst_rtp_buffer_get_payload_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetPayloadBytes" cname="gst_rtp_buffer_get_payload_bytes" version="1.2">
+        <return-type type="GBytes*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetPayloadLen" cname="gst_rtp_buffer_get_payload_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetPayloadSubbuffer" cname="gst_rtp_buffer_get_payload_subbuffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="offset" type="guint" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetPayloadType" cname="gst_rtp_buffer_get_payload_type">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="GetSeq" cname="gst_rtp_buffer_get_seq">
+        <return-type type="guint16" />
+        <parameters />
+      </method>
+      <method name="GetSsrc" cname="gst_rtp_buffer_get_ssrc">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetTimestamp" cname="gst_rtp_buffer_get_timestamp">
+        <return-type type="guint32" />
+        <parameters />
+      </method>
+      <method name="GetVersion" cname="gst_rtp_buffer_get_version">
+        <return-type type="guint8" />
+        <parameters />
+      </method>
+      <method name="PadTo" cname="gst_rtp_buffer_pad_to">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetCsrc" cname="gst_rtp_buffer_set_csrc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="idx" type="guint8" />
+          <parameter name="csrc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetExtension" cname="gst_rtp_buffer_set_extension">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="extension" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetExtensionData" cname="gst_rtp_buffer_set_extension_data">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="bits" type="guint16" />
+          <parameter name="length" type="guint16" />
+        </parameters>
+      </method>
+      <method name="SetMarker" cname="gst_rtp_buffer_set_marker">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="marker" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetPacketLen" cname="gst_rtp_buffer_set_packet_len">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetPadding" cname="gst_rtp_buffer_set_padding">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="padding" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetPayloadType" cname="gst_rtp_buffer_set_payload_type">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="payload_type" type="guint8" />
+        </parameters>
+      </method>
+      <method name="SetSeq" cname="gst_rtp_buffer_set_seq">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="seq" type="guint16" />
+        </parameters>
+      </method>
+      <method name="SetSsrc" cname="gst_rtp_buffer_set_ssrc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ssrc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetTimestamp" cname="gst_rtp_buffer_set_timestamp">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timestamp" type="guint32" />
+        </parameters>
+      </method>
+      <method name="SetVersion" cname="gst_rtp_buffer_set_version">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="version" type="guint8" />
+        </parameters>
+      </method>
+      <method name="Unmap" cname="gst_rtp_buffer_unmap">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="AllocateData" cname="gst_rtp_buffer_allocate_data" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="payload_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="CalcHeaderLen" cname="gst_rtp_buffer_calc_header_len" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="CalcPacketLen" cname="gst_rtp_buffer_calc_packet_len" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="payload_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="CalcPayloadLen" cname="gst_rtp_buffer_calc_payload_len" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="packet_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="CompareSeqnum" cname="gst_rtp_buffer_compare_seqnum" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="seqnum1" type="guint16" />
+          <parameter name="seqnum2" type="guint16" />
+        </parameters>
+      </method>
+      <method name="DefaultClockRate" cname="gst_rtp_buffer_default_clock_rate" shared="true">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="payload_type" type="guint8" />
+        </parameters>
+      </method>
+      <method name="ExtTimestamp" cname="gst_rtp_buffer_ext_timestamp" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="exttimestamp" type="guint64" />
+          <parameter name="timestamp" type="guint32" />
+        </parameters>
+      </method>
+      <method name="Map" cname="gst_rtp_buffer_map" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+          <parameter name="rtp" type="GstRTPBuffer*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NewAllocate" cname="gst_rtp_buffer_new_allocate" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="payload_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="NewAllocateLen" cname="gst_rtp_buffer_new_allocate_len" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="packet_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="NewCopyData" cname="gst_rtp_buffer_new_copy_data" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="gsize" />
+        </parameters>
+      </method>
+      <method name="NewTakeData" cname="gst_rtp_buffer_new_take_data" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8*" owned="true" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="gsize" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="RTPPayloadInfo" cname="GstRTPPayloadInfo" opaque="false" hidden="false">
+      <field cname="payload_type" access="public" writeable="true" readable="true" is_callback="false" name="PayloadType" type="guint8" />
+      <field cname="media" access="public" writeable="true" readable="true" is_callback="false" name="Media" type="gchar*" />
+      <field cname="encoding_name" access="public" writeable="true" readable="true" is_callback="false" name="EncodingName" type="gchar*" />
+      <field cname="clock_rate" access="public" writeable="true" readable="true" is_callback="false" name="ClockRate" type="guint" />
+      <field cname="encoding_parameters" access="public" writeable="true" readable="true" is_callback="false" name="EncodingParameters" type="gchar*" />
+      <field cname="bitrate" access="public" writeable="true" readable="true" is_callback="false" name="Bitrate" type="guint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="ForName" cname="gst_rtp_payload_info_for_name" shared="true">
+        <return-type type="GstRTPPayloadInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="media" type="const-gchar*" />
+          <parameter name="encoding_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ForPt" cname="gst_rtp_payload_info_for_pt" shared="true">
+        <return-type type="GstRTPPayloadInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="payload_type" type="guint8" />
+        </parameters>
+      </method>
+    </struct>
+    <object name="Global" cname="GstRtpGlobal" opaque="true">
+      <method name="RtcpBufferMap" cname="gst_rtcp_buffer_map" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+          <parameter name="rtcp" type="GstRTCPBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtcpBufferNew" cname="gst_rtcp_buffer_new" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="mtu" type="guint" />
+        </parameters>
+      </method>
+      <method name="RtcpBufferNewCopyData" cname="gst_rtcp_buffer_new_copy_data" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="guint" />
+        </parameters>
+      </method>
+      <method name="RtcpBufferNewTakeData" cname="gst_rtcp_buffer_new_take_data" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="guint" />
+        </parameters>
+      </method>
+      <method name="RtcpBufferValidate" cname="gst_rtcp_buffer_validate" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtcpBufferValidateData" cname="gst_rtcp_buffer_validate_data" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="RtcpBufferValidateDataReduced" cname="gst_rtcp_buffer_validate_data_reduced" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="len" type="guint" />
+        </parameters>
+      </method>
+      <method name="RtcpBufferValidateReduced" cname="gst_rtcp_buffer_validate_reduced" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtcpNtpToUnix" cname="gst_rtcp_ntp_to_unix" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="ntptime" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RtcpSdesNameToType" cname="gst_rtcp_sdes_name_to_type" shared="true">
+        <return-type type="GstRTCPSDESType" />
+        <parameters>
+          <parameter name="name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RtcpSdesTypeToName" cname="gst_rtcp_sdes_type_to_name" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="type" type="GstRTCPSDESType" />
+        </parameters>
+      </method>
+      <method name="RtcpUnixToNtp" cname="gst_rtcp_unix_to_ntp" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="unixtime" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RtpBufferAllocateData" cname="gst_rtp_buffer_allocate_data" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="payload_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="RtpBufferCalcHeaderLen" cname="gst_rtp_buffer_calc_header_len" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="RtpBufferCalcPacketLen" cname="gst_rtp_buffer_calc_packet_len" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="payload_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="RtpBufferCalcPayloadLen" cname="gst_rtp_buffer_calc_payload_len" shared="true">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="packet_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="RtpBufferCompareSeqnum" cname="gst_rtp_buffer_compare_seqnum" shared="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="seqnum1" type="guint16" />
+          <parameter name="seqnum2" type="guint16" />
+        </parameters>
+      </method>
+      <method name="RtpBufferDefaultClockRate" cname="gst_rtp_buffer_default_clock_rate" shared="true">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="payload_type" type="guint8" />
+        </parameters>
+      </method>
+      <method name="RtpBufferExtTimestamp" cname="gst_rtp_buffer_ext_timestamp" shared="true">
+        <return-type type="guint64" />
+        <parameters>
+          <parameter name="exttimestamp" type="guint64" />
+          <parameter name="timestamp" type="guint32" />
+        </parameters>
+      </method>
+      <method name="RtpBufferMap" cname="gst_rtp_buffer_map" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+          <parameter name="rtp" type="GstRTPBuffer*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtpBufferNewAllocate" cname="gst_rtp_buffer_new_allocate" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="payload_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="RtpBufferNewAllocateLen" cname="gst_rtp_buffer_new_allocate_len" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="packet_len" type="guint" />
+          <parameter name="pad_len" type="guint8" />
+          <parameter name="csrc_count" type="guint8" />
+        </parameters>
+      </method>
+      <method name="RtpBufferNewCopyData" cname="gst_rtp_buffer_new_copy_data" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="gsize" />
+        </parameters>
+      </method>
+      <method name="RtpBufferNewTakeData" cname="gst_rtp_buffer_new_take_data" shared="true">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="data" type="guint8*" owned="true" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="gsize" />
+        </parameters>
+      </method>
+      <method name="RtpHdrextGetNtp56" cname="gst_rtp_hdrext_get_ntp_56" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter name="size" type="guint" />
+          <parameter name="ntptime" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RtpHdrextGetNtp64" cname="gst_rtp_hdrext_get_ntp_64" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter name="size" type="guint" />
+          <parameter name="ntptime" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RtpHdrextSetNtp56" cname="gst_rtp_hdrext_set_ntp_56" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter name="size" type="guint" />
+          <parameter name="ntptime" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RtpHdrextSetNtp64" cname="gst_rtp_hdrext_set_ntp_64" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter name="size" type="guint" />
+          <parameter name="ntptime" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RtpPayloadInfoForName" cname="gst_rtp_payload_info_for_name" shared="true">
+        <return-type type="GstRTPPayloadInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="media" type="const-gchar*" />
+          <parameter name="encoding_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RtpPayloadInfoForPt" cname="gst_rtp_payload_info_for_pt" shared="true">
+        <return-type type="GstRTPPayloadInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="payload_type" type="guint8" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstRtpConstants" opaque="true">
+      <constant value="31" ctype="gint" gtype="gint" name="RTCP_MAX_BYE_SSRC_COUNT" />
+      <constant value="31" ctype="gint" gtype="gint" name="RTCP_MAX_RB_COUNT" />
+      <constant value="255" ctype="gint" gtype="gint" name="RTCP_MAX_SDES" />
+      <constant value="31" ctype="gint" gtype="gint" name="RTCP_MAX_SDES_ITEM_COUNT" />
+      <constant value="57592" ctype="gint" gtype="gint" name="RTCP_REDUCED_SIZE_VALID_MASK" />
+      <constant value="57598" ctype="gint" gtype="gint" name="RTCP_VALID_MASK" />
+      <constant value="0" ctype="gint" gtype="gint" name="RTCP_VALID_VALUE" />
+      <constant value="2" ctype="gint" gtype="gint" name="RTCP_VERSION" />
+      <constant value="urn:ietf:params:rtp-hdrext:" ctype="gchar*" gtype="gchar*" name="RTP_HDREXT_BASE" />
+      <constant value="ntp-56" ctype="gchar*" gtype="gchar*" name="RTP_HDREXT_NTP_56" />
+      <constant value="7" ctype="gint" gtype="gint" name="RTP_HDREXT_NTP_56_SIZE" />
+      <constant value="ntp-64" ctype="gchar*" gtype="gchar*" name="RTP_HDREXT_NTP_64" />
+      <constant value="8" ctype="gint" gtype="gint" name="RTP_HDREXT_NTP_64_SIZE" />
+      <constant value="1" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_1016_STRING" />
+      <constant value="25" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_CELLB_STRING" />
+      <constant value="13" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_CN_STRING" />
+      <constant value="16" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_DVI4_11025_STRING" />
+      <constant value="6" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_DVI4_16000_STRING" />
+      <constant value="17" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_DVI4_22050_STRING" />
+      <constant value="5" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_DVI4_8000_STRING" />
+      <constant value="[96, 127]" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_DYNAMIC_STRING" />
+      <constant value="2" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_G721_STRING" />
+      <constant value="9" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_G722_STRING" />
+      <constant value="17" ctype="gint" gtype="gint" name="RTP_PAYLOAD_G723_53" />
+      <constant value="17" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_G723_53_STRING" />
+      <constant value="16" ctype="gint" gtype="gint" name="RTP_PAYLOAD_G723_63" />
+      <constant value="16" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_G723_63_STRING" />
+      <constant value="4" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_G723_STRING" />
+      <constant value="15" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_G728_STRING" />
+      <constant value="18" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_G729_STRING" />
+      <constant value="3" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_GSM_STRING" />
+      <constant value="31" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_H261_STRING" />
+      <constant value="34" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_H263_STRING" />
+      <constant value="26" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_JPEG_STRING" />
+      <constant value="11" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_L16_MONO_STRING" />
+      <constant value="10" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_L16_STEREO_STRING" />
+      <constant value="7" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_LPC_STRING" />
+      <constant value="33" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_MP2T_STRING" />
+      <constant value="14" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_MPA_STRING" />
+      <constant value="32" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_MPV_STRING" />
+      <constant value="28" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_NV_STRING" />
+      <constant value="8" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_PCMA_STRING" />
+      <constant value="0" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_PCMU_STRING" />
+      <constant value="12" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_QCELP_STRING" />
+      <constant value="19" ctype="gint" gtype="gint" name="RTP_PAYLOAD_TS41" />
+      <constant value="19" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_TS41_STRING" />
+      <constant value="18" ctype="gint" gtype="gint" name="RTP_PAYLOAD_TS48" />
+      <constant value="18" ctype="gchar*" gtype="gchar*" name="RTP_PAYLOAD_TS48_STRING" />
+      <constant value="2" ctype="gint" gtype="gint" name="RTP_VERSION" />
+    </object>
+  </namespace>
+  <namespace name="Gst.Rtsp" library="libgstrtsp-1.0-0.dll">
+    <enum name="RTSPAuthMethod" cname="GstRTSPAuthMethod" type="enum" gtype="gst_rtsp_auth_method_get_type">
+      <member cname="GST_RTSP_AUTH_NONE" name="None" value="0" />
+      <member cname="GST_RTSP_AUTH_BASIC" name="Basic" value="1" />
+      <member cname="GST_RTSP_AUTH_DIGEST" name="Digest" value="2" />
+    </enum>
+    <enum name="RTSPFamily" cname="GstRTSPFamily" type="enum" gtype="gst_rtsp_family_get_type">
+      <member cname="GST_RTSP_FAM_NONE" name="None" value="0" />
+      <member cname="GST_RTSP_FAM_INET" name="Inet" value="1" />
+      <member cname="GST_RTSP_FAM_INET6" name="Inet6" value="2" />
+    </enum>
+    <enum name="RTSPHeaderField" cname="GstRTSPHeaderField" type="enum" gtype="gst_rtsp_header_field_get_type">
+      <member cname="GST_RTSP_HDR_INVALID" name="Invalid" value="0" />
+      <member cname="GST_RTSP_HDR_ACCEPT" name="Accept" value="1" />
+      <member cname="GST_RTSP_HDR_ACCEPT_ENCODING" name="AcceptEncoding" value="2" />
+      <member cname="GST_RTSP_HDR_ACCEPT_LANGUAGE" name="AcceptLanguage" value="3" />
+      <member cname="GST_RTSP_HDR_ALLOW" name="Allow" value="4" />
+      <member cname="GST_RTSP_HDR_AUTHORIZATION" name="Authorization" value="5" />
+      <member cname="GST_RTSP_HDR_BANDWIDTH" name="Bandwidth" value="6" />
+      <member cname="GST_RTSP_HDR_BLOCKSIZE" name="Blocksize" value="7" />
+      <member cname="GST_RTSP_HDR_CACHE_CONTROL" name="CacheControl" value="8" />
+      <member cname="GST_RTSP_HDR_CONFERENCE" name="Conference" value="9" />
+      <member cname="GST_RTSP_HDR_CONNECTION" name="Connection" value="10" />
+      <member cname="GST_RTSP_HDR_CONTENT_BASE" name="ContentBase" value="11" />
+      <member cname="GST_RTSP_HDR_CONTENT_ENCODING" name="ContentEncoding" value="12" />
+      <member cname="GST_RTSP_HDR_CONTENT_LANGUAGE" name="ContentLanguage" value="13" />
+      <member cname="GST_RTSP_HDR_CONTENT_LENGTH" name="ContentLength" value="14" />
+      <member cname="GST_RTSP_HDR_CONTENT_LOCATION" name="ContentLocation" value="15" />
+      <member cname="GST_RTSP_HDR_CONTENT_TYPE" name="ContentType" value="16" />
+      <member cname="GST_RTSP_HDR_CSEQ" name="Cseq" value="17" />
+      <member cname="GST_RTSP_HDR_DATE" name="Date" value="18" />
+      <member cname="GST_RTSP_HDR_EXPIRES" name="Expires" value="19" />
+      <member cname="GST_RTSP_HDR_FROM" name="From" value="20" />
+      <member cname="GST_RTSP_HDR_IF_MODIFIED_SINCE" name="IfModifiedSince" value="21" />
+      <member cname="GST_RTSP_HDR_LAST_MODIFIED" name="LastModified" value="22" />
+      <member cname="GST_RTSP_HDR_PROXY_AUTHENTICATE" name="ProxyAuthenticate" value="23" />
+      <member cname="GST_RTSP_HDR_PROXY_REQUIRE" name="ProxyRequire" value="24" />
+      <member cname="GST_RTSP_HDR_PUBLIC" name="Public" value="25" />
+      <member cname="GST_RTSP_HDR_RANGE" name="Range" value="26" />
+      <member cname="GST_RTSP_HDR_REFERER" name="Referer" value="27" />
+      <member cname="GST_RTSP_HDR_REQUIRE" name="Require" value="28" />
+      <member cname="GST_RTSP_HDR_RETRY_AFTER" name="RetryAfter" value="29" />
+      <member cname="GST_RTSP_HDR_RTP_INFO" name="RtpInfo" value="30" />
+      <member cname="GST_RTSP_HDR_SCALE" name="Scale" value="31" />
+      <member cname="GST_RTSP_HDR_SESSION" name="Session" value="32" />
+      <member cname="GST_RTSP_HDR_SERVER" name="Server" value="33" />
+      <member cname="GST_RTSP_HDR_SPEED" name="Speed" value="34" />
+      <member cname="GST_RTSP_HDR_TRANSPORT" name="Transport" value="35" />
+      <member cname="GST_RTSP_HDR_UNSUPPORTED" name="Unsupported" value="36" />
+      <member cname="GST_RTSP_HDR_USER_AGENT" name="UserAgent" value="37" />
+      <member cname="GST_RTSP_HDR_VIA" name="Via" value="38" />
+      <member cname="GST_RTSP_HDR_WWW_AUTHENTICATE" name="WwwAuthenticate" value="39" />
+      <member cname="GST_RTSP_HDR_CLIENT_CHALLENGE" name="ClientChallenge" value="40" />
+      <member cname="GST_RTSP_HDR_REAL_CHALLENGE1" name="RealChallenge1" value="41" />
+      <member cname="GST_RTSP_HDR_REAL_CHALLENGE2" name="RealChallenge2" value="42" />
+      <member cname="GST_RTSP_HDR_REAL_CHALLENGE3" name="RealChallenge3" value="43" />
+      <member cname="GST_RTSP_HDR_SUBSCRIBE" name="Subscribe" value="44" />
+      <member cname="GST_RTSP_HDR_ALERT" name="Alert" value="45" />
+      <member cname="GST_RTSP_HDR_CLIENT_ID" name="ClientId" value="46" />
+      <member cname="GST_RTSP_HDR_COMPANY_ID" name="CompanyId" value="47" />
+      <member cname="GST_RTSP_HDR_GUID" name="Guid" value="48" />
+      <member cname="GST_RTSP_HDR_REGION_DATA" name="RegionData" value="49" />
+      <member cname="GST_RTSP_HDR_MAX_ASM_WIDTH" name="MaxAsmWidth" value="50" />
+      <member cname="GST_RTSP_HDR_LANGUAGE" name="Language" value="51" />
+      <member cname="GST_RTSP_HDR_PLAYER_START_TIME" name="PlayerStartTime" value="52" />
+      <member cname="GST_RTSP_HDR_LOCATION" name="Location" value="53" />
+      <member cname="GST_RTSP_HDR_ETAG" name="Etag" value="54" />
+      <member cname="GST_RTSP_HDR_IF_MATCH" name="IfMatch" value="55" />
+      <member cname="GST_RTSP_HDR_ACCEPT_CHARSET" name="AcceptCharset" value="56" />
+      <member cname="GST_RTSP_HDR_SUPPORTED" name="Supported" value="57" />
+      <member cname="GST_RTSP_HDR_VARY" name="Vary" value="58" />
+      <member cname="GST_RTSP_HDR_X_ACCELERATE_STREAMING" name="XAccelerateStreaming" value="59" />
+      <member cname="GST_RTSP_HDR_X_ACCEPT_AUTHENT" name="XAcceptAuthent" value="60" />
+      <member cname="GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT" name="XAcceptProxyAuthent" value="61" />
+      <member cname="GST_RTSP_HDR_X_BROADCAST_ID" name="XBroadcastId" value="62" />
+      <member cname="GST_RTSP_HDR_X_BURST_STREAMING" name="XBurstStreaming" value="63" />
+      <member cname="GST_RTSP_HDR_X_NOTICE" name="XNotice" value="64" />
+      <member cname="GST_RTSP_HDR_X_PLAYER_LAG_TIME" name="XPlayerLagTime" value="65" />
+      <member cname="GST_RTSP_HDR_X_PLAYLIST" name="XPlaylist" value="66" />
+      <member cname="GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE" name="XPlaylistChangeNotice" value="67" />
+      <member cname="GST_RTSP_HDR_X_PLAYLIST_GEN_ID" name="XPlaylistGenId" value="68" />
+      <member cname="GST_RTSP_HDR_X_PLAYLIST_SEEK_ID" name="XPlaylistSeekId" value="69" />
+      <member cname="GST_RTSP_HDR_X_PROXY_CLIENT_AGENT" name="XProxyClientAgent" value="70" />
+      <member cname="GST_RTSP_HDR_X_PROXY_CLIENT_VERB" name="XProxyClientVerb" value="71" />
+      <member cname="GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE" name="XRecedingPlaylistchange" value="72" />
+      <member cname="GST_RTSP_HDR_X_RTP_INFO" name="XRtpInfo" value="73" />
+      <member cname="GST_RTSP_HDR_X_STARTUPPROFILE" name="XStartupprofile" value="74" />
+      <member cname="GST_RTSP_HDR_TIMESTAMP" name="Timestamp" value="75" />
+      <member cname="GST_RTSP_HDR_AUTHENTICATION_INFO" name="AuthenticationInfo" value="76" />
+      <member cname="GST_RTSP_HDR_HOST" name="Host" value="77" />
+      <member cname="GST_RTSP_HDR_PRAGMA" name="Pragma" value="78" />
+      <member cname="GST_RTSP_HDR_X_SERVER_IP_ADDRESS" name="XServerIpAddress" value="79" />
+      <member cname="GST_RTSP_HDR_X_SESSIONCOOKIE" name="XSessioncookie" value="80" />
+      <member cname="GST_RTSP_HDR_RTCP_INTERVAL" name="RtcpInterval" value="81" />
+      <member cname="GST_RTSP_HDR_KEYMGMT" name="Keymgmt" value="82" />
+      <member cname="GST_RTSP_HDR_PIPELINED_REQUESTS" name="PipelinedRequests" value="83" />
+      <member cname="GST_RTSP_HDR_MEDIA_PROPERTIES" name="MediaProperties" value="84" />
+      <member cname="GST_RTSP_HDR_SEEK_STYLE" name="SeekStyle" value="85" />
+      <member cname="GST_RTSP_HDR_ACCEPT_RANGES" name="AcceptRanges" value="86" />
+      <member cname="GST_RTSP_HDR_LAST" name="Last" value="87" />
+    </enum>
+    <enum name="RTSPMsgType" cname="GstRTSPMsgType" type="enum" gtype="gst_rtsp_msg_type_get_type">
+      <member cname="GST_RTSP_MESSAGE_INVALID" name="Invalid" value="0" />
+      <member cname="GST_RTSP_MESSAGE_REQUEST" name="Request" value="1" />
+      <member cname="GST_RTSP_MESSAGE_RESPONSE" name="Response" value="2" />
+      <member cname="GST_RTSP_MESSAGE_HTTP_REQUEST" name="HttpRequest" value="3" />
+      <member cname="GST_RTSP_MESSAGE_HTTP_RESPONSE" name="HttpResponse" value="4" />
+      <member cname="GST_RTSP_MESSAGE_DATA" name="Data" value="5" />
+    </enum>
+    <enum name="RTSPRangeUnit" cname="GstRTSPRangeUnit" type="enum" gtype="gst_rtsp_range_unit_get_type">
+      <member cname="GST_RTSP_RANGE_SMPTE" name="Smpte" value="0" />
+      <member cname="GST_RTSP_RANGE_SMPTE_30_DROP" name="Smpte30Drop" value="1" />
+      <member cname="GST_RTSP_RANGE_SMPTE_25" name="Smpte25" value="2" />
+      <member cname="GST_RTSP_RANGE_NPT" name="Npt" value="3" />
+      <member cname="GST_RTSP_RANGE_CLOCK" name="Clock" value="4" />
+    </enum>
+    <enum name="RTSPResult" cname="GstRTSPResult" type="enum" gtype="gst_rtsp_result_get_type">
+      <member cname="GST_RTSP_ELAST" name="Elast" value="-17" />
+      <member cname="GST_RTSP_ETPOST" name="Etpost" value="-16" />
+      <member cname="GST_RTSP_ETGET" name="Etget" value="-15" />
+      <member cname="GST_RTSP_ETIMEOUT" name="Etimeout" value="-14" />
+      <member cname="GST_RTSP_ENOTIP" name="Enotip" value="-13" />
+      <member cname="GST_RTSP_ENET" name="Enet" value="-12" />
+      <member cname="GST_RTSP_EEOF" name="Eeof" value="-11" />
+      <member cname="GST_RTSP_EWSAVERSION" name="Ewsaversion" value="-10" />
+      <member cname="GST_RTSP_EWSASTART" name="Ewsastart" value="-9" />
+      <member cname="GST_RTSP_EPARSE" name="Eparse" value="-8" />
+      <member cname="GST_RTSP_ESYS" name="Esys" value="-7" />
+      <member cname="GST_RTSP_ENOTIMPL" name="Enotimpl" value="-6" />
+      <member cname="GST_RTSP_ERESOLV" name="Eresolv" value="-5" />
+      <member cname="GST_RTSP_ENOMEM" name="Enomem" value="-4" />
+      <member cname="GST_RTSP_EINTR" name="Eintr" value="-3" />
+      <member cname="GST_RTSP_EINVAL" name="Einval" value="-2" />
+      <member cname="GST_RTSP_ERROR" name="Error" value="-1" />
+      <member cname="GST_RTSP_OK" name="Ok" value="0" />
+    </enum>
+    <enum name="RTSPState" cname="GstRTSPState" type="enum" gtype="gst_rtsp_state_get_type">
+      <member cname="GST_RTSP_STATE_INVALID" name="Invalid" value="0" />
+      <member cname="GST_RTSP_STATE_INIT" name="Init" value="1" />
+      <member cname="GST_RTSP_STATE_READY" name="Ready" value="2" />
+      <member cname="GST_RTSP_STATE_SEEKING" name="Seeking" value="3" />
+      <member cname="GST_RTSP_STATE_PLAYING" name="Playing" value="4" />
+      <member cname="GST_RTSP_STATE_RECORDING" name="Recording" value="5" />
+    </enum>
+    <enum name="RTSPStatusCode" cname="GstRTSPStatusCode" type="enum" gtype="gst_rtsp_status_code_get_type">
+      <member cname="GST_RTSP_STS_INVALID" name="Invalid" value="0" />
+      <member cname="GST_RTSP_STS_CONTINUE" name="Continue" value="100" />
+      <member cname="GST_RTSP_STS_OK" name="Ok" value="200" />
+      <member cname="GST_RTSP_STS_CREATED" name="Created" value="201" />
+      <member cname="GST_RTSP_STS_LOW_ON_STORAGE" name="LowOnStorage" value="250" />
+      <member cname="GST_RTSP_STS_MULTIPLE_CHOICES" name="MultipleChoices" value="300" />
+      <member cname="GST_RTSP_STS_MOVED_PERMANENTLY" name="MovedPermanently" value="301" />
+      <member cname="GST_RTSP_STS_MOVE_TEMPORARILY" name="MoveTemporarily" value="302" />
+      <member cname="GST_RTSP_STS_SEE_OTHER" name="SeeOther" value="303" />
+      <member cname="GST_RTSP_STS_NOT_MODIFIED" name="NotModified" value="304" />
+      <member cname="GST_RTSP_STS_USE_PROXY" name="UseProxy" value="305" />
+      <member cname="GST_RTSP_STS_BAD_REQUEST" name="BadRequest" value="400" />
+      <member cname="GST_RTSP_STS_UNAUTHORIZED" name="Unauthorized" value="401" />
+      <member cname="GST_RTSP_STS_PAYMENT_REQUIRED" name="PaymentRequired" value="402" />
+      <member cname="GST_RTSP_STS_FORBIDDEN" name="Forbidden" value="403" />
+      <member cname="GST_RTSP_STS_NOT_FOUND" name="NotFound" value="404" />
+      <member cname="GST_RTSP_STS_METHOD_NOT_ALLOWED" name="MethodNotAllowed" value="405" />
+      <member cname="GST_RTSP_STS_NOT_ACCEPTABLE" name="NotAcceptable" value="406" />
+      <member cname="GST_RTSP_STS_PROXY_AUTH_REQUIRED" name="ProxyAuthRequired" value="407" />
+      <member cname="GST_RTSP_STS_REQUEST_TIMEOUT" name="RequestTimeout" value="408" />
+      <member cname="GST_RTSP_STS_GONE" name="Gone" value="410" />
+      <member cname="GST_RTSP_STS_LENGTH_REQUIRED" name="LengthRequired" value="411" />
+      <member cname="GST_RTSP_STS_PRECONDITION_FAILED" name="PreconditionFailed" value="412" />
+      <member cname="GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE" name="RequestEntityTooLarge" value="413" />
+      <member cname="GST_RTSP_STS_REQUEST_URI_TOO_LARGE" name="RequestUriTooLarge" value="414" />
+      <member cname="GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE" name="UnsupportedMediaType" value="415" />
+      <member cname="GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD" name="ParameterNotUnderstood" value="451" />
+      <member cname="GST_RTSP_STS_CONFERENCE_NOT_FOUND" name="ConferenceNotFound" value="452" />
+      <member cname="GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH" name="NotEnoughBandwidth" value="453" />
+      <member cname="GST_RTSP_STS_SESSION_NOT_FOUND" name="SessionNotFound" value="454" />
+      <member cname="GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE" name="MethodNotValidInThisState" value="455" />
+      <member cname="GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE" name="HeaderFieldNotValidForResource" value="456" />
+      <member cname="GST_RTSP_STS_INVALID_RANGE" name="InvalidRange" value="457" />
+      <member cname="GST_RTSP_STS_PARAMETER_IS_READONLY" name="ParameterIsReadonly" value="458" />
+      <member cname="GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED" name="AggregateOperationNotAllowed" value="459" />
+      <member cname="GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED" name="OnlyAggregateOperationAllowed" value="460" />
+      <member cname="GST_RTSP_STS_UNSUPPORTED_TRANSPORT" name="UnsupportedTransport" value="461" />
+      <member cname="GST_RTSP_STS_DESTINATION_UNREACHABLE" name="DestinationUnreachable" value="462" />
+      <member cname="GST_RTSP_STS_KEY_MANAGEMENT_FAILURE" name="KeyManagementFailure" value="463" />
+      <member cname="GST_RTSP_STS_INTERNAL_SERVER_ERROR" name="InternalServerError" value="500" />
+      <member cname="GST_RTSP_STS_NOT_IMPLEMENTED" name="NotImplemented" value="501" />
+      <member cname="GST_RTSP_STS_BAD_GATEWAY" name="BadGateway" value="502" />
+      <member cname="GST_RTSP_STS_SERVICE_UNAVAILABLE" name="ServiceUnavailable" value="503" />
+      <member cname="GST_RTSP_STS_GATEWAY_TIMEOUT" name="GatewayTimeout" value="504" />
+      <member cname="GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED" name="RtspVersionNotSupported" value="505" />
+      <member cname="GST_RTSP_STS_OPTION_NOT_SUPPORTED" name="OptionNotSupported" value="551" />
+    </enum>
+    <enum name="RTSPTimeType" cname="GstRTSPTimeType" type="enum" gtype="gst_rtsp_time_type_get_type">
+      <member cname="GST_RTSP_TIME_SECONDS" name="Seconds" value="0" />
+      <member cname="GST_RTSP_TIME_NOW" name="Now" value="1" />
+      <member cname="GST_RTSP_TIME_END" name="End" value="2" />
+      <member cname="GST_RTSP_TIME_FRAMES" name="Frames" value="3" />
+      <member cname="GST_RTSP_TIME_UTC" name="Utc" value="4" />
+    </enum>
+    <enum name="RTSPVersion" cname="GstRTSPVersion" type="enum" gtype="gst_rtsp_version_get_type">
+      <member cname="GST_RTSP_VERSION_INVALID" name="Invalid" value="0" />
+      <member cname="GST_RTSP_VERSION_1_0" name="_110" value="16" />
+      <member cname="GST_RTSP_VERSION_1_1" name="_111" value="17" />
+      <member cname="GST_RTSP_VERSION_2_0" name="_220" value="32" />
+    </enum>
+    <enum name="RTSPEvent" cname="GstRTSPEvent" type="flags" gtype="gst_rtsp_event_get_type">
+      <member cname="GST_RTSP_EV_READ" name="Read" value="1" />
+      <member cname="GST_RTSP_EV_WRITE" name="Write" value="2" />
+    </enum>
+    <enum name="RTSPLowerTrans" cname="GstRTSPLowerTrans" type="flags" gtype="gst_rtsp_lower_trans_get_type">
+      <member cname="GST_RTSP_LOWER_TRANS_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_RTSP_LOWER_TRANS_UDP" name="Udp" value="1" />
+      <member cname="GST_RTSP_LOWER_TRANS_UDP_MCAST" name="UdpMcast" value="2" />
+      <member cname="GST_RTSP_LOWER_TRANS_TCP" name="Tcp" value="4" />
+      <member cname="GST_RTSP_LOWER_TRANS_HTTP" name="Http" value="16" />
+      <member cname="GST_RTSP_LOWER_TRANS_TLS" name="Tls" value="32" />
+    </enum>
+    <enum name="RTSPMethod" cname="GstRTSPMethod" type="flags" gtype="gst_rtsp_method_get_type">
+      <member cname="GST_RTSP_INVALID" name="Invalid" value="0" />
+      <member cname="GST_RTSP_DESCRIBE" name="Describe" value="1" />
+      <member cname="GST_RTSP_ANNOUNCE" name="Announce" value="2" />
+      <member cname="GST_RTSP_GET_PARAMETER" name="GetParameter" value="4" />
+      <member cname="GST_RTSP_OPTIONS" name="Options" value="8" />
+      <member cname="GST_RTSP_PAUSE" name="Pause" value="16" />
+      <member cname="GST_RTSP_PLAY" name="Play" value="32" />
+      <member cname="GST_RTSP_RECORD" name="Record" value="64" />
+      <member cname="GST_RTSP_REDIRECT" name="Redirect" value="128" />
+      <member cname="GST_RTSP_SETUP" name="Setup" value="256" />
+      <member cname="GST_RTSP_SET_PARAMETER" name="SetParameter" value="512" />
+      <member cname="GST_RTSP_TEARDOWN" name="Teardown" value="1024" />
+      <member cname="GST_RTSP_GET" name="Get" value="2048" />
+      <member cname="GST_RTSP_POST" name="Post" value="4096" />
+    </enum>
+    <enum name="RTSPProfile" cname="GstRTSPProfile" type="flags" gtype="gst_rtsp_profile_get_type">
+      <member cname="GST_RTSP_PROFILE_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_RTSP_PROFILE_AVP" name="Avp" value="1" />
+      <member cname="GST_RTSP_PROFILE_SAVP" name="Savp" value="2" />
+      <member cname="GST_RTSP_PROFILE_AVPF" name="Avpf" value="4" />
+      <member cname="GST_RTSP_PROFILE_SAVPF" name="Savpf" value="8" />
+    </enum>
+    <enum name="RTSPTransMode" cname="GstRTSPTransMode" type="flags" gtype="gst_rtsp_trans_mode_get_type">
+      <member cname="GST_RTSP_TRANS_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_RTSP_TRANS_RTP" name="Rtp" value="1" />
+      <member cname="GST_RTSP_TRANS_RDT" name="Rdt" value="2" />
+    </enum>
+    <callback name="RTSPConnectionAcceptCertificateFunc" cname="GstRTSPConnectionAcceptCertificateFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="conn" type="GTlsConnection*" />
+        <parameter name="peer_cert" type="GTlsCertificate*" />
+        <parameter name="errors" type="GTlsCertificateFlags" />
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <interface name="RTSPExtension" cname="GstRTSPExtension" opaque="false" hidden="false">
+      <class_struct cname="GstRTSPExtensionInterface">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="detect_server" />
+        <method vm="before_send" />
+        <method vm="after_send" />
+        <method vm="parse_sdp" />
+        <method vm="setup_media" />
+        <method vm="configure_stream" />
+        <method vm="get_transports" />
+        <method vm="stream_select" />
+        <method signal_vm="send" />
+        <method vm="receive_request" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_extension_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="AfterSend" cname="after_send">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="req" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="resp" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="BeforeSend" cname="before_send">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="req" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ConfigureStream" cname="configure_stream">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="DetectServer" cname="detect_server">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="resp" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetTransports" cname="get_transports">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="protocols" type="GstRTSPLowerTrans" />
+          <parameter name="transport" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ParseSdp" cname="parse_sdp">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="s" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ReceiveRequest" cname="receive_request">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="req" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetupMedia" cname="setup_media">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="media" type="GstSDPMedia*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="StreamSelect" cname="stream_select">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AfterSend" cname="gst_rtsp_extension_after_send">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="req" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="resp" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BeforeSend" cname="gst_rtsp_extension_before_send">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="req" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ConfigureStream" cname="gst_rtsp_extension_configure_stream">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="DetectServer" cname="gst_rtsp_extension_detect_server">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="resp" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetTransports" cname="gst_rtsp_extension_get_transports">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="protocols" type="GstRTSPLowerTrans" />
+          <parameter name="transport" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ParseSdp" cname="gst_rtsp_extension_parse_sdp">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="s" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReceiveRequest" cname="gst_rtsp_extension_receive_request">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="req" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Send" cname="gst_rtsp_extension_send">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="req" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="resp" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetupMedia" cname="gst_rtsp_extension_setup_media">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="media" type="GstSDPMedia*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="StreamSelect" cname="gst_rtsp_extension_stream_select">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <signal name="SendEvent" cname="send" when="last" field_name="send">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter allow-none="1" name="_object" type="gpointer" />
+          <parameter allow-none="1" name="p0" type="gpointer" />
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+    </interface>
+    <boxed name="RTSPAuthCredential" cname="GstRTSPAuthCredential" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_rtsp_auth_credential_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="scheme" access="public" writeable="true" readable="true" is_callback="false" name="Scheme" type="GstRTSPAuthMethod" />
+      <field cname="params" access="public" writeable="true" readable="true" is_callback="false" name="Params" type="GstRTSPAuthParam**">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="authorization" access="public" writeable="true" readable="true" is_callback="false" name="Authorization" type="gchar*" />
+    </boxed>
+    <boxed name="RTSPAuthParam" cname="GstRTSPAuthParam" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_rtsp_auth_param_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="name" access="public" writeable="true" readable="true" is_callback="false" name="Name" type="gchar*" />
+      <field cname="value" access="public" writeable="true" readable="true" is_callback="false" name="Value" type="gchar*" />
+      <method name="Copy" cname="gst_rtsp_auth_param_copy">
+        <return-type type="GstRTSPAuthParam*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_rtsp_auth_param_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="RTSPConnection" cname="GstRTSPConnection" opaque="true" hidden="false">
+      <method name="ClearAuthParams" cname="gst_rtsp_connection_clear_auth_params">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Close" cname="gst_rtsp_connection_close">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+      <method name="Connect" cname="gst_rtsp_connection_connect">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ConnectWithResponse" cname="gst_rtsp_connection_connect_with_response">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="response" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="DoTunnel" cname="gst_rtsp_connection_do_tunnel">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="conn2" type="GstRTSPConnection*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Flush" cname="gst_rtsp_connection_flush">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="flush" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_rtsp_connection_free">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+      <method name="GetIp" cname="gst_rtsp_connection_get_ip">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetReadSocket" cname="gst_rtsp_connection_get_read_socket">
+        <return-type type="GSocket*" />
+        <parameters />
+      </method>
+      <method name="GetRememberSessionId" cname="gst_rtsp_connection_get_remember_session_id">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetTls" cname="gst_rtsp_connection_get_tls" version="1.2">
+        <return-type type="GTlsConnection*" />
+        <parameters throws="1">
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="GetTlsDatabase" cname="gst_rtsp_connection_get_tls_database" version="1.4">
+        <return-type type="GTlsDatabase*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetTlsInteraction" cname="gst_rtsp_connection_get_tls_interaction" version="1.6">
+        <return-type type="GTlsInteraction*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetTlsValidationFlags" cname="gst_rtsp_connection_get_tls_validation_flags" version="1.2.1">
+        <return-type type="GTlsCertificateFlags" />
+        <parameters />
+      </method>
+      <method name="GetTunnelid" cname="gst_rtsp_connection_get_tunnelid">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetUrl" cname="gst_rtsp_connection_get_url">
+        <return-type type="GstRTSPUrl*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetWriteSocket" cname="gst_rtsp_connection_get_write_socket">
+        <return-type type="GSocket*" />
+        <parameters />
+      </method>
+      <method name="IsTunneled" cname="gst_rtsp_connection_is_tunneled">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="NextTimeout" cname="gst_rtsp_connection_next_timeout">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Poll" cname="gst_rtsp_connection_poll">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="events" type="GstRTSPEvent" />
+          <parameter name="revents" type="GstRTSPEvent" />
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Read" cname="gst_rtsp_connection_read">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="data" type="guint8" />
+          <parameter name="size" type="guint" />
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Receive" cname="gst_rtsp_connection_receive">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="message" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ResetTimeout" cname="gst_rtsp_connection_reset_timeout">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+      <method name="Send" cname="gst_rtsp_connection_send">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="message" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetAcceptCertificateFunc" cname="gst_rtsp_connection_set_accept_certificate_func" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="func" type="GstRTSPConnectionAcceptCertificateFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="destroy_notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetAuth" cname="gst_rtsp_connection_set_auth">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="method" type="GstRTSPAuthMethod" />
+          <parameter name="user" type="const-gchar*" />
+          <parameter name="pass" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetAuthParam" cname="gst_rtsp_connection_set_auth_param">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="param" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetHttpMode" cname="gst_rtsp_connection_set_http_mode">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enable" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetIp" cname="gst_rtsp_connection_set_ip">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ip" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetProxy" cname="gst_rtsp_connection_set_proxy">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="host" type="const-gchar*" />
+          <parameter name="port" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetQosDscp" cname="gst_rtsp_connection_set_qos_dscp">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="qos_dscp" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetRememberSessionId" cname="gst_rtsp_connection_set_remember_session_id">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="remember" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetTlsDatabase" cname="gst_rtsp_connection_set_tls_database" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="database" type="GTlsDatabase*" />
+        </parameters>
+      </method>
+      <method name="SetTlsInteraction" cname="gst_rtsp_connection_set_tls_interaction" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="interaction" type="GTlsInteraction*" />
+        </parameters>
+      </method>
+      <method name="SetTlsValidationFlags" cname="gst_rtsp_connection_set_tls_validation_flags" version="1.2.1">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flags" type="GTlsCertificateFlags" />
+        </parameters>
+      </method>
+      <method name="SetTunneled" cname="gst_rtsp_connection_set_tunneled">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="tunneled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="Write" cname="gst_rtsp_connection_write">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="data" type="guint8" />
+          <parameter name="size" type="guint" />
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Accept" cname="gst_rtsp_connection_accept" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="socket" type="GSocket*" />
+          <parameter name="conn" type="GstRTSPConnection**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="cancellable" type="GCancellable*" />
+        </parameters>
+      </method>
+      <method name="Create" cname="gst_rtsp_connection_create" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="conn" type="GstRTSPConnection**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CreateFromSocket" cname="gst_rtsp_connection_create_from_socket" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="socket" type="GSocket*" />
+          <parameter name="ip" type="const-gchar*" />
+          <parameter name="port" type="guint16" />
+          <parameter name="initial_buffer" type="const-gchar*" />
+          <parameter name="conn" type="GstRTSPConnection**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <boxed name="RTSPMessage" cname="GstRTSPMessage" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_rtsp_msg_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstRTSPMsgType" />
+      <union name="type_data" cname="type_data">
+        <struct name="request" cname="request" opaque="false" hidden="false">
+          <field cname="method" access="public" writeable="true" readable="true" is_callback="false" name="Method" type="GstRTSPMethod" />
+          <field cname="uri" access="public" writeable="true" readable="true" is_callback="false" name="Uri" type="gchar*" />
+          <field cname="version" access="public" writeable="true" readable="true" is_callback="false" name="Version" type="GstRTSPVersion" />
+        </struct>
+        <struct name="response" cname="response" opaque="false" hidden="false">
+          <field cname="code" access="public" writeable="true" readable="true" is_callback="false" name="Code" type="GstRTSPStatusCode" />
+          <field cname="reason" access="public" writeable="true" readable="true" is_callback="false" name="Reason" type="gchar*" />
+          <field cname="version" access="public" writeable="true" readable="true" is_callback="false" name="Version" type="GstRTSPVersion" />
+        </struct>
+        <struct name="data" cname="data" opaque="false" hidden="false">
+          <field cname="channel" access="public" writeable="true" readable="true" is_callback="false" name="Channel" type="guint8" />
+        </struct>
+      </union>
+      <field cname="hdr_fields" access="private" writeable="false" readable="false" is_callback="false" name="HdrFields" type="GArray*" array="true" null_term_array="true" />
+      <field cname="body" access="private" writeable="false" readable="false" is_callback="false" name="Body" type="guint8*" />
+      <field cname="body_size" access="private" writeable="false" readable="false" is_callback="false" name="BodySize" type="guint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="AddHeader" cname="gst_rtsp_message_add_header">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="field" type="GstRTSPHeaderField" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddHeaderByName" cname="gst_rtsp_message_add_header_by_name" version="1.6">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="header" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AppendHeaders" cname="gst_rtsp_message_append_headers">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="str" type="GString*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_rtsp_message_copy" version="1.14">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="copy" type="GstRTSPMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Dump" cname="gst_rtsp_message_dump">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_rtsp_message_free">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+      <method name="GetBody" cname="gst_rtsp_message_get_body" hidden="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="data" type="guint8**" pass_as="out" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetHeader" cname="gst_rtsp_message_get_header">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="field" type="GstRTSPHeaderField" />
+          <parameter name="value" type="const-gchar*" pass_as="out" />
+          <parameter name="indx" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetHeaderByName" cname="gst_rtsp_message_get_header_by_name" version="1.6">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="header" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" pass_as="out" />
+          <parameter name="index" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetMessageType" cname="gst_rtsp_message_get_type">
+        <return-type type="GstRTSPMsgType" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_rtsp_message_init">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+      <method name="InitData" cname="gst_rtsp_message_init_data">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="channel" type="guint8" />
+        </parameters>
+      </method>
+      <method name="InitRequest" cname="gst_rtsp_message_init_request">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="method" type="GstRTSPMethod" />
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="InitResponse" cname="gst_rtsp_message_init_response">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="code" type="GstRTSPStatusCode" />
+          <parameter allow-none="1" name="reason" type="const-gchar*" />
+          <parameter allow-none="1" name="request" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseAuthCredentials" cname="gst_rtsp_message_parse_auth_credentials" version="1.12">
+        <return-type type="GstRTSPAuthCredential**" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="field" type="GstRTSPHeaderField" />
+        </parameters>
+      </method>
+      <method name="ParseData" cname="gst_rtsp_message_parse_data">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="channel" type="guint8*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseRequest" cname="gst_rtsp_message_parse_request">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter allow-none="1" name="method" type="GstRTSPMethod" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="uri" type="gchar*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="version" type="GstRTSPVersion" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="ParseResponse" cname="gst_rtsp_message_parse_response">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter allow-none="1" name="code" type="GstRTSPStatusCode" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="reason" type="gchar*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="version" type="GstRTSPVersion" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="RemoveHeader" cname="gst_rtsp_message_remove_header">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="field" type="GstRTSPHeaderField" />
+          <parameter name="indx" type="gint" />
+        </parameters>
+      </method>
+      <method name="RemoveHeaderByName" cname="gst_rtsp_message_remove_header_by_name" version="1.6">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="header" type="const-gchar*" />
+          <parameter name="index" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetBody" cname="gst_rtsp_message_set_body">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="StealBody" cname="gst_rtsp_message_steal_body" hidden="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="data" type="guint8***" owned="true" pass_as="out" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="TakeBody" cname="gst_rtsp_message_take_body">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="data" type="guint8**" owned="true" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="TakeHeader" cname="gst_rtsp_message_take_header">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="field" type="GstRTSPHeaderField" />
+          <parameter name="value" type="gchar*" owned="true" />
+        </parameters>
+      </method>
+      <method name="TakeHeaderByName" cname="gst_rtsp_message_take_header_by_name" version="1.6">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="header" type="const-gchar*" />
+          <parameter name="value" type="gchar*" owned="true" />
+        </parameters>
+      </method>
+      <method name="Unset" cname="gst_rtsp_message_unset">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="RTSPRange" cname="GstRTSPRange" opaque="false" hidden="false">
+      <field cname="min" access="public" writeable="true" readable="true" is_callback="false" name="Min" type="gint" />
+      <field cname="max" access="public" writeable="true" readable="true" is_callback="false" name="Max" type="gint" />
+      <method name="ConvertUnits" cname="gst_rtsp_range_convert_units" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="unit" type="GstRTSPRangeUnit" />
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_rtsp_range_free" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetTimes" cname="gst_rtsp_range_get_times" shared="true" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="min" type="guint64" />
+          <parameter name="max" type="guint64" />
+        </parameters>
+      </method>
+      <method name="Parse" cname="gst_rtsp_range_parse" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="rangestr" type="const-gchar*" />
+          <parameter name="range" type="GstRTSPTimeRange**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ToString" cname="gst_rtsp_range_to_string" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="RTSPTime" cname="GstRTSPTime" opaque="false" hidden="false">
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstRTSPTimeType" />
+      <field cname="seconds" access="public" writeable="true" readable="true" is_callback="false" name="Seconds" type="gdouble" />
+    </struct>
+    <struct name="RTSPTime2" cname="GstRTSPTime2" opaque="false" hidden="false" version="1.2">
+      <field cname="frames" access="public" writeable="true" readable="true" is_callback="false" name="Frames" type="gdouble" />
+      <field cname="year" access="public" writeable="true" readable="true" is_callback="false" name="Year" type="guint" />
+      <field cname="month" access="public" writeable="true" readable="true" is_callback="false" name="Month" type="guint" />
+      <field cname="day" access="public" writeable="true" readable="true" is_callback="false" name="Day" type="guint" />
+    </struct>
+    <struct name="RTSPTimeRange" cname="GstRTSPTimeRange" opaque="false" hidden="false">
+      <field cname="unit" access="public" writeable="true" readable="true" is_callback="false" name="Unit" type="GstRTSPRangeUnit" />
+      <field cname="min" access="public" writeable="true" readable="true" is_callback="false" name="Min" type="GstRTSPTime">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="max" access="public" writeable="true" readable="true" is_callback="false" name="Max" type="GstRTSPTime">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="min2" access="public" writeable="true" readable="true" is_callback="false" name="Min2" type="GstRTSPTime2">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="max2" access="public" writeable="true" readable="true" is_callback="false" name="Max2" type="GstRTSPTime2">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </struct>
+    <struct name="RTSPTransport" cname="GstRTSPTransport" opaque="false" hidden="false">
+      <field cname="trans" access="public" writeable="true" readable="true" is_callback="false" name="Trans" type="GstRTSPTransMode" />
+      <field cname="profile" access="public" writeable="true" readable="true" is_callback="false" name="Profile" type="GstRTSPProfile" />
+      <field cname="lower_transport" access="public" writeable="true" readable="true" is_callback="false" name="LowerTransport" type="GstRTSPLowerTrans" />
+      <field cname="destination" access="public" writeable="true" readable="true" is_callback="false" name="Destination" type="gchar*" />
+      <field cname="source" access="public" writeable="true" readable="true" is_callback="false" name="Source" type="gchar*" />
+      <field cname="layers" access="public" writeable="true" readable="true" is_callback="false" name="Layers" type="guint" />
+      <field cname="mode_play" access="public" writeable="true" readable="true" is_callback="false" name="ModePlay" type="gboolean" />
+      <field cname="mode_record" access="public" writeable="true" readable="true" is_callback="false" name="ModeRecord" type="gboolean" />
+      <field cname="append" access="public" writeable="true" readable="true" is_callback="false" name="Append" type="gboolean" />
+      <field cname="interleaved" access="public" writeable="true" readable="true" is_callback="false" name="Interleaved" type="GstRTSPRange">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="ttl" access="public" writeable="true" readable="true" is_callback="false" name="Ttl" type="guint" />
+      <field cname="port" access="public" writeable="true" readable="true" is_callback="false" name="Port" type="GstRTSPRange">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="client_port" access="public" writeable="true" readable="true" is_callback="false" name="ClientPort" type="GstRTSPRange">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="server_port" access="public" writeable="true" readable="true" is_callback="false" name="ServerPort" type="GstRTSPRange">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="ssrc" access="public" writeable="true" readable="true" is_callback="false" name="Ssrc" type="guint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="AsText" cname="gst_rtsp_transport_as_text">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_rtsp_transport_free">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+      <method name="GetMediaType" cname="gst_rtsp_transport_get_media_type" version="1.4">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="media_type" type="const-gchar*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="Init" cname="gst_rtsp_transport_init">
+        <return-type type="GstRTSPResult" />
+        <parameters />
+      </method>
+      <method name="GetManager" cname="gst_rtsp_transport_get_manager" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="trans" type="GstRTSPTransMode" />
+          <parameter name="manager" type="const-gchar*" />
+          <parameter name="option" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetMime" cname="gst_rtsp_transport_get_mime" shared="true" deprecated="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="trans" type="GstRTSPTransMode" />
+          <parameter name="mime" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="New" cname="gst_rtsp_transport_new" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="transport" type="GstRTSPTransport**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Parse" cname="gst_rtsp_transport_parse" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="str" type="const-gchar*" />
+          <parameter name="transport" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <boxed name="RTSPUrl" cname="GstRTSPUrl" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_rtsp_url_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="transports" access="public" writeable="true" readable="true" is_callback="false" name="Transports" type="GstRTSPLowerTrans" />
+      <field cname="family" access="public" writeable="true" readable="true" is_callback="false" name="Family" type="GstRTSPFamily" />
+      <field cname="user" access="public" writeable="true" readable="true" is_callback="false" name="User" type="gchar*" />
+      <field cname="passwd" access="public" writeable="true" readable="true" is_callback="false" name="Passwd" type="gchar*" />
+      <field cname="host" access="public" writeable="true" readable="true" is_callback="false" name="Host" type="gchar*" />
+      <field cname="port" access="public" writeable="true" readable="true" is_callback="false" name="Port" type="guint16" />
+      <field cname="abspath" access="public" writeable="true" readable="true" is_callback="false" name="Abspath" type="gchar*" />
+      <field cname="query" access="public" writeable="true" readable="true" is_callback="false" name="Query" type="gchar*" />
+      <method name="Copy" cname="gst_rtsp_url_copy">
+        <return-type type="GstRTSPUrl*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="DecodePathComponents" cname="gst_rtsp_url_decode_path_components">
+        <return-type type="gchar***" owned="true" array="true" null_term_array="true" />
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_rtsp_url_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetPort" cname="gst_rtsp_url_get_port">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="port" type="guint16" />
+        </parameters>
+      </method>
+      <method name="GetRequestUri" cname="gst_rtsp_url_get_request_uri">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="SetPort" cname="gst_rtsp_url_set_port">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="port" type="guint16" />
+        </parameters>
+      </method>
+      <method name="Parse" cname="gst_rtsp_url_parse" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="urlstr" type="const-gchar*" />
+          <parameter name="url" type="GstRTSPUrl**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="RTSPWatch" cname="GstRTSPWatch" opaque="true" hidden="false">
+      <method name="Attach" cname="gst_rtsp_watch_attach">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="context" type="GMainContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetSendBacklog" cname="gst_rtsp_watch_get_send_backlog" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="bytes" type="gsize*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="messages" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="Reset" cname="gst_rtsp_watch_reset">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SendMessage" cname="gst_rtsp_watch_send_message">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="message" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="id" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="SetFlushing" cname="gst_rtsp_watch_set_flushing" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="flushing" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSendBacklog" cname="gst_rtsp_watch_set_send_backlog" version="1.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bytes" type="gsize" />
+          <parameter name="messages" type="guint" />
+        </parameters>
+      </method>
+      <method name="Unref" cname="gst_rtsp_watch_unref">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="WaitBacklog" cname="gst_rtsp_watch_wait_backlog" version="1.4">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="timeout" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="WriteData" cname="gst_rtsp_watch_write_data">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="data" type="guint8**" owned="true" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint" />
+          <parameter allow-none="1" name="id" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="RTSPWatchFuncs" cname="GstRTSPWatchFuncs" opaque="false" hidden="false">
+      <field cname="message_received" access="public" writeable="false" readable="true" is_callback="true" name="MessageReceived" type="GstRtspMessageReceivedFunc" />
+      <field cname="message_sent" access="public" writeable="false" readable="true" is_callback="true" name="MessageSent" type="GstRtspMessageSentFunc" />
+      <field cname="closed" access="public" writeable="false" readable="true" is_callback="true" name="Closed" type="GstRtspClosedFunc" />
+      <field cname="error" access="public" writeable="false" readable="true" is_callback="true" name="Error" type="GstRtspErrorFunc" />
+      <field cname="tunnel_start" access="public" writeable="false" readable="true" is_callback="true" name="TunnelStart" type="GstRtspTunnelStartFunc" />
+      <field cname="tunnel_complete" access="public" writeable="false" readable="true" is_callback="true" name="TunnelComplete" type="GstRtspTunnelCompleteFunc" />
+      <field cname="error_full" access="public" writeable="false" readable="true" is_callback="true" name="ErrorFull" type="GstRtspErrorFullFunc" />
+      <field cname="tunnel_lost" access="public" writeable="false" readable="true" is_callback="true" name="TunnelLost" type="GstRtspTunnelLostFunc" />
+      <field cname="tunnel_http_response" access="public" writeable="false" readable="true" is_callback="true" name="TunnelHttpResponse" type="GstRtspTunnelHttpResponseFunc" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" padding="true" />
+    </struct>
+    <object name="Global" cname="GstRtspGlobal" opaque="true">
+      <method name="RtspAuthCredentialsFree" cname="gst_rtsp_auth_credentials_free" shared="true" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="credentials" type="GstRTSPAuthCredential**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspConnectionAccept" cname="gst_rtsp_connection_accept" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="socket" type="GSocket*" />
+          <parameter name="conn" type="GstRTSPConnection**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="cancellable" type="GCancellable*" />
+        </parameters>
+      </method>
+      <method name="RtspConnectionCreate" cname="gst_rtsp_connection_create" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="conn" type="GstRTSPConnection**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspConnectionCreateFromSocket" cname="gst_rtsp_connection_create_from_socket" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="socket" type="GSocket*" />
+          <parameter name="ip" type="const-gchar*" />
+          <parameter name="port" type="guint16" />
+          <parameter name="initial_buffer" type="const-gchar*" />
+          <parameter name="conn" type="GstRTSPConnection**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspFindHeaderField" cname="gst_rtsp_find_header_field" shared="true">
+        <return-type type="GstRTSPHeaderField" />
+        <parameters>
+          <parameter name="header" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RtspFindMethod" cname="gst_rtsp_find_method" shared="true">
+        <return-type type="GstRTSPMethod" />
+        <parameters>
+          <parameter name="method" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RtspGenerateDigestAuthResponse" cname="gst_rtsp_generate_digest_auth_response" shared="true" version="1.12">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter allow-none="1" name="algorithm" type="const-gchar*" />
+          <parameter name="method" type="const-gchar*" />
+          <parameter name="realm" type="const-gchar*" />
+          <parameter name="username" type="const-gchar*" />
+          <parameter name="password" type="const-gchar*" />
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="nonce" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RtspHeaderAllowMultiple" cname="gst_rtsp_header_allow_multiple" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field" type="GstRTSPHeaderField" />
+        </parameters>
+      </method>
+      <method name="RtspHeaderAsText" cname="gst_rtsp_header_as_text" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="field" type="GstRTSPHeaderField" />
+        </parameters>
+      </method>
+      <method name="RtspMessageNew" cname="gst_rtsp_message_new" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="msg" type="GstRTSPMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspMessageNewData" cname="gst_rtsp_message_new_data" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="msg" type="GstRTSPMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="channel" type="guint8" />
+        </parameters>
+      </method>
+      <method name="RtspMessageNewRequest" cname="gst_rtsp_message_new_request" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="msg" type="GstRTSPMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="method" type="GstRTSPMethod" />
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RtspMessageNewResponse" cname="gst_rtsp_message_new_response" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="msg" type="GstRTSPMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="code" type="GstRTSPStatusCode" />
+          <parameter allow-none="1" name="reason" type="const-gchar*" />
+          <parameter allow-none="1" name="request" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspMethodAsText" cname="gst_rtsp_method_as_text" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="method" type="GstRTSPMethod" />
+        </parameters>
+      </method>
+      <method name="RtspOptionsAsText" cname="gst_rtsp_options_as_text" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="options" type="GstRTSPMethod" />
+        </parameters>
+      </method>
+      <method name="RtspOptionsFromText" cname="gst_rtsp_options_from_text" shared="true" version="1.2">
+        <return-type type="GstRTSPMethod" />
+        <parameters>
+          <parameter name="options" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RtspRangeConvertUnits" cname="gst_rtsp_range_convert_units" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="unit" type="GstRTSPRangeUnit" />
+        </parameters>
+      </method>
+      <method name="RtspRangeFree" cname="gst_rtsp_range_free" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspRangeGetTimes" cname="gst_rtsp_range_get_times" shared="true" version="1.2">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="min" type="guint64" />
+          <parameter name="max" type="guint64" />
+        </parameters>
+      </method>
+      <method name="RtspRangeParse" cname="gst_rtsp_range_parse" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="rangestr" type="const-gchar*" />
+          <parameter name="range" type="GstRTSPTimeRange**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspRangeToString" cname="gst_rtsp_range_to_string" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspStatusAsText" cname="gst_rtsp_status_as_text" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="code" type="GstRTSPStatusCode" />
+        </parameters>
+      </method>
+      <method name="RtspStrresult" cname="gst_rtsp_strresult" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="_result" type="GstRTSPResult" />
+        </parameters>
+      </method>
+      <method name="RtspTransportGetManager" cname="gst_rtsp_transport_get_manager" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="trans" type="GstRTSPTransMode" />
+          <parameter name="manager" type="const-gchar*" />
+          <parameter name="option" type="guint" />
+        </parameters>
+      </method>
+      <method name="RtspTransportGetMime" cname="gst_rtsp_transport_get_mime" shared="true" deprecated="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="trans" type="GstRTSPTransMode" />
+          <parameter name="mime" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RtspTransportNew" cname="gst_rtsp_transport_new" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="transport" type="GstRTSPTransport**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspTransportParse" cname="gst_rtsp_transport_parse" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="str" type="const-gchar*" />
+          <parameter name="transport" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspUrlParse" cname="gst_rtsp_url_parse" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="urlstr" type="const-gchar*" />
+          <parameter name="url" type="GstRTSPUrl**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspVersionAsText" cname="gst_rtsp_version_as_text" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="version" type="GstRTSPVersion" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstRtspConstants" opaque="true">
+      <constant value="554" ctype="gint" gtype="gint" name="RTSP_DEFAULT_PORT" />
+    </object>
+  </namespace>
+  <namespace name="Gst.Sdp" library="libgstsdp-1.0-0.dll">
+    <enum name="MIKEYCacheType" cname="GstMIKEYCacheType" type="enum">
+      <member cname="GST_MIKEY_CACHE_NONE" name="None" value="0" />
+      <member cname="GST_MIKEY_CACHE_ALWAYS" name="Always" value="1" />
+      <member cname="GST_MIKEY_CACHE_FOR_CSB" name="ForCsb" value="2" />
+    </enum>
+    <enum name="MIKEYEncAlg" cname="GstMIKEYEncAlg" type="enum">
+      <member cname="GST_MIKEY_ENC_NULL" name="Null" value="0" />
+      <member cname="GST_MIKEY_ENC_AES_CM_128" name="AesCm128" value="1" />
+      <member cname="GST_MIKEY_ENC_AES_KW_128" name="AesKw128" value="2" />
+    </enum>
+    <enum name="MIKEYKVType" cname="GstMIKEYKVType" type="enum">
+      <member cname="GST_MIKEY_KV_NULL" name="Null" value="0" />
+      <member cname="GST_MIKEY_KV_SPI" name="Spi" value="1" />
+      <member cname="GST_MIKEY_KV_INTERVAL" name="Interval" value="2" />
+    </enum>
+    <enum name="MIKEYKeyDataType" cname="GstMIKEYKeyDataType" type="enum">
+      <member cname="GST_MIKEY_KD_TGK" name="Tgk" value="0" />
+      <member cname="GST_MIKEY_KD_TEK" name="Tek" value="2" />
+    </enum>
+    <enum name="MIKEYMacAlg" cname="GstMIKEYMacAlg" type="enum">
+      <member cname="GST_MIKEY_MAC_NULL" name="Null" value="0" />
+      <member cname="GST_MIKEY_MAC_HMAC_SHA_1_160" name="HmacSha1160" value="1" />
+    </enum>
+    <enum name="MIKEYMapType" cname="GstMIKEYMapType" type="enum">
+      <member cname="GST_MIKEY_MAP_TYPE_SRTP" name="MikeyMapTypeSrtp" value="0" />
+    </enum>
+    <enum name="MIKEYPRFFunc" cname="GstMIKEYPRFFunc" type="enum">
+      <member cname="GST_MIKEY_PRF_MIKEY_1" name="MikeyPrfMikey1" value="0" />
+    </enum>
+    <enum name="MIKEYPayloadType" cname="GstMIKEYPayloadType" type="enum">
+      <member cname="GST_MIKEY_PT_LAST" name="Last" value="0" />
+      <member cname="GST_MIKEY_PT_KEMAC" name="Kemac" value="1" />
+      <member cname="GST_MIKEY_PT_PKE" name="Pke" value="2" />
+      <member cname="GST_MIKEY_PT_DH" name="Dh" value="3" />
+      <member cname="GST_MIKEY_PT_SIGN" name="Sign" value="4" />
+      <member cname="GST_MIKEY_PT_T" name="T" value="5" />
+      <member cname="GST_MIKEY_PT_ID" name="Id" value="6" />
+      <member cname="GST_MIKEY_PT_CERT" name="Cert" value="7" />
+      <member cname="GST_MIKEY_PT_CHASH" name="Chash" value="8" />
+      <member cname="GST_MIKEY_PT_V" name="V" value="9" />
+      <member cname="GST_MIKEY_PT_SP" name="Sp" value="10" />
+      <member cname="GST_MIKEY_PT_RAND" name="Rand" value="11" />
+      <member cname="GST_MIKEY_PT_ERR" name="Err" value="12" />
+      <member cname="GST_MIKEY_PT_KEY_DATA" name="KeyData" value="20" />
+      <member cname="GST_MIKEY_PT_GEN_EXT" name="GenExt" value="21" />
+    </enum>
+    <enum name="MIKEYSecProto" cname="GstMIKEYSecProto" type="enum">
+      <member cname="GST_MIKEY_SEC_PROTO_SRTP" name="MikeySecProtoSrtp" value="0" />
+    </enum>
+    <enum name="MIKEYSecSRTP" cname="GstMIKEYSecSRTP" type="enum">
+      <member cname="GST_MIKEY_SP_SRTP_ENC_ALG" name="EncAlg" value="0" />
+      <member cname="GST_MIKEY_SP_SRTP_ENC_KEY_LEN" name="EncKeyLen" value="1" />
+      <member cname="GST_MIKEY_SP_SRTP_AUTH_ALG" name="AuthAlg" value="2" />
+      <member cname="GST_MIKEY_SP_SRTP_AUTH_KEY_LEN" name="AuthKeyLen" value="3" />
+      <member cname="GST_MIKEY_SP_SRTP_SALT_KEY_LEN" name="SaltKeyLen" value="4" />
+      <member cname="GST_MIKEY_SP_SRTP_PRF" name="Prf" value="5" />
+      <member cname="GST_MIKEY_SP_SRTP_KEY_DERIV_RATE" name="KeyDerivRate" value="6" />
+      <member cname="GST_MIKEY_SP_SRTP_SRTP_ENC" name="SrtpEnc" value="7" />
+      <member cname="GST_MIKEY_SP_SRTP_SRTCP_ENC" name="SrtcpEnc" value="8" />
+      <member cname="GST_MIKEY_SP_SRTP_FEC_ORDER" name="FecOrder" value="9" />
+      <member cname="GST_MIKEY_SP_SRTP_SRTP_AUTH" name="SrtpAuth" value="10" />
+      <member cname="GST_MIKEY_SP_SRTP_AUTH_TAG_LEN" name="AuthTagLen" value="11" />
+      <member cname="GST_MIKEY_SP_SRTP_SRTP_PREFIX_LEN" name="SrtpPrefixLen" value="12" />
+    </enum>
+    <enum name="MIKEYTSType" cname="GstMIKEYTSType" type="enum">
+      <member cname="GST_MIKEY_TS_TYPE_NTP_UTC" name="NtpUtc" value="0" />
+      <member cname="GST_MIKEY_TS_TYPE_NTP" name="Ntp" value="1" />
+      <member cname="GST_MIKEY_TS_TYPE_COUNTER" name="Counter" value="2" />
+    </enum>
+    <enum name="MIKEYType" cname="GstMIKEYType" type="enum">
+      <member cname="GST_MIKEY_TYPE_INVALID" name="Invalid" value="-1" />
+      <member cname="GST_MIKEY_TYPE_PSK_INIT" name="PskInit" value="0" />
+      <member cname="GST_MIKEY_TYPE_PSK_VERIFY" name="PskVerify" value="1" />
+      <member cname="GST_MIKEY_TYPE_PK_INIT" name="PkInit" value="2" />
+      <member cname="GST_MIKEY_TYPE_PK_VERIFY" name="PkVerify" value="3" />
+      <member cname="GST_MIKEY_TYPE_DH_INIT" name="DhInit" value="4" />
+      <member cname="GST_MIKEY_TYPE_DH_RESP" name="DhResp" value="5" />
+      <member cname="GST_MIKEY_TYPE_ERROR" name="Error" value="6" />
+    </enum>
+    <enum name="SDPResult" cname="GstSDPResult" type="enum">
+      <member cname="GST_SDP_EINVAL" name="Einval" value="-1" />
+      <member cname="GST_SDP_OK" name="Ok" value="0" />
+    </enum>
+    <struct name="MIKEYDecryptInfo" cname="GstMIKEYDecryptInfo" opaque="true" hidden="false" />
+    <struct name="MIKEYEncryptInfo" cname="GstMIKEYEncryptInfo" opaque="true" hidden="false" />
+    <struct name="MIKEYMapSRTP" cname="GstMIKEYMapSRTP" opaque="false" hidden="false">
+      <field cname="policy" access="public" writeable="true" readable="true" is_callback="false" name="Policy" type="guint8" />
+      <field cname="ssrc" access="public" writeable="true" readable="true" is_callback="false" name="Ssrc" type="guint32" />
+      <field cname="roc" access="public" writeable="true" readable="true" is_callback="false" name="Roc" type="guint32" />
+    </struct>
+    <boxed name="MIKEYMessage" cname="GstMIKEYMessage" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_mikey_message_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="private" writeable="false" readable="false" is_callback="false" name="MiniObject" type="GstMiniObject" array_index="2" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="version" access="public" writeable="true" readable="true" is_callback="false" name="Version" type="guint8" />
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstMIKEYType" />
+      <field cname="V" access="public" writeable="true" readable="true" is_callback="false" name="V" type="gboolean" />
+      <field cname="prf_func" access="public" writeable="true" readable="true" is_callback="false" name="PrfFunc" type="GstMIKEYPRFFunc" />
+      <field cname="CSB_id" access="public" writeable="true" readable="true" is_callback="false" name="CSBId" type="guint32" />
+      <field cname="map_type" access="public" writeable="true" readable="true" is_callback="false" name="MapType" type="GstMIKEYMapType" />
+      <field cname="map_info" access="public" writeable="true" readable="true" is_callback="false" name="MapInfo" type="GArray*" array="true" null_term_array="true" />
+      <field cname="payloads" access="public" writeable="true" readable="true" is_callback="false" name="Payloads" type="GArray*" array="true" null_term_array="true" />
+      <constructor cname="gst_mikey_message_new" disable_void_ctor="" version="1.4" />
+      <constructor cname="gst_mikey_message_new_from_bytes" version="1.4">
+        <parameters>
+          <parameter name="bytes" type="GBytes*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstMIKEYDecryptInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_mikey_message_new_from_caps" version="1.8">
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor cname="gst_mikey_message_new_from_data" version="1.4">
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="n_length" type="gsize" />
+          <parameter name="info" type="GstMIKEYDecryptInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="AddCsSrtp" cname="gst_mikey_message_add_cs_srtp" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="policy" type="guint8" />
+          <parameter name="ssrc" type="guint32" />
+          <parameter name="roc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="AddPayload" cname="gst_mikey_message_add_payload" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="payload" type="GstMIKEYPayload*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddPke" cname="gst_mikey_message_add_pke" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="C" type="GstMIKEYCacheType" />
+          <parameter name="data_len" type="guint16" array_index="2" />
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <method name="AddRand" cname="gst_mikey_message_add_rand" version="1.4">
+        <return-type type="gboolean" array_index="1" />
+        <parameters>
+          <parameter name="len" type="guint8" array_index="1" />
+          <parameter name="rand" type="guint8*" array="true" array_length_param_index="0" />
+        </parameters>
+      </method>
+      <method name="AddRandLen" cname="gst_mikey_message_add_rand_len" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="len" type="guint8" />
+        </parameters>
+      </method>
+      <method name="AddT" cname="gst_mikey_message_add_t" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GstMIKEYTSType" />
+          <parameter name="ts_value" type="guint8*" array="true" />
+        </parameters>
+      </method>
+      <method name="AddTNowNtpUtc" cname="gst_mikey_message_add_t_now_ntp_utc" version="1.4">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Base64Encode" cname="gst_mikey_message_base64_encode" version="1.8">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="FindPayload" cname="gst_mikey_message_find_payload" version="1.4">
+        <return-type type="GstMIKEYPayload*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="type" type="GstMIKEYPayloadType" />
+          <parameter name="nth" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetCsSrtp" cname="gst_mikey_message_get_cs_srtp" version="1.4">
+        <return-type type="GstMIKEYMapSRTP*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetNCs" cname="gst_mikey_message_get_n_cs" version="1.4">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetNPayloads" cname="gst_mikey_message_get_n_payloads" version="1.4">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetPayload" cname="gst_mikey_message_get_payload" version="1.4">
+        <return-type type="GstMIKEYPayload*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="InsertCsSrtp" cname="gst_mikey_message_insert_cs_srtp" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="map" type="GstMIKEYMapSRTP*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="InsertPayload" cname="gst_mikey_message_insert_payload" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="payload" type="GstMIKEYPayload*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RemoveCsSrtp" cname="gst_mikey_message_remove_cs_srtp" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+        </parameters>
+      </method>
+      <method name="RemovePayload" cname="gst_mikey_message_remove_payload" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="ReplaceCsSrtp" cname="gst_mikey_message_replace_cs_srtp" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="map" type="GstMIKEYMapSRTP*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplacePayload" cname="gst_mikey_message_replace_payload" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="payload" type="GstMIKEYPayload*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetInfo" cname="gst_mikey_message_set_info" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="version" type="guint8" />
+          <parameter name="type" type="GstMIKEYType" />
+          <parameter name="V" type="gboolean" />
+          <parameter name="prf_func" type="GstMIKEYPRFFunc" />
+          <parameter name="CSB_id" type="guint32" />
+          <parameter name="map_type" type="GstMIKEYMapType" />
+        </parameters>
+      </method>
+      <method name="ToBytes" cname="gst_mikey_message_to_bytes" version="1.4">
+        <return-type type="GBytes*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters throws="1">
+          <parameter name="info" type="GstMIKEYEncryptInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="ToCaps" cname="gst_mikey_message_to_caps" version="1.8.1">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </boxed>
+    <boxed name="MIKEYPayload" cname="GstMIKEYPayload" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_mikey_payload_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="private" writeable="false" readable="false" is_callback="false" name="MiniObject" type="GstMiniObject" array_index="7" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstMIKEYPayloadType" array_index="3" />
+      <field cname="len" access="public" writeable="true" readable="true" is_callback="false" name="Len" type="guint" />
+      <constructor cname="gst_mikey_payload_new" version="1.4">
+        <parameters>
+          <parameter name="type" type="GstMIKEYPayloadType" />
+        </parameters>
+      </constructor>
+      <method name="KemacAddSub" cname="gst_mikey_payload_kemac_add_sub" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="newpay" type="GstMIKEYPayload*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="KemacGetNSub" cname="gst_mikey_payload_kemac_get_n_sub" version="1.4">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="KemacGetSub" cname="gst_mikey_payload_kemac_get_sub" version="1.4">
+        <return-type type="GstMIKEYPayload*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="KemacRemoveSub" cname="gst_mikey_payload_kemac_remove_sub" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="KemacSet" cname="gst_mikey_payload_kemac_set" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="enc_alg" type="GstMIKEYEncAlg" />
+          <parameter name="mac_alg" type="GstMIKEYMacAlg" />
+        </parameters>
+      </method>
+      <method name="KeyDataSetInterval" cname="gst_mikey_payload_key_data_set_interval" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="vf_len" type="guint8" />
+          <parameter name="vf_data" type="guint8*" array_index="1" array="true" array_length_param_index="1" />
+          <parameter name="vt_len" type="guint8" array_index="3" />
+          <parameter name="vt_data" type="guint8*" array="true" array_length_param_index="2" />
+        </parameters>
+      </method>
+      <method name="KeyDataSetKey" cname="gst_mikey_payload_key_data_set_key" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="key_type" type="GstMIKEYKeyDataType" />
+          <parameter name="key_len" type="guint16" array_index="2" />
+          <parameter name="key_data" type="guint8*" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <method name="KeyDataSetSalt" cname="gst_mikey_payload_key_data_set_salt" version="1.4">
+        <return-type type="gboolean" array_index="1" />
+        <parameters>
+          <parameter name="salt_len" type="guint16" array_index="1" />
+          <parameter allow-none="1" name="salt_data" type="guint8*" array="true" array_length_param_index="0" />
+        </parameters>
+      </method>
+      <method name="KeyDataSetSpi" cname="gst_mikey_payload_key_data_set_spi" version="1.4">
+        <return-type type="gboolean" array_index="1" />
+        <parameters>
+          <parameter name="spi_len" type="guint8" array_index="1" />
+          <parameter name="spi_data" type="guint8*" array="true" array_length_param_index="0" />
+        </parameters>
+      </method>
+      <method name="PkeSet" cname="gst_mikey_payload_pke_set" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="C" type="GstMIKEYCacheType" />
+          <parameter name="data_len" type="guint16" array_index="2" />
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <method name="RandSet" cname="gst_mikey_payload_rand_set" version="1.4">
+        <return-type type="gboolean" array_index="1" />
+        <parameters>
+          <parameter name="len" type="guint8" array_index="1" />
+          <parameter name="rand" type="guint8*" array="true" array_length_param_index="0" />
+        </parameters>
+      </method>
+      <method name="SpAddParam" cname="gst_mikey_payload_sp_add_param" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="guint8" />
+          <parameter name="len" type="guint8" array_index="2" />
+          <parameter name="val" type="guint8*" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <method name="SpGetNParams" cname="gst_mikey_payload_sp_get_n_params" version="1.4">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="SpGetParam" cname="gst_mikey_payload_sp_get_param" version="1.4">
+        <return-type type="GstMIKEYPayloadSPParam*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="SpRemoveParam" cname="gst_mikey_payload_sp_remove_param" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="SpSet" cname="gst_mikey_payload_sp_set" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="policy" type="guint" />
+          <parameter name="proto" type="GstMIKEYSecProto" />
+        </parameters>
+      </method>
+      <method name="TSet" cname="gst_mikey_payload_t_set" version="1.4">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="type" type="GstMIKEYTSType" />
+          <parameter name="ts_value" type="guint8*" array="true" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="MIKEYPayloadKEMAC" cname="GstMIKEYPayloadKEMAC" opaque="false" hidden="false">
+      <field cname="pt" access="public" writeable="true" readable="true" is_callback="false" name="Pt" type="GstMIKEYPayload">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="enc_alg" access="public" writeable="true" readable="true" is_callback="false" name="EncAlg" type="GstMIKEYEncAlg" />
+      <field cname="mac_alg" access="public" writeable="true" readable="true" is_callback="false" name="MacAlg" type="GstMIKEYMacAlg" />
+      <field cname="subpayloads" access="public" writeable="true" readable="true" is_callback="false" name="Subpayloads" type="GArray*" array="true" null_term_array="true" />
+    </struct>
+    <struct name="MIKEYPayloadKeyData" cname="GstMIKEYPayloadKeyData" opaque="false" hidden="false">
+      <field cname="pt" access="public" writeable="true" readable="true" is_callback="false" name="Pt" type="GstMIKEYPayload">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="key_type" access="public" writeable="true" readable="true" is_callback="false" name="KeyType" type="GstMIKEYKeyDataType" />
+      <field cname="key_len" access="public" writeable="true" readable="true" is_callback="false" name="KeyLen" type="guint16" />
+      <field cname="key_data" access="public" writeable="true" readable="true" is_callback="false" name="KeyData" type="guint8*" />
+      <field cname="salt_len" access="public" writeable="true" readable="true" is_callback="false" name="SaltLen" type="guint16" />
+      <field cname="salt_data" access="public" writeable="true" readable="true" is_callback="false" name="SaltData" type="guint8*" />
+      <field cname="kv_type" access="public" writeable="true" readable="true" is_callback="false" name="KvType" type="GstMIKEYKVType" />
+      <field cname="kv_len" access="public" writeable="true" readable="true" is_callback="false" name="KvLen" type="guint8" array="true" array_len="2" />
+      <field cname="kv_data" access="public" writeable="true" readable="true" is_callback="false" name="KvData" type="guint8*" array="true" array_len="2" />
+    </struct>
+    <struct name="MIKEYPayloadPKE" cname="GstMIKEYPayloadPKE" opaque="false" hidden="false">
+      <field cname="pt" access="public" writeable="true" readable="true" is_callback="false" name="Pt" type="GstMIKEYPayload">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="C" access="public" writeable="true" readable="true" is_callback="false" name="C" type="GstMIKEYCacheType" />
+      <field cname="data_len" access="public" writeable="true" readable="true" is_callback="false" name="DataLen" type="guint16" />
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8*" />
+    </struct>
+    <struct name="MIKEYPayloadRAND" cname="GstMIKEYPayloadRAND" opaque="false" hidden="false">
+      <field cname="pt" access="public" writeable="true" readable="true" is_callback="false" name="Pt" type="GstMIKEYPayload">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="len" access="public" writeable="true" readable="true" is_callback="false" name="Len" type="guint8" />
+      <field cname="rand" access="public" writeable="true" readable="true" is_callback="false" name="Rand" type="guint8" />
+    </struct>
+    <struct name="MIKEYPayloadSP" cname="GstMIKEYPayloadSP" opaque="false" hidden="false">
+      <field cname="pt" access="public" writeable="true" readable="true" is_callback="false" name="Pt" type="GstMIKEYPayload">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="policy" access="public" writeable="true" readable="true" is_callback="false" name="Policy" type="guint" />
+      <field cname="proto" access="public" writeable="true" readable="true" is_callback="false" name="Proto" type="GstMIKEYSecProto" />
+      <field cname="params" access="public" writeable="true" readable="true" is_callback="false" name="Params" type="GArray*" array="true" null_term_array="true" />
+    </struct>
+    <struct name="MIKEYPayloadSPParam" cname="GstMIKEYPayloadSPParam" opaque="false" hidden="false">
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="guint8" />
+      <field cname="len" access="public" writeable="true" readable="true" is_callback="false" name="Len" type="guint8" />
+      <field cname="val" access="public" writeable="true" readable="true" is_callback="false" name="Val" type="guint8*" />
+    </struct>
+    <struct name="MIKEYPayloadT" cname="GstMIKEYPayloadT" opaque="false" hidden="false">
+      <field cname="pt" access="public" writeable="true" readable="true" is_callback="false" name="Pt" type="GstMIKEYPayload">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstMIKEYTSType" />
+      <field cname="ts_value" access="public" writeable="true" readable="true" is_callback="false" name="TsValue" type="guint8" />
+    </struct>
+    <struct name="SDPAttribute" cname="GstSDPAttribute" opaque="false" hidden="false">
+      <field cname="key" access="public" writeable="true" readable="true" is_callback="false" name="Key" type="gchar*" />
+      <field cname="value" access="public" writeable="true" readable="true" is_callback="false" name="Value" type="gchar*" />
+      <method name="Clear" cname="gst_sdp_attribute_clear" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="Set" cname="gst_sdp_attribute_set" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="SDPBandwidth" cname="GstSDPBandwidth" opaque="false" hidden="false">
+      <field cname="bwtype" access="public" writeable="true" readable="true" is_callback="false" name="Bwtype" type="gchar*" />
+      <field cname="bandwidth" access="public" writeable="true" readable="true" is_callback="false" name="Bandwidth" type="guint" />
+      <method name="Clear" cname="gst_sdp_bandwidth_clear" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="Set" cname="gst_sdp_bandwidth_set" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="bwtype" type="const-gchar*" />
+          <parameter name="bandwidth" type="guint" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="SDPConnection" cname="GstSDPConnection" opaque="false" hidden="false">
+      <field cname="nettype" access="public" writeable="true" readable="true" is_callback="false" name="Nettype" type="gchar*" />
+      <field cname="addrtype" access="public" writeable="true" readable="true" is_callback="false" name="Addrtype" type="gchar*" />
+      <field cname="address" access="public" writeable="true" readable="true" is_callback="false" name="Address" type="gchar*" />
+      <field cname="ttl" access="public" writeable="true" readable="true" is_callback="false" name="Ttl" type="guint" />
+      <field cname="addr_number" access="public" writeable="true" readable="true" is_callback="false" name="AddrNumber" type="guint" />
+      <method name="Clear" cname="gst_sdp_connection_clear" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="Set" cname="gst_sdp_connection_set" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="nettype" type="const-gchar*" />
+          <parameter name="addrtype" type="const-gchar*" />
+          <parameter name="address" type="const-gchar*" />
+          <parameter name="ttl" type="guint" />
+          <parameter name="addr_number" type="guint" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="SDPKey" cname="GstSDPKey" opaque="false" hidden="false">
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="gchar*" />
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="gchar*" />
+    </struct>
+    <struct name="SDPMedia" cname="GstSDPMedia" opaque="false" hidden="false">
+      <field cname="media" access="public" writeable="true" readable="true" is_callback="false" name="Media" type="gchar*" />
+      <field cname="port" access="public" writeable="true" readable="true" is_callback="false" name="Port" type="guint" />
+      <field cname="num_ports" access="public" writeable="true" readable="true" is_callback="false" name="NumPorts" type="guint" />
+      <field cname="proto" access="public" writeable="true" readable="true" is_callback="false" name="Proto" type="gchar*" />
+      <field cname="fmts" access="public" writeable="true" readable="true" is_callback="false" name="Fmts" type="GArray*" array="true" null_term_array="true" />
+      <field cname="information" access="public" writeable="true" readable="true" is_callback="false" name="Information" type="gchar*" />
+      <field cname="connections" access="public" writeable="true" readable="true" is_callback="false" name="Connections" type="GArray*" array="true" null_term_array="true" />
+      <field cname="bandwidths" access="public" writeable="true" readable="true" is_callback="false" name="Bandwidths" type="GArray*" array="true" null_term_array="true" />
+      <field cname="key" access="public" writeable="true" readable="true" is_callback="false" name="Key" type="GstSDPKey">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="attributes" access="public" writeable="true" readable="true" is_callback="false" name="Attributes" type="GArray*" array="true" null_term_array="true" />
+      <method name="AddAttribute" cname="gst_sdp_media_add_attribute">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddBandwidth" cname="gst_sdp_media_add_bandwidth">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="bwtype" type="const-gchar*" />
+          <parameter name="bandwidth" type="guint" />
+        </parameters>
+      </method>
+      <method name="AddConnection" cname="gst_sdp_media_add_connection">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="nettype" type="const-gchar*" />
+          <parameter name="addrtype" type="const-gchar*" />
+          <parameter name="address" type="const-gchar*" />
+          <parameter name="ttl" type="guint" />
+          <parameter name="addr_number" type="guint" />
+        </parameters>
+      </method>
+      <method name="AddFormat" cname="gst_sdp_media_add_format">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="format" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AsText" cname="gst_sdp_media_as_text">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="AttributesLen" cname="gst_sdp_media_attributes_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="AttributesToCaps" cname="gst_sdp_media_attributes_to_caps" version="1.8">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BandwidthsLen" cname="gst_sdp_media_bandwidths_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="ConnectionsLen" cname="gst_sdp_media_connections_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Copy" cname="gst_sdp_media_copy" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="copy" type="GstSDPMedia**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FormatsLen" cname="gst_sdp_media_formats_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_sdp_media_free">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="GetAttribute" cname="gst_sdp_media_get_attribute">
+        <return-type type="GstSDPAttribute*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetAttributeVal" cname="gst_sdp_media_get_attribute_val">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetAttributeValN" cname="gst_sdp_media_get_attribute_val_n">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter name="nth" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetBandwidth" cname="gst_sdp_media_get_bandwidth">
+        <return-type type="GstSDPBandwidth*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetCapsFromMedia" cname="gst_sdp_media_get_caps_from_media" version="1.8">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="pt" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetConnection" cname="gst_sdp_media_get_connection">
+        <return-type type="GstSDPConnection*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetFormat" cname="gst_sdp_media_get_format">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetInformation" cname="gst_sdp_media_get_information">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetKey" cname="gst_sdp_media_get_key">
+        <return-type type="GstSDPKey*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetMedia" cname="gst_sdp_media_get_media">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetNumPorts" cname="gst_sdp_media_get_num_ports">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetPort" cname="gst_sdp_media_get_port">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetProto" cname="gst_sdp_media_get_proto">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_sdp_media_init">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="InsertAttribute" cname="gst_sdp_media_insert_attribute" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="attr" type="GstSDPAttribute*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="InsertBandwidth" cname="gst_sdp_media_insert_bandwidth" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="bw" type="GstSDPBandwidth*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="InsertConnection" cname="gst_sdp_media_insert_connection" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="conn" type="GstSDPConnection*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="InsertFormat" cname="gst_sdp_media_insert_format" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="format" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ParseKeymgmt" cname="gst_sdp_media_parse_keymgmt" version="1.8.1">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="mikey" type="GstMIKEYMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RemoveAttribute" cname="gst_sdp_media_remove_attribute" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveBandwidth" cname="gst_sdp_media_remove_bandwidth" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveConnection" cname="gst_sdp_media_remove_connection" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveFormat" cname="gst_sdp_media_remove_format" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="ReplaceAttribute" cname="gst_sdp_media_replace_attribute" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="attr" type="GstSDPAttribute*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceBandwidth" cname="gst_sdp_media_replace_bandwidth" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="bw" type="GstSDPBandwidth*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceConnection" cname="gst_sdp_media_replace_connection" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="conn" type="GstSDPConnection*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceFormat" cname="gst_sdp_media_replace_format" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="format" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetInformation" cname="gst_sdp_media_set_information">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="information" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetKey" cname="gst_sdp_media_set_key">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="type" type="const-gchar*" />
+          <parameter name="data" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetMedia" cname="gst_sdp_media_set_media">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="med" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetPortInfo" cname="gst_sdp_media_set_port_info">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="port" type="guint" />
+          <parameter name="num_ports" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetProto" cname="gst_sdp_media_set_proto">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="proto" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="Uninit" cname="gst_sdp_media_uninit">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="New" cname="gst_sdp_media_new" shared="true">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="media" type="GstSDPMedia**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetMediaFromCaps" cname="gst_sdp_media_set_media_from_caps" shared="true" version="1.8">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="media" type="GstSDPMedia*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <boxed name="SDPMessage" cname="GstSDPMessage" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_sdp_message_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="version" access="public" writeable="true" readable="true" is_callback="false" name="Version" type="gchar*" />
+      <field cname="origin" access="public" writeable="true" readable="true" is_callback="false" name="Origin" type="GstSDPOrigin">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="session_name" access="public" writeable="true" readable="true" is_callback="false" name="SessionName" type="gchar*" />
+      <field cname="information" access="public" writeable="true" readable="true" is_callback="false" name="Information" type="gchar*" />
+      <field cname="uri" access="public" writeable="true" readable="true" is_callback="false" name="Uri" type="gchar*" />
+      <field cname="emails" access="public" writeable="true" readable="true" is_callback="false" name="Emails" type="GArray*" array="true" null_term_array="true" />
+      <field cname="phones" access="public" writeable="true" readable="true" is_callback="false" name="Phones" type="GArray*" array="true" null_term_array="true" />
+      <field cname="connection" access="public" writeable="true" readable="true" is_callback="false" name="Connection" type="GstSDPConnection">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="bandwidths" access="public" writeable="true" readable="true" is_callback="false" name="Bandwidths" type="GArray*" array="true" null_term_array="true" />
+      <field cname="times" access="public" writeable="true" readable="true" is_callback="false" name="Times" type="GArray*" array="true" null_term_array="true" />
+      <field cname="zones" access="public" writeable="true" readable="true" is_callback="false" name="Zones" type="GArray*" array="true" null_term_array="true" />
+      <field cname="key" access="public" writeable="true" readable="true" is_callback="false" name="Key" type="GstSDPKey">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="attributes" access="public" writeable="true" readable="true" is_callback="false" name="Attributes" type="GArray*" array="true" null_term_array="true" />
+      <field cname="medias" access="public" writeable="true" readable="true" is_callback="false" name="Medias" type="GArray*" array="true" null_term_array="true" />
+      <method name="AddAttribute" cname="gst_sdp_message_add_attribute">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter allow-none="1" name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddBandwidth" cname="gst_sdp_message_add_bandwidth">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="bwtype" type="const-gchar*" />
+          <parameter name="bandwidth" type="guint" />
+        </parameters>
+      </method>
+      <method name="AddEmail" cname="gst_sdp_message_add_email">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="email" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddMedia" cname="gst_sdp_message_add_media">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="media" type="GstSDPMedia*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddPhone" cname="gst_sdp_message_add_phone">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="phone" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddTime" cname="gst_sdp_message_add_time">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="start" type="const-gchar*" />
+          <parameter name="stop" type="const-gchar*" />
+          <parameter name="repeat" type="const-gchar**" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+      <method name="AddZone" cname="gst_sdp_message_add_zone">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="adj_time" type="const-gchar*" />
+          <parameter name="typed_time" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AsText" cname="gst_sdp_message_as_text">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="AttributesLen" cname="gst_sdp_message_attributes_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="AttributesToCaps" cname="gst_sdp_message_attributes_to_caps" version="1.8">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BandwidthsLen" cname="gst_sdp_message_bandwidths_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Copy" cname="gst_sdp_message_copy" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="copy" type="GstSDPMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Dump" cname="gst_sdp_message_dump">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="EmailsLen" cname="gst_sdp_message_emails_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_sdp_message_free">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="GetAttribute" cname="gst_sdp_message_get_attribute">
+        <return-type type="GstSDPAttribute*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetAttributeVal" cname="gst_sdp_message_get_attribute_val">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetAttributeValN" cname="gst_sdp_message_get_attribute_val_n">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="key" type="const-gchar*" />
+          <parameter name="nth" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetBandwidth" cname="gst_sdp_message_get_bandwidth">
+        <return-type type="GstSDPBandwidth*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetConnection" cname="gst_sdp_message_get_connection">
+        <return-type type="GstSDPConnection*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetEmail" cname="gst_sdp_message_get_email">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetInformation" cname="gst_sdp_message_get_information">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetKey" cname="gst_sdp_message_get_key">
+        <return-type type="GstSDPKey*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetMedia" cname="gst_sdp_message_get_media">
+        <return-type type="GstSDPMedia*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetOrigin" cname="gst_sdp_message_get_origin">
+        <return-type type="GstSDPOrigin*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetPhone" cname="gst_sdp_message_get_phone">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetSessionName" cname="gst_sdp_message_get_session_name">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetTime" cname="gst_sdp_message_get_time">
+        <return-type type="GstSDPTime*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetUri" cname="gst_sdp_message_get_uri">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetVersion" cname="gst_sdp_message_get_version">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetZone" cname="gst_sdp_message_get_zone">
+        <return-type type="GstSDPZone*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="Init" cname="gst_sdp_message_init">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="InsertAttribute" cname="gst_sdp_message_insert_attribute" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="attr" type="GstSDPAttribute*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="InsertBandwidth" cname="gst_sdp_message_insert_bandwidth" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="bw" type="GstSDPBandwidth*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="InsertEmail" cname="gst_sdp_message_insert_email" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="email" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="InsertPhone" cname="gst_sdp_message_insert_phone" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="phone" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="InsertTime" cname="gst_sdp_message_insert_time" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="t" type="GstSDPTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="InsertZone" cname="gst_sdp_message_insert_zone" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="gint" />
+          <parameter name="zone" type="GstSDPZone*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MediasLen" cname="gst_sdp_message_medias_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="ParseKeymgmt" cname="gst_sdp_message_parse_keymgmt" version="1.8.1">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="mikey" type="GstMIKEYMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="PhonesLen" cname="gst_sdp_message_phones_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="RemoveAttribute" cname="gst_sdp_message_remove_attribute" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveBandwidth" cname="gst_sdp_message_remove_bandwidth" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveEmail" cname="gst_sdp_message_remove_email" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemovePhone" cname="gst_sdp_message_remove_phone" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveTime" cname="gst_sdp_message_remove_time" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="RemoveZone" cname="gst_sdp_message_remove_zone" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="ReplaceAttribute" cname="gst_sdp_message_replace_attribute" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="attr" type="GstSDPAttribute*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceBandwidth" cname="gst_sdp_message_replace_bandwidth" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="bw" type="GstSDPBandwidth*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceEmail" cname="gst_sdp_message_replace_email" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="email" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ReplacePhone" cname="gst_sdp_message_replace_phone" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="phone" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ReplaceTime" cname="gst_sdp_message_replace_time" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="t" type="GstSDPTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReplaceZone" cname="gst_sdp_message_replace_zone" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="zone" type="GstSDPZone*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetConnection" cname="gst_sdp_message_set_connection">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="nettype" type="const-gchar*" />
+          <parameter name="addrtype" type="const-gchar*" />
+          <parameter name="address" type="const-gchar*" />
+          <parameter name="ttl" type="guint" />
+          <parameter name="addr_number" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetInformation" cname="gst_sdp_message_set_information">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="information" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetKey" cname="gst_sdp_message_set_key">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="type" type="const-gchar*" />
+          <parameter name="data" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetOrigin" cname="gst_sdp_message_set_origin">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="username" type="const-gchar*" />
+          <parameter name="sess_id" type="const-gchar*" />
+          <parameter name="sess_version" type="const-gchar*" />
+          <parameter name="nettype" type="const-gchar*" />
+          <parameter name="addrtype" type="const-gchar*" />
+          <parameter name="addr" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetSessionName" cname="gst_sdp_message_set_session_name">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="session_name" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetUri" cname="gst_sdp_message_set_uri">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetVersion" cname="gst_sdp_message_set_version">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="version" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TimesLen" cname="gst_sdp_message_times_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Uninit" cname="gst_sdp_message_uninit">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="ZonesLen" cname="gst_sdp_message_zones_len">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="AsUri" cname="gst_sdp_message_as_uri" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="scheme" type="const-gchar*" />
+          <parameter name="msg" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="New" cname="gst_sdp_message_new" shared="true">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="msg" type="GstSDPMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseBuffer" cname="gst_sdp_message_parse_buffer" shared="true">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint" />
+          <parameter name="msg" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ParseUri" cname="gst_sdp_message_parse_uri" shared="true">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="msg" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="SDPOrigin" cname="GstSDPOrigin" opaque="false" hidden="false">
+      <field cname="username" access="public" writeable="true" readable="true" is_callback="false" name="Username" type="gchar*" />
+      <field cname="sess_id" access="public" writeable="true" readable="true" is_callback="false" name="SessId" type="gchar*" />
+      <field cname="sess_version" access="public" writeable="true" readable="true" is_callback="false" name="SessVersion" type="gchar*" />
+      <field cname="nettype" access="public" writeable="true" readable="true" is_callback="false" name="Nettype" type="gchar*" />
+      <field cname="addrtype" access="public" writeable="true" readable="true" is_callback="false" name="Addrtype" type="gchar*" />
+      <field cname="addr" access="public" writeable="true" readable="true" is_callback="false" name="Addr" type="gchar*" />
+    </struct>
+    <struct name="SDPTime" cname="GstSDPTime" opaque="false" hidden="false">
+      <field cname="start" access="public" writeable="true" readable="true" is_callback="false" name="Start" type="gchar*" />
+      <field cname="stop" access="public" writeable="true" readable="true" is_callback="false" name="Stop" type="gchar*" />
+      <field cname="repeat" access="public" writeable="true" readable="true" is_callback="false" name="Repeat" type="GArray*" array="true" null_term_array="true" />
+      <method name="Clear" cname="gst_sdp_time_clear" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="Set" cname="gst_sdp_time_set" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="start" type="const-gchar*" />
+          <parameter name="stop" type="const-gchar*" />
+          <parameter name="repeat" type="const-gchar**" array="true" null_term_array="true" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="SDPZone" cname="GstSDPZone" opaque="false" hidden="false">
+      <field cname="time" access="public" writeable="true" readable="true" is_callback="false" name="Time" type="gchar*" />
+      <field cname="typed_time" access="public" writeable="true" readable="true" is_callback="false" name="TypedTime" type="gchar*" />
+      <method name="Clear" cname="gst_sdp_zone_clear" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters />
+      </method>
+      <method name="Set" cname="gst_sdp_zone_set" version="1.2">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="adj_time" type="const-gchar*" />
+          <parameter name="typed_time" type="const-gchar*" />
+        </parameters>
+      </method>
+    </struct>
+    <object name="Global" cname="GstSdpGlobal" opaque="true">
+      <method name="SdpAddressIsMulticast" cname="gst_sdp_address_is_multicast" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="nettype" type="const-gchar*" />
+          <parameter name="addrtype" type="const-gchar*" />
+          <parameter name="addr" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SdpMakeKeymgmt" cname="gst_sdp_make_keymgmt" shared="true" version="1.8">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="base64" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SdpMediaNew" cname="gst_sdp_media_new" shared="true">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="media" type="GstSDPMedia**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SdpMediaSetMediaFromCaps" cname="gst_sdp_media_set_media_from_caps" shared="true" version="1.8">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="media" type="GstSDPMedia*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SdpMessageAsUri" cname="gst_sdp_message_as_uri" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="scheme" type="const-gchar*" />
+          <parameter name="msg" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SdpMessageNew" cname="gst_sdp_message_new" shared="true">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="msg" type="GstSDPMessage**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SdpMessageParseBuffer" cname="gst_sdp_message_parse_buffer" shared="true">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="data" type="guint8*" array="true" array_length_param_index="1" />
+          <parameter name="size" type="guint" />
+          <parameter name="msg" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SdpMessageParseUri" cname="gst_sdp_message_parse_uri" shared="true">
+        <return-type type="GstSDPResult" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+          <parameter name="msg" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstSdpConstants" opaque="true">
+      <constant value="1" ctype="gint" gtype="gint" name="MIKEY_VERSION" />
+      <constant value="AS" ctype="gchar*" gtype="gchar*" name="SDP_BWTYPE_AS" />
+      <constant value="CT" ctype="gchar*" gtype="gchar*" name="SDP_BWTYPE_CT" />
+      <constant value="X-" ctype="gchar*" gtype="gchar*" name="SDP_BWTYPE_EXT_PREFIX" />
+      <constant value="RR" ctype="gchar*" gtype="gchar*" name="SDP_BWTYPE_RR" />
+      <constant value="RS" ctype="gchar*" gtype="gchar*" name="SDP_BWTYPE_RS" />
+      <constant value="TIAS" ctype="gchar*" gtype="gchar*" name="SDP_BWTYPE_TIAS" />
+    </object>
+  </namespace>
+  <namespace name="Gst.Tags" library="libgsttag-1.0-0.dll">
+    <enum name="TagDemuxResult" cname="GstTagDemuxResult" type="enum" gtype="gst_tag_demux_result_get_type">
+      <member cname="GST_TAG_DEMUX_RESULT_BROKEN_TAG" name="BrokenTag" value="0" />
+      <member cname="GST_TAG_DEMUX_RESULT_AGAIN" name="Again" value="1" />
+      <member cname="GST_TAG_DEMUX_RESULT_OK" name="Ok" value="2" />
+    </enum>
+    <enum name="TagImageType" cname="GstTagImageType" type="enum" gtype="gst_tag_image_type_get_type">
+      <member cname="GST_TAG_IMAGE_TYPE_NONE" name="None" value="-1" />
+      <member cname="GST_TAG_IMAGE_TYPE_UNDEFINED" name="Undefined" value="0" />
+      <member cname="GST_TAG_IMAGE_TYPE_FRONT_COVER" name="FrontCover" value="1" />
+      <member cname="GST_TAG_IMAGE_TYPE_BACK_COVER" name="BackCover" value="2" />
+      <member cname="GST_TAG_IMAGE_TYPE_LEAFLET_PAGE" name="LeafletPage" value="3" />
+      <member cname="GST_TAG_IMAGE_TYPE_MEDIUM" name="Medium" value="4" />
+      <member cname="GST_TAG_IMAGE_TYPE_LEAD_ARTIST" name="LeadArtist" value="5" />
+      <member cname="GST_TAG_IMAGE_TYPE_ARTIST" name="Artist" value="6" />
+      <member cname="GST_TAG_IMAGE_TYPE_CONDUCTOR" name="Conductor" value="7" />
+      <member cname="GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA" name="BandOrchestra" value="8" />
+      <member cname="GST_TAG_IMAGE_TYPE_COMPOSER" name="Composer" value="9" />
+      <member cname="GST_TAG_IMAGE_TYPE_LYRICIST" name="Lyricist" value="10" />
+      <member cname="GST_TAG_IMAGE_TYPE_RECORDING_LOCATION" name="RecordingLocation" value="11" />
+      <member cname="GST_TAG_IMAGE_TYPE_DURING_RECORDING" name="DuringRecording" value="12" />
+      <member cname="GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE" name="DuringPerformance" value="13" />
+      <member cname="GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE" name="VideoCapture" value="14" />
+      <member cname="GST_TAG_IMAGE_TYPE_FISH" name="Fish" value="15" />
+      <member cname="GST_TAG_IMAGE_TYPE_ILLUSTRATION" name="Illustration" value="16" />
+      <member cname="GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO" name="BandArtistLogo" value="17" />
+      <member cname="GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO" name="PublisherStudioLogo" value="18" />
+    </enum>
+    <enum name="TagLicenseFlags" cname="GstTagLicenseFlags" type="flags" gtype="gst_tag_license_flags_get_type">
+      <member cname="GST_TAG_LICENSE_PERMITS_REPRODUCTION" name="PermitsReproduction" value="1" />
+      <member cname="GST_TAG_LICENSE_PERMITS_DISTRIBUTION" name="PermitsDistribution" value="2" />
+      <member cname="GST_TAG_LICENSE_PERMITS_DERIVATIVE_WORKS" name="PermitsDerivativeWorks" value="4" />
+      <member cname="GST_TAG_LICENSE_PERMITS_SHARING" name="PermitsSharing" value="8" />
+      <member cname="GST_TAG_LICENSE_REQUIRES_NOTICE" name="RequiresNotice" value="256" />
+      <member cname="GST_TAG_LICENSE_REQUIRES_ATTRIBUTION" name="RequiresAttribution" value="512" />
+      <member cname="GST_TAG_LICENSE_REQUIRES_SHARE_ALIKE" name="RequiresShareAlike" value="1024" />
+      <member cname="GST_TAG_LICENSE_REQUIRES_SOURCE_CODE" name="RequiresSourceCode" value="2048" />
+      <member cname="GST_TAG_LICENSE_REQUIRES_COPYLEFT" name="RequiresCopyleft" value="4096" />
+      <member cname="GST_TAG_LICENSE_REQUIRES_LESSER_COPYLEFT" name="RequiresLesserCopyleft" value="8192" />
+      <member cname="GST_TAG_LICENSE_PROHIBITS_COMMERCIAL_USE" name="ProhibitsCommercialUse" value="65536" />
+      <member cname="GST_TAG_LICENSE_PROHIBITS_HIGH_INCOME_NATION_USE" name="ProhibitsHighIncomeNationUse" value="131072" />
+      <member cname="GST_TAG_LICENSE_CREATIVE_COMMONS_LICENSE" name="CreativeCommonsLicense" value="16777216" />
+      <member cname="GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE" name="FreeSoftwareFoundationLicense" value="33554432" />
+    </enum>
+    <interface name="TagXmpWriter" cname="GstTagXmpWriter" opaque="false" hidden="false">
+      <class_struct cname="GstTagXmpWriterInterface">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+      </class_struct>
+      <method name="GetType" cname="gst_tag_xmp_writer_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="AddAllSchemas" cname="gst_tag_xmp_writer_add_all_schemas">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="AddSchema" cname="gst_tag_xmp_writer_add_schema">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="schema" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="HasSchema" cname="gst_tag_xmp_writer_has_schema">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="schema" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RemoveAllSchemas" cname="gst_tag_xmp_writer_remove_all_schemas">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="RemoveSchema" cname="gst_tag_xmp_writer_remove_schema">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="schema" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="TagListToXmpBuffer" cname="gst_tag_xmp_writer_tag_list_to_xmp_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="taglist" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="read_only" type="gboolean" />
+        </parameters>
+      </method>
+    </interface>
+    <object name="TagDemux" cname="GstTagDemux" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstTagDemuxClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="min_start_size" access="public" writeable="false" readable="true" is_callback="false" name="MinStartSize" type="guint" />
+        <field cname="min_end_size" access="public" writeable="false" readable="true" is_callback="false" name="MinEndSize" type="guint" />
+        <method vm="identify_tag" />
+        <method vm="parse_tag" />
+        <method vm="merge_tags" />
+        <field cname="reserved" access="private" writeable="false" readable="false" is_callback="false" name="Reserved" type="gpointer" array="true" array_len="4" />
+      </class_struct>
+      <method name="GetType" cname="gst_tag_demux_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="IdentifyTag" cname="identify_tag">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start_tag" type="gboolean" />
+          <parameter name="tag_size" type="guint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="MergeTags" cname="merge_tags">
+        <return-type type="GstTagList*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="start_tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="end_tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ParseTag" cname="parse_tag">
+        <return-type type="GstTagDemuxResult" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="start_tag" type="gboolean" />
+          <parameter name="tag_size" type="guint" />
+          <parameter name="tags" type="GstTagList**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstTagDemuxPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="reserved" access="private" writeable="false" readable="false" is_callback="false" name="Reserved" type="gpointer" array="true" array_len="4" />
+    </object>
+    <object name="TagMux" cname="GstTagMux" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <implements>
+        <interface cname="GstTagSetter" />
+      </implements>
+      <class_struct cname="GstTagMuxClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="render_start_tag" />
+        <method vm="render_end_tag" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_tag_mux_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="RenderEndTag" cname="render_end_tag">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="tag_list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="RenderStartTag" cname="render_start_tag">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="tag_list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstTagMuxPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <struct name="TagDemuxPrivate" cname="GstTagDemuxPrivate" opaque="true" hidden="true" />
+    <struct name="TagMuxPrivate" cname="GstTagMuxPrivate" opaque="true" hidden="true" />
+    <object name="Global" cname="GstTagGlobal" opaque="true">
+      <method name="VorbisTagAdd" cname="gst_vorbis_tag_add" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="list" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="tag" type="const-gchar*" />
+          <parameter name="value" type="const-gchar*" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstTagConstants" opaque="true">
+      <constant value="capturing-contrast" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_CONTRAST" />
+      <constant value="capturing-digital-zoom-ratio" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_DIGITAL_ZOOM_RATIO" />
+      <constant value="capturing-exposure-compensation" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_EXPOSURE_COMPENSATION" />
+      <constant value="capturing-exposure-mode" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_EXPOSURE_MODE" />
+      <constant value="capturing-exposure-program" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_EXPOSURE_PROGRAM" />
+      <constant value="capturing-flash-fired" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_FLASH_FIRED" />
+      <constant value="capturing-flash-mode" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_FLASH_MODE" />
+      <constant value="capturing-focal-length" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_FOCAL_LENGTH" />
+      <constant value="capturing-focal-length-35mm" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_FOCAL_LENGTH_35_MM" version="1.10" />
+      <constant value="capturing-focal-ratio" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_FOCAL_RATIO" />
+      <constant value="capturing-gain-adjustment" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_GAIN_ADJUSTMENT" />
+      <constant value="capturing-iso-speed" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_ISO_SPEED" />
+      <constant value="capturing-metering-mode" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_METERING_MODE" />
+      <constant value="capturing-saturation" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_SATURATION" />
+      <constant value="capturing-scene-capture-type" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_SCENE_CAPTURE_TYPE" />
+      <constant value="capturing-sharpness" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_SHARPNESS" />
+      <constant value="capturing-shutter-speed" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_SHUTTER_SPEED" />
+      <constant value="capturing-source" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_SOURCE" />
+      <constant value="capturing-white-balance" ctype="gchar*" gtype="gchar*" name="TAG_CAPTURING_WHITE_BALANCE" />
+      <constant value="discid" ctype="gchar*" gtype="gchar*" name="TAG_CDDA_CDDB_DISCID" />
+      <constant value="discid-full" ctype="gchar*" gtype="gchar*" name="TAG_CDDA_CDDB_DISCID_FULL" />
+      <constant value="musicbrainz-discid" ctype="gchar*" gtype="gchar*" name="TAG_CDDA_MUSICBRAINZ_DISCID" />
+      <constant value="musicbrainz-discid-full" ctype="gchar*" gtype="gchar*" name="TAG_CDDA_MUSICBRAINZ_DISCID_FULL" />
+      <constant value="cmml-clip" ctype="gchar*" gtype="gchar*" name="TAG_CMML_CLIP" />
+      <constant value="cmml-head" ctype="gchar*" gtype="gchar*" name="TAG_CMML_HEAD" />
+      <constant value="cmml-stream" ctype="gchar*" gtype="gchar*" name="TAG_CMML_STREAM" />
+      <constant value="10" ctype="gint" gtype="gint" name="TAG_ID3V2_HEADER_SIZE" />
+      <constant value="image-horizontal-ppi" ctype="gchar*" gtype="gchar*" name="TAG_IMAGE_HORIZONTAL_PPI" />
+      <constant value="image-vertical-ppi" ctype="gchar*" gtype="gchar*" name="TAG_IMAGE_VERTICAL_PPI" />
+      <constant value="musical-key" ctype="gchar*" gtype="gchar*" name="TAG_MUSICAL_KEY" version="1.2" />
+      <constant value="musicbrainz-albumartistid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_ALBUMARTISTID" />
+      <constant value="musicbrainz-albumid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_ALBUMID" />
+      <constant value="musicbrainz-artistid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_ARTISTID" />
+      <constant value="musicbrainz-trackid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_TRACKID" />
+      <constant value="musicbrainz-trmid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_TRMID" />
+    </object>
+  </namespace>
+  <namespace name="Gst.Video" library="libgstvideo-1.0-0.dll">
+    <enum name="ColorBalanceType" cname="GstColorBalanceType" type="enum" gtype="gst_color_balance_type_get_type">
+      <member cname="GST_COLOR_BALANCE_HARDWARE" name="Hardware" value="0" />
+      <member cname="GST_COLOR_BALANCE_SOFTWARE" name="Software" value="1" />
+    </enum>
+    <enum name="NavigationCommand" cname="GstNavigationCommand" type="enum" gtype="gst_navigation_command_get_type">
+      <member cname="GST_NAVIGATION_COMMAND_INVALID" name="Invalid" value="0" />
+      <member cname="GST_NAVIGATION_COMMAND_MENU1" name="Menu1" value="1" />
+      <member cname="GST_NAVIGATION_COMMAND_MENU2" name="Menu2" value="2" />
+      <member cname="GST_NAVIGATION_COMMAND_MENU3" name="Menu3" value="3" />
+      <member cname="GST_NAVIGATION_COMMAND_MENU4" name="Menu4" value="4" />
+      <member cname="GST_NAVIGATION_COMMAND_MENU5" name="Menu5" value="5" />
+      <member cname="GST_NAVIGATION_COMMAND_MENU6" name="Menu6" value="6" />
+      <member cname="GST_NAVIGATION_COMMAND_MENU7" name="Menu7" value="7" />
+      <member cname="GST_NAVIGATION_COMMAND_LEFT" name="Left" value="20" />
+      <member cname="GST_NAVIGATION_COMMAND_RIGHT" name="Right" value="21" />
+      <member cname="GST_NAVIGATION_COMMAND_UP" name="Up" value="22" />
+      <member cname="GST_NAVIGATION_COMMAND_DOWN" name="Down" value="23" />
+      <member cname="GST_NAVIGATION_COMMAND_ACTIVATE" name="Activate" value="24" />
+      <member cname="GST_NAVIGATION_COMMAND_PREV_ANGLE" name="PrevAngle" value="30" />
+      <member cname="GST_NAVIGATION_COMMAND_NEXT_ANGLE" name="NextAngle" value="31" />
+    </enum>
+    <enum name="NavigationEventType" cname="GstNavigationEventType" type="enum" gtype="gst_navigation_event_type_get_type">
+      <member cname="GST_NAVIGATION_EVENT_INVALID" name="Invalid" value="0" />
+      <member cname="GST_NAVIGATION_EVENT_KEY_PRESS" name="KeyPress" value="1" />
+      <member cname="GST_NAVIGATION_EVENT_KEY_RELEASE" name="KeyRelease" value="2" />
+      <member cname="GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS" name="MouseButtonPress" value="3" />
+      <member cname="GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE" name="MouseButtonRelease" value="4" />
+      <member cname="GST_NAVIGATION_EVENT_MOUSE_MOVE" name="MouseMove" value="5" />
+      <member cname="GST_NAVIGATION_EVENT_COMMAND" name="Command" value="6" />
+    </enum>
+    <enum name="NavigationMessageType" cname="GstNavigationMessageType" type="enum" gtype="gst_navigation_message_type_get_type">
+      <member cname="GST_NAVIGATION_MESSAGE_INVALID" name="Invalid" value="0" />
+      <member cname="GST_NAVIGATION_MESSAGE_MOUSE_OVER" name="MouseOver" value="1" />
+      <member cname="GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED" name="CommandsChanged" value="2" />
+      <member cname="GST_NAVIGATION_MESSAGE_ANGLES_CHANGED" name="AnglesChanged" value="3" />
+      <member cname="GST_NAVIGATION_MESSAGE_EVENT" name="Event" value="4" />
+    </enum>
+    <enum name="NavigationQueryType" cname="GstNavigationQueryType" type="enum" gtype="gst_navigation_query_type_get_type">
+      <member cname="GST_NAVIGATION_QUERY_INVALID" name="Invalid" value="0" />
+      <member cname="GST_NAVIGATION_QUERY_COMMANDS" name="Commands" value="1" />
+      <member cname="GST_NAVIGATION_QUERY_ANGLES" name="Angles" value="2" />
+    </enum>
+    <enum name="VideoAlphaMode" cname="GstVideoAlphaMode" type="enum" gtype="gst_video_alpha_mode_get_type" version="1.6">
+      <member cname="GST_VIDEO_ALPHA_MODE_COPY" name="Copy" value="0" />
+      <member cname="GST_VIDEO_ALPHA_MODE_SET" name="Set" value="1" />
+      <member cname="GST_VIDEO_ALPHA_MODE_MULT" name="Mult" value="2" />
+    </enum>
+    <enum name="VideoChromaMethod" cname="GstVideoChromaMethod" type="enum" gtype="gst_video_chroma_method_get_type">
+      <member cname="GST_VIDEO_CHROMA_METHOD_NEAREST" name="Nearest" value="0" />
+      <member cname="GST_VIDEO_CHROMA_METHOD_LINEAR" name="Linear" value="1" />
+    </enum>
+    <enum name="VideoChromaMode" cname="GstVideoChromaMode" type="enum" gtype="gst_video_chroma_mode_get_type" version="1.6">
+      <member cname="GST_VIDEO_CHROMA_MODE_FULL" name="Full" value="0" />
+      <member cname="GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY" name="UpsampleOnly" value="1" />
+      <member cname="GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY" name="DownsampleOnly" value="2" />
+      <member cname="GST_VIDEO_CHROMA_MODE_NONE" name="None" value="3" />
+    </enum>
+    <enum name="VideoColorMatrix" cname="GstVideoColorMatrix" type="enum" gtype="gst_video_color_matrix_get_type">
+      <member cname="GST_VIDEO_COLOR_MATRIX_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_VIDEO_COLOR_MATRIX_RGB" name="Rgb" value="1" />
+      <member cname="GST_VIDEO_COLOR_MATRIX_FCC" name="Fcc" value="2" />
+      <member cname="GST_VIDEO_COLOR_MATRIX_BT709" name="Bt709" value="3" />
+      <member cname="GST_VIDEO_COLOR_MATRIX_BT601" name="Bt601" value="4" />
+      <member cname="GST_VIDEO_COLOR_MATRIX_SMPTE240M" name="Smpte240m" value="5" />
+      <member cname="GST_VIDEO_COLOR_MATRIX_BT2020" name="Bt2020" value="6" />
+    </enum>
+    <enum name="VideoColorPrimaries" cname="GstVideoColorPrimaries" type="enum" gtype="gst_video_color_primaries_get_type">
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_BT709" name="Bt709" value="1" />
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_BT470M" name="Bt470m" value="2" />
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_BT470BG" name="Bt470bg" value="3" />
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_SMPTE170M" name="Smpte170m" value="4" />
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_SMPTE240M" name="Smpte240m" value="5" />
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_FILM" name="Film" value="6" />
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_BT2020" name="Bt2020" value="7" />
+      <member cname="GST_VIDEO_COLOR_PRIMARIES_ADOBERGB" name="Adobergb" value="8" />
+    </enum>
+    <enum name="VideoColorRange" cname="GstVideoColorRange" type="enum" gtype="gst_video_color_range_get_type">
+      <member cname="GST_VIDEO_COLOR_RANGE_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_VIDEO_COLOR_RANGE_0_255" name="_00255" value="1" />
+      <member cname="GST_VIDEO_COLOR_RANGE_16_235" name="_1616235" value="2" />
+    </enum>
+    <enum name="VideoDitherMethod" cname="GstVideoDitherMethod" type="enum" gtype="gst_video_dither_method_get_type">
+      <member cname="GST_VIDEO_DITHER_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_DITHER_VERTERR" name="Verterr" value="1" />
+      <member cname="GST_VIDEO_DITHER_FLOYD_STEINBERG" name="FloydSteinberg" value="2" />
+      <member cname="GST_VIDEO_DITHER_SIERRA_LITE" name="SierraLite" value="3" />
+      <member cname="GST_VIDEO_DITHER_BAYER" name="Bayer" value="4" />
+    </enum>
+    <enum name="VideoFieldOrder" cname="GstVideoFieldOrder" type="enum" gtype="gst_video_field_order_get_type" version="1.12">
+      <member cname="GST_VIDEO_FIELD_ORDER_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST" name="TopFieldFirst" value="1" />
+      <member cname="GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST" name="BottomFieldFirst" value="2" />
+    </enum>
+    <enum name="VideoFormat" cname="GstVideoFormat" type="enum" gtype="gst_video_format_get_type">
+      <member cname="GST_VIDEO_FORMAT_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_VIDEO_FORMAT_ENCODED" name="Encoded" value="1" />
+      <member cname="GST_VIDEO_FORMAT_I420" name="I420" value="2" />
+      <member cname="GST_VIDEO_FORMAT_YV12" name="Yv12" value="3" />
+      <member cname="GST_VIDEO_FORMAT_YUY2" name="Yuy2" value="4" />
+      <member cname="GST_VIDEO_FORMAT_UYVY" name="Uyvy" value="5" />
+      <member cname="GST_VIDEO_FORMAT_AYUV" name="Ayuv" value="6" />
+      <member cname="GST_VIDEO_FORMAT_RGBx" name="Rgbx" value="7" />
+      <member cname="GST_VIDEO_FORMAT_BGRx" name="Bgrx" value="8" />
+      <member cname="GST_VIDEO_FORMAT_xRGB" name="Xrgb" value="9" />
+      <member cname="GST_VIDEO_FORMAT_xBGR" name="Xbgr" value="10" />
+      <member cname="GST_VIDEO_FORMAT_RGBA" name="Rgba" value="11" />
+      <member cname="GST_VIDEO_FORMAT_BGRA" name="Bgra" value="12" />
+      <member cname="GST_VIDEO_FORMAT_ARGB" name="Argb" value="13" />
+      <member cname="GST_VIDEO_FORMAT_ABGR" name="Abgr" value="14" />
+      <member cname="GST_VIDEO_FORMAT_RGB" name="Rgb" value="15" />
+      <member cname="GST_VIDEO_FORMAT_BGR" name="Bgr" value="16" />
+      <member cname="GST_VIDEO_FORMAT_Y41B" name="Y41b" value="17" />
+      <member cname="GST_VIDEO_FORMAT_Y42B" name="Y42b" value="18" />
+      <member cname="GST_VIDEO_FORMAT_YVYU" name="Yvyu" value="19" />
+      <member cname="GST_VIDEO_FORMAT_Y444" name="Y444" value="20" />
+      <member cname="GST_VIDEO_FORMAT_v210" name="V210" value="21" />
+      <member cname="GST_VIDEO_FORMAT_v216" name="V216" value="22" />
+      <member cname="GST_VIDEO_FORMAT_NV12" name="Nv12" value="23" />
+      <member cname="GST_VIDEO_FORMAT_NV21" name="Nv21" value="24" />
+      <member cname="GST_VIDEO_FORMAT_GRAY8" name="Gray8" value="25" />
+      <member cname="GST_VIDEO_FORMAT_GRAY16_BE" name="Gray16Be" value="26" />
+      <member cname="GST_VIDEO_FORMAT_GRAY16_LE" name="Gray16Le" value="27" />
+      <member cname="GST_VIDEO_FORMAT_v308" name="V308" value="28" />
+      <member cname="GST_VIDEO_FORMAT_RGB16" name="Rgb16" value="29" />
+      <member cname="GST_VIDEO_FORMAT_BGR16" name="Bgr16" value="30" />
+      <member cname="GST_VIDEO_FORMAT_RGB15" name="Rgb15" value="31" />
+      <member cname="GST_VIDEO_FORMAT_BGR15" name="Bgr15" value="32" />
+      <member cname="GST_VIDEO_FORMAT_UYVP" name="Uyvp" value="33" />
+      <member cname="GST_VIDEO_FORMAT_A420" name="A420" value="34" />
+      <member cname="GST_VIDEO_FORMAT_RGB8P" name="Rgb8p" value="35" />
+      <member cname="GST_VIDEO_FORMAT_YUV9" name="Yuv9" value="36" />
+      <member cname="GST_VIDEO_FORMAT_YVU9" name="Yvu9" value="37" />
+      <member cname="GST_VIDEO_FORMAT_IYU1" name="Iyu1" value="38" />
+      <member cname="GST_VIDEO_FORMAT_ARGB64" name="Argb64" value="39" />
+      <member cname="GST_VIDEO_FORMAT_AYUV64" name="Ayuv64" value="40" />
+      <member cname="GST_VIDEO_FORMAT_r210" name="R210" value="41" />
+      <member cname="GST_VIDEO_FORMAT_I420_10BE" name="I42010be" value="42" />
+      <member cname="GST_VIDEO_FORMAT_I420_10LE" name="I42010le" value="43" />
+      <member cname="GST_VIDEO_FORMAT_I422_10BE" name="I42210be" value="44" />
+      <member cname="GST_VIDEO_FORMAT_I422_10LE" name="I42210le" value="45" />
+      <member cname="GST_VIDEO_FORMAT_Y444_10BE" name="Y44410be" value="46" />
+      <member cname="GST_VIDEO_FORMAT_Y444_10LE" name="Y44410le" value="47" />
+      <member cname="GST_VIDEO_FORMAT_GBR" name="Gbr" value="48" />
+      <member cname="GST_VIDEO_FORMAT_GBR_10BE" name="Gbr10be" value="49" />
+      <member cname="GST_VIDEO_FORMAT_GBR_10LE" name="Gbr10le" value="50" />
+      <member cname="GST_VIDEO_FORMAT_NV16" name="Nv16" value="51" />
+      <member cname="GST_VIDEO_FORMAT_NV24" name="Nv24" value="52" />
+      <member cname="GST_VIDEO_FORMAT_NV12_64Z32" name="Nv1264z32" value="53" />
+      <member cname="GST_VIDEO_FORMAT_A420_10BE" name="A42010be" value="54" />
+      <member cname="GST_VIDEO_FORMAT_A420_10LE" name="A42010le" value="55" />
+      <member cname="GST_VIDEO_FORMAT_A422_10BE" name="A42210be" value="56" />
+      <member cname="GST_VIDEO_FORMAT_A422_10LE" name="A42210le" value="57" />
+      <member cname="GST_VIDEO_FORMAT_A444_10BE" name="A44410be" value="58" />
+      <member cname="GST_VIDEO_FORMAT_A444_10LE" name="A44410le" value="59" />
+      <member cname="GST_VIDEO_FORMAT_NV61" name="Nv61" value="60" />
+      <member cname="GST_VIDEO_FORMAT_P010_10BE" name="P01010be" value="61" />
+      <member cname="GST_VIDEO_FORMAT_P010_10LE" name="P01010le" value="62" />
+      <member cname="GST_VIDEO_FORMAT_IYU2" name="Iyu2" value="63" />
+      <member cname="GST_VIDEO_FORMAT_VYUY" name="Vyuy" value="64" />
+      <member cname="GST_VIDEO_FORMAT_GBRA" name="Gbra" value="65" />
+      <member cname="GST_VIDEO_FORMAT_GBRA_10BE" name="Gbra10be" value="66" />
+      <member cname="GST_VIDEO_FORMAT_GBRA_10LE" name="Gbra10le" value="67" />
+      <member cname="GST_VIDEO_FORMAT_GBR_12BE" name="Gbr12be" value="68" />
+      <member cname="GST_VIDEO_FORMAT_GBR_12LE" name="Gbr12le" value="69" />
+      <member cname="GST_VIDEO_FORMAT_GBRA_12BE" name="Gbra12be" value="70" />
+      <member cname="GST_VIDEO_FORMAT_GBRA_12LE" name="Gbra12le" value="71" />
+      <member cname="GST_VIDEO_FORMAT_I420_12BE" name="I42012be" value="72" />
+      <member cname="GST_VIDEO_FORMAT_I420_12LE" name="I42012le" value="73" />
+      <member cname="GST_VIDEO_FORMAT_I422_12BE" name="I42212be" value="74" />
+      <member cname="GST_VIDEO_FORMAT_I422_12LE" name="I42212le" value="75" />
+      <member cname="GST_VIDEO_FORMAT_Y444_12BE" name="Y44412be" value="76" />
+      <member cname="GST_VIDEO_FORMAT_Y444_12LE" name="Y44412le" value="77" />
+    </enum>
+    <enum name="VideoGLTextureOrientation" cname="GstVideoGLTextureOrientation" type="enum">
+      <member cname="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL" name="NormalYNormal" value="0" />
+      <member cname="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_FLIP" name="NormalYFlip" value="1" />
+      <member cname="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_NORMAL" name="FlipYNormal" value="2" />
+      <member cname="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_FLIP" name="FlipYFlip" value="3" />
+    </enum>
+    <enum name="VideoGLTextureType" cname="GstVideoGLTextureType" type="enum">
+      <member cname="GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE" name="Luminance" value="0" />
+      <member cname="GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA" name="LuminanceAlpha" value="1" />
+      <member cname="GST_VIDEO_GL_TEXTURE_TYPE_RGB16" name="Rgb16" value="2" />
+      <member cname="GST_VIDEO_GL_TEXTURE_TYPE_RGB" name="Rgb" value="3" />
+      <member cname="GST_VIDEO_GL_TEXTURE_TYPE_RGBA" name="Rgba" value="4" />
+      <member cname="GST_VIDEO_GL_TEXTURE_TYPE_R" name="R" value="5" />
+      <member cname="GST_VIDEO_GL_TEXTURE_TYPE_RG" name="Rg" value="6" />
+    </enum>
+    <enum name="VideoGammaMode" cname="GstVideoGammaMode" type="enum" gtype="gst_video_gamma_mode_get_type" version="1.6">
+      <member cname="GST_VIDEO_GAMMA_MODE_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_GAMMA_MODE_REMAP" name="Remap" value="1" />
+    </enum>
+    <enum name="VideoInterlaceMode" cname="GstVideoInterlaceMode" type="enum" gtype="gst_video_interlace_mode_get_type">
+      <member cname="GST_VIDEO_INTERLACE_MODE_PROGRESSIVE" name="Progressive" value="0" />
+      <member cname="GST_VIDEO_INTERLACE_MODE_INTERLEAVED" name="Interleaved" value="1" />
+      <member cname="GST_VIDEO_INTERLACE_MODE_MIXED" name="Mixed" value="2" />
+      <member cname="GST_VIDEO_INTERLACE_MODE_FIELDS" name="Fields" value="3" />
+    </enum>
+    <enum name="VideoMatrixMode" cname="GstVideoMatrixMode" type="enum" gtype="gst_video_matrix_mode_get_type" version="1.6">
+      <member cname="GST_VIDEO_MATRIX_MODE_FULL" name="Full" value="0" />
+      <member cname="GST_VIDEO_MATRIX_MODE_INPUT_ONLY" name="InputOnly" value="1" />
+      <member cname="GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY" name="OutputOnly" value="2" />
+      <member cname="GST_VIDEO_MATRIX_MODE_NONE" name="None" value="3" />
+    </enum>
+    <enum name="VideoMultiviewFramePacking" cname="GstVideoMultiviewFramePacking" type="enum" gtype="gst_video_multiview_frame_packing_get_type">
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE" name="None" value="-1" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO" name="Mono" value="0" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT" name="Left" value="1" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT" name="Right" value="2" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE" name="SideBySide" value="3" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX" name="SideBySideQuincunx" value="4" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED" name="ColumnInterleaved" value="5" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED" name="RowInterleaved" value="6" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM" name="TopBottom" value="7" />
+      <member cname="GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD" name="Checkerboard" value="8" />
+    </enum>
+    <enum name="VideoMultiviewMode" cname="GstVideoMultiviewMode" type="enum" gtype="gst_video_multiview_mode_get_type">
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_NONE" name="None" value="-1" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_MONO" name="Mono" value="0" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_LEFT" name="Left" value="1" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_RIGHT" name="Right" value="2" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE" name="SideBySide" value="3" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX" name="SideBySideQuincunx" value="4" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED" name="ColumnInterleaved" value="5" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED" name="RowInterleaved" value="6" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM" name="TopBottom" value="7" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD" name="Checkerboard" value="8" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME" name="FrameByFrame" value="32" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME" name="MultiviewFrameByFrame" value="33" />
+      <member cname="GST_VIDEO_MULTIVIEW_MODE_SEPARATED" name="Separated" value="34" />
+    </enum>
+    <enum name="VideoOrientationMethod" cname="GstVideoOrientationMethod" type="enum" gtype="gst_video_orientation_method_get_type" version="1.10">
+      <member cname="GST_VIDEO_ORIENTATION_IDENTITY" name="Identity" value="0" />
+      <member cname="GST_VIDEO_ORIENTATION_90R" name="_90r" value="1" />
+      <member cname="GST_VIDEO_ORIENTATION_180" name="_180" value="2" />
+      <member cname="GST_VIDEO_ORIENTATION_90L" name="_90l" value="3" />
+      <member cname="GST_VIDEO_ORIENTATION_HORIZ" name="Horiz" value="4" />
+      <member cname="GST_VIDEO_ORIENTATION_VERT" name="Vert" value="5" />
+      <member cname="GST_VIDEO_ORIENTATION_UL_LR" name="UlLr" value="6" />
+      <member cname="GST_VIDEO_ORIENTATION_UR_LL" name="UrLl" value="7" />
+      <member cname="GST_VIDEO_ORIENTATION_AUTO" name="Auto" value="8" />
+      <member cname="GST_VIDEO_ORIENTATION_CUSTOM" name="Custom" value="9" />
+    </enum>
+    <enum name="VideoOverlayFormatFlags" cname="GstVideoOverlayFormatFlags" type="enum">
+      <member cname="GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA" name="PremultipliedAlpha" value="1" />
+      <member cname="GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA" name="GlobalAlpha" value="2" />
+    </enum>
+    <enum name="VideoPrimariesMode" cname="GstVideoPrimariesMode" type="enum" gtype="gst_video_primaries_mode_get_type" version="1.6">
+      <member cname="GST_VIDEO_PRIMARIES_MODE_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY" name="MergeOnly" value="1" />
+      <member cname="GST_VIDEO_PRIMARIES_MODE_FAST" name="Fast" value="2" />
+    </enum>
+    <enum name="VideoResamplerMethod" cname="GstVideoResamplerMethod" type="enum" gtype="gst_video_resampler_method_get_type" version="1.6">
+      <member cname="GST_VIDEO_RESAMPLER_METHOD_NEAREST" name="Nearest" value="0" />
+      <member cname="GST_VIDEO_RESAMPLER_METHOD_LINEAR" name="Linear" value="1" />
+      <member cname="GST_VIDEO_RESAMPLER_METHOD_CUBIC" name="Cubic" value="2" />
+      <member cname="GST_VIDEO_RESAMPLER_METHOD_SINC" name="Sinc" value="3" />
+      <member cname="GST_VIDEO_RESAMPLER_METHOD_LANCZOS" name="Lanczos" value="4" />
+    </enum>
+    <enum name="VideoTileMode" cname="GstVideoTileMode" type="enum" gtype="gst_video_tile_mode_get_type">
+      <member cname="GST_VIDEO_TILE_MODE_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_VIDEO_TILE_MODE_ZFLIPZ_2X2" name="Zflipz2x2" value="65536" />
+    </enum>
+    <enum name="VideoTileType" cname="GstVideoTileType" type="enum" gtype="gst_video_tile_type_get_type">
+      <member cname="GST_VIDEO_TILE_TYPE_INDEXED" name="Indexed" value="0" />
+    </enum>
+    <enum name="VideoTransferFunction" cname="GstVideoTransferFunction" type="enum" gtype="gst_video_transfer_function_get_type">
+      <member cname="GST_VIDEO_TRANSFER_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_VIDEO_TRANSFER_GAMMA10" name="Gamma10" value="1" />
+      <member cname="GST_VIDEO_TRANSFER_GAMMA18" name="Gamma18" value="2" />
+      <member cname="GST_VIDEO_TRANSFER_GAMMA20" name="Gamma20" value="3" />
+      <member cname="GST_VIDEO_TRANSFER_GAMMA22" name="Gamma22" value="4" />
+      <member cname="GST_VIDEO_TRANSFER_BT709" name="Bt709" value="5" />
+      <member cname="GST_VIDEO_TRANSFER_SMPTE240M" name="Smpte240m" value="6" />
+      <member cname="GST_VIDEO_TRANSFER_SRGB" name="Srgb" value="7" />
+      <member cname="GST_VIDEO_TRANSFER_GAMMA28" name="Gamma28" value="8" />
+      <member cname="GST_VIDEO_TRANSFER_LOG100" name="Log100" value="9" />
+      <member cname="GST_VIDEO_TRANSFER_LOG316" name="Log316" value="10" />
+      <member cname="GST_VIDEO_TRANSFER_BT2020_12" name="Bt202012" value="11" />
+      <member cname="GST_VIDEO_TRANSFER_ADOBERGB" name="Adobergb" value="12" />
+    </enum>
+    <enum name="VideoBufferFlags" cname="GstVideoBufferFlags" type="flags" gtype="gst_video_buffer_flags_get_type">
+      <member cname="GST_VIDEO_BUFFER_FLAG_INTERLACED" name="Interlaced" value="1048576" />
+      <member cname="GST_VIDEO_BUFFER_FLAG_TFF" name="Tff" value="2097152" />
+      <member cname="GST_VIDEO_BUFFER_FLAG_RFF" name="Rff" value="4194304" />
+      <member cname="GST_VIDEO_BUFFER_FLAG_ONEFIELD" name="Onefield" value="8388608" />
+      <member cname="GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW" name="MultipleView" value="16777216" />
+      <member cname="GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE" name="FirstInBundle" value="33554432" />
+      <member cname="GST_VIDEO_BUFFER_FLAG_LAST" name="Last" value="268435456" />
+    </enum>
+    <enum name="VideoChromaFlags" cname="GstVideoChromaFlags" type="flags" gtype="gst_video_chroma_flags_get_type">
+      <member cname="GST_VIDEO_CHROMA_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_CHROMA_FLAG_INTERLACED" name="Interlaced" value="1" />
+    </enum>
+    <enum name="VideoChromaSite" cname="GstVideoChromaSite" type="flags" gtype="gst_video_chroma_site_get_type">
+      <member cname="GST_VIDEO_CHROMA_SITE_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_VIDEO_CHROMA_SITE_NONE" name="None" value="1" />
+      <member cname="GST_VIDEO_CHROMA_SITE_JPEG" name="Jpeg" value="1" />
+      <member cname="GST_VIDEO_CHROMA_SITE_H_COSITED" name="HCosited" value="2" />
+      <member cname="GST_VIDEO_CHROMA_SITE_MPEG2" name="Mpeg2" value="2" />
+      <member cname="GST_VIDEO_CHROMA_SITE_V_COSITED" name="VCosited" value="4" />
+      <member cname="GST_VIDEO_CHROMA_SITE_COSITED" name="Cosited" value="6" />
+      <member cname="GST_VIDEO_CHROMA_SITE_ALT_LINE" name="AltLine" value="8" />
+      <member cname="GST_VIDEO_CHROMA_SITE_DV" name="Dv" value="14" />
+    </enum>
+    <enum name="VideoCodecFrameFlags" cname="GstVideoCodecFrameFlags" type="flags">
+      <member cname="GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY" name="DecodeOnly" value="1" />
+      <member cname="GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT" name="SyncPoint" value="2" />
+      <member cname="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME" name="ForceKeyframe" value="4" />
+      <member cname="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS" name="ForceKeyframeHeaders" value="8" />
+    </enum>
+    <enum name="VideoDitherFlags" cname="GstVideoDitherFlags" type="flags" gtype="gst_video_dither_flags_get_type">
+      <member cname="GST_VIDEO_DITHER_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_DITHER_FLAG_INTERLACED" name="Interlaced" value="1" />
+      <member cname="GST_VIDEO_DITHER_FLAG_QUANTIZE" name="Quantize" value="2" />
+    </enum>
+    <enum name="VideoFlags" cname="GstVideoFlags" type="flags" gtype="gst_video_flags_get_type">
+      <member cname="GST_VIDEO_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_FLAG_VARIABLE_FPS" name="VariableFps" value="1" />
+      <member cname="GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA" name="PremultipliedAlpha" value="2" />
+    </enum>
+    <enum name="VideoFormatFlags" cname="GstVideoFormatFlags" type="flags" gtype="gst_video_format_flags_get_type">
+      <member cname="GST_VIDEO_FORMAT_FLAG_YUV" name="Yuv" value="1" />
+      <member cname="GST_VIDEO_FORMAT_FLAG_RGB" name="Rgb" value="2" />
+      <member cname="GST_VIDEO_FORMAT_FLAG_GRAY" name="Gray" value="4" />
+      <member cname="GST_VIDEO_FORMAT_FLAG_ALPHA" name="Alpha" value="8" />
+      <member cname="GST_VIDEO_FORMAT_FLAG_LE" name="Le" value="16" />
+      <member cname="GST_VIDEO_FORMAT_FLAG_PALETTE" name="Palette" value="32" />
+      <member cname="GST_VIDEO_FORMAT_FLAG_COMPLEX" name="Complex" value="64" />
+      <member cname="GST_VIDEO_FORMAT_FLAG_UNPACK" name="Unpack" value="128" />
+      <member cname="GST_VIDEO_FORMAT_FLAG_TILED" name="Tiled" value="256" />
+    </enum>
+    <enum name="VideoFrameFlags" cname="GstVideoFrameFlags" type="flags" gtype="gst_video_frame_flags_get_type">
+      <member cname="GST_VIDEO_FRAME_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_FRAME_FLAG_INTERLACED" name="Interlaced" value="1" />
+      <member cname="GST_VIDEO_FRAME_FLAG_TFF" name="Tff" value="2" />
+      <member cname="GST_VIDEO_FRAME_FLAG_RFF" name="Rff" value="4" />
+      <member cname="GST_VIDEO_FRAME_FLAG_ONEFIELD" name="Onefield" value="8" />
+      <member cname="GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW" name="MultipleView" value="16" />
+      <member cname="GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE" name="FirstInBundle" value="32" />
+    </enum>
+    <enum name="VideoFrameMapFlags" cname="GstVideoFrameMapFlags" type="flags" gtype="gst_video_frame_map_flags_get_type" version="1.6">
+      <member cname="GST_VIDEO_FRAME_MAP_FLAG_NO_REF" name="NoRef" value="65536" />
+      <member cname="GST_VIDEO_FRAME_MAP_FLAG_LAST" name="Last" value="16777216" />
+    </enum>
+    <enum name="VideoMultiviewFlags" cname="GstVideoMultiviewFlags" type="flags" gtype="gst_video_multiview_flags_get_type">
+      <member cname="GST_VIDEO_MULTIVIEW_FLAGS_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST" name="RightViewFirst" value="1" />
+      <member cname="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED" name="LeftFlipped" value="2" />
+      <member cname="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED" name="LeftFlopped" value="4" />
+      <member cname="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED" name="RightFlipped" value="8" />
+      <member cname="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED" name="RightFlopped" value="16" />
+      <member cname="GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT" name="HalfAspect" value="16384" />
+      <member cname="GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO" name="MixedMono" value="32768" />
+    </enum>
+    <enum name="VideoPackFlags" cname="GstVideoPackFlags" type="flags" gtype="gst_video_pack_flags_get_type">
+      <member cname="GST_VIDEO_PACK_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE" name="TruncateRange" value="1" />
+      <member cname="GST_VIDEO_PACK_FLAG_INTERLACED" name="Interlaced" value="2" />
+    </enum>
+    <enum name="VideoResamplerFlags" cname="GstVideoResamplerFlags" type="flags" gtype="gst_video_resampler_flags_get_type" version="1.6">
+      <member cname="GST_VIDEO_RESAMPLER_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS" name="HalfTaps" value="1" />
+    </enum>
+    <enum name="VideoScalerFlags" cname="GstVideoScalerFlags" type="flags" gtype="gst_video_scaler_flags_get_type">
+      <member cname="GST_VIDEO_SCALER_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_SCALER_FLAG_INTERLACED" name="Interlaced" value="1" />
+    </enum>
+    <enum name="VideoTimeCodeFlags" cname="GstVideoTimeCodeFlags" type="flags" version="1.10">
+      <member cname="GST_VIDEO_TIME_CODE_FLAGS_NONE" name="None" value="0" />
+      <member cname="GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME" name="DropFrame" value="1" />
+      <member cname="GST_VIDEO_TIME_CODE_FLAGS_INTERLACED" name="Interlaced" value="2" />
+    </enum>
+    <callback name="VideoAffineTransformationGetMatrix" cname="GstVideoAffineTransformationGetMatrix">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="meta" type="GstVideoAffineTransformationMeta*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="matrix" type="gfloat" />
+      </parameters>
+    </callback>
+    <callback name="VideoConvertSampleCallback" cname="GstVideoConvertSampleCallback">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="sample" type="GstSample*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="error" type="GError*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="VideoFormatPack" cname="GstVideoFormatPack">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="info" type="GstVideoFormatInfo*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="flags" type="GstVideoPackFlags" />
+        <parameter allow-none="1" name="src" type="gpointer" />
+        <parameter name="sstride" type="gint" />
+        <parameter allow-none="1" name="data" type="gpointer" />
+        <parameter name="stride" type="gint" />
+        <parameter name="chroma_site" type="GstVideoChromaSite" />
+        <parameter name="y" type="gint" />
+        <parameter name="width" type="gint" />
+      </parameters>
+    </callback>
+    <callback name="VideoFormatUnpack" cname="GstVideoFormatUnpack">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="info" type="GstVideoFormatInfo*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="flags" type="GstVideoPackFlags" />
+        <parameter allow-none="1" name="dest" type="gpointer" />
+        <parameter allow-none="1" name="data" type="gpointer" />
+        <parameter name="stride" type="gint" />
+        <parameter name="x" type="gint" />
+        <parameter name="y" type="gint" />
+        <parameter name="width" type="gint" />
+      </parameters>
+    </callback>
+    <callback name="VideoGLTextureUpload" cname="GstVideoGLTextureUpload">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="meta" type="GstVideoGLTextureUploadMeta*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="texture_id" type="guint" />
+      </parameters>
+    </callback>
+    <interface name="ColorBalance" cname="GstColorBalance" opaque="false" hidden="false">
+      <class_struct cname="GstColorBalanceInterface">
+        <field cname="iface" access="public" writeable="false" readable="true" is_callback="false" name="Iface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="list_channels" />
+        <method vm="set_value" />
+        <method vm="get_value" />
+        <method vm="get_balance_type" />
+        <method signal_vm="value_changed" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_color_balance_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="GetBalanceType" cname="get_balance_type">
+        <return-type type="GstColorBalanceType" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="GetValue" cname="get_value">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="channel" type="GstColorBalanceChannel*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ListChannels" cname="list_channels">
+        <return-type type="GList*" element_type="GstColorBalanceChannel*" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="SetValue" cname="set_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="channel" type="GstColorBalanceChannel*" />
+          <parameter name="value" type="gint" />
+        </parameters>
+      </virtual_method>
+      <method name="GetBalanceType" cname="gst_color_balance_get_balance_type">
+        <return-type type="GstColorBalanceType" />
+        <parameters />
+      </method>
+      <method name="GetValue" cname="gst_color_balance_get_value">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="channel" type="GstColorBalanceChannel*" />
+        </parameters>
+      </method>
+      <method name="ListChannels" cname="gst_color_balance_list_channels">
+        <return-type type="GList*" element_type="GstColorBalanceChannel*" />
+        <parameters />
+      </method>
+      <method name="SetValue" cname="gst_color_balance_set_value">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="channel" type="GstColorBalanceChannel*" />
+          <parameter name="value" type="gint" />
+        </parameters>
+      </method>
+      <method name="ValueChanged" cname="gst_color_balance_value_changed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="channel" type="GstColorBalanceChannel*" />
+          <parameter name="value" type="gint" />
+        </parameters>
+      </method>
+      <signal name="ValueChangedEvent" cname="value-changed" when="last" field_name="value_changed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="channel" type="GstColorBalanceChannel*" />
+          <parameter name="value" type="gint" />
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+    </interface>
+    <interface name="Navigation" cname="GstNavigation" opaque="false" hidden="false">
+      <class_struct cname="GstNavigationInterface">
+        <field cname="iface" access="public" writeable="false" readable="true" is_callback="false" name="Iface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="send_event" />
+      </class_struct>
+      <method name="GetType" cname="gst_navigation_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="EventGetType" cname="gst_navigation_event_get_type" shared="true">
+        <return-type type="GstNavigationEventType" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="EventParseCommand" cname="gst_navigation_event_parse_command" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="command" type="GstNavigationCommand" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="EventParseKeyEvent" cname="gst_navigation_event_parse_key_event" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="key" type="const-gchar*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="EventParseMouseButtonEvent" cname="gst_navigation_event_parse_mouse_button_event" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="button" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="x" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="y" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="EventParseMouseMoveEvent" cname="gst_navigation_event_parse_mouse_move_event" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="x" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="y" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="MessageGetType" cname="gst_navigation_message_get_type" shared="true">
+        <return-type type="GstNavigationMessageType" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MessageNewAnglesChanged" cname="gst_navigation_message_new_angles_changed" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="cur_angle" type="guint" />
+          <parameter name="n_angles" type="guint" />
+        </parameters>
+      </method>
+      <method name="MessageNewCommandsChanged" cname="gst_navigation_message_new_commands_changed" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="MessageNewEvent" cname="gst_navigation_message_new_event" shared="true" version="1.6">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MessageNewMouseOver" cname="gst_navigation_message_new_mouse_over" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="MessageParseAnglesChanged" cname="gst_navigation_message_parse_angles_changed" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="cur_angle" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="n_angles" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="MessageParseEvent" cname="gst_navigation_message_parse_event" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="event" type="GstEvent**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="MessageParseMouseOver" cname="gst_navigation_message_parse_mouse_over" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="active" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QueryGetType" cname="gst_navigation_query_get_type" shared="true">
+        <return-type type="GstNavigationQueryType" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="QueryNewAngles" cname="gst_navigation_query_new_angles" shared="true">
+        <return-type type="GstQuery*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="QueryNewCommands" cname="gst_navigation_query_new_commands" shared="true">
+        <return-type type="GstQuery*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="QueryParseAngles" cname="gst_navigation_query_parse_angles" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="cur_angle" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="n_angles" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QueryParseCommandsLength" cname="gst_navigation_query_parse_commands_length" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="n_cmds" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QueryParseCommandsNth" cname="gst_navigation_query_parse_commands_nth" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="nth" type="guint" />
+          <parameter allow-none="1" name="cmd" type="GstNavigationCommand" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QuerySetAngles" cname="gst_navigation_query_set_angles" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="cur_angle" type="guint" />
+          <parameter name="n_angles" type="guint" />
+        </parameters>
+      </method>
+      <method name="QuerySetCommandsv" cname="gst_navigation_query_set_commandsv" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="n_cmds" type="gint" array_index="2" />
+          <parameter name="cmds" type="GstNavigationCommand*" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <virtual_method name="SendEvent" cname="send_event">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="SendCommand" cname="gst_navigation_send_command">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="command" type="GstNavigationCommand" />
+        </parameters>
+      </method>
+      <method name="SendEvent" cname="gst_navigation_send_event">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendKeyEvent" cname="gst_navigation_send_key_event">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="event" type="const-gchar*" />
+          <parameter name="key" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SendMouseEvent" cname="gst_navigation_send_mouse_event">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="event" type="const-gchar*" />
+          <parameter name="button" type="gint" />
+          <parameter name="x" type="gdouble" />
+          <parameter name="y" type="gdouble" />
+        </parameters>
+      </method>
+    </interface>
+    <interface name="VideoDirection" cname="GstVideoDirection" opaque="false" hidden="false" version="1.10">
+      <class_struct cname="GstVideoDirectionInterface" version="1.10">
+        <field cname="iface" access="public" writeable="false" readable="true" is_callback="false" name="Iface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+      </class_struct>
+      <method name="GetType" cname="gst_video_direction_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <property name="VideoDirection" cname="video-direction" type="GstVideoOrientationMethod" readable="true" writeable="true" construct="true" construct-only="false" />
+    </interface>
+    <interface name="VideoOrientation" cname="GstVideoOrientation" opaque="false" hidden="false">
+      <class_struct cname="GstVideoOrientationInterface">
+        <field cname="iface" access="public" writeable="false" readable="true" is_callback="false" name="Iface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_hflip" />
+        <method vm="get_vflip" />
+        <method vm="get_hcenter" />
+        <method vm="get_vcenter" />
+        <method vm="set_hflip" />
+        <method vm="set_vflip" />
+        <method vm="set_hcenter" />
+        <method vm="set_vcenter" />
+      </class_struct>
+      <method name="GetType" cname="gst_video_orientation_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="GetHcenter" cname="get_hcenter">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="center" type="gint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetHflip" cname="get_hflip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flip" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetVcenter" cname="get_vcenter">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="center" type="gint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetVflip" cname="get_vflip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flip" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetHcenter" cname="set_hcenter">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="center" type="gint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetHflip" cname="set_hflip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flip" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetVcenter" cname="set_vcenter">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="center" type="gint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetVflip" cname="set_vflip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flip" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <method name="GetHcenter" cname="gst_video_orientation_get_hcenter">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="center" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetHflip" cname="gst_video_orientation_get_hflip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flip" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="GetVcenter" cname="gst_video_orientation_get_vcenter">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="center" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetVflip" cname="gst_video_orientation_get_vflip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flip" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetHcenter" cname="gst_video_orientation_set_hcenter">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="center" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetHflip" cname="gst_video_orientation_set_hflip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flip" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetVcenter" cname="gst_video_orientation_set_vcenter">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="center" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetVflip" cname="gst_video_orientation_set_vflip">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="flip" type="gboolean" />
+        </parameters>
+      </method>
+    </interface>
+    <interface name="VideoOverlay" cname="GstVideoOverlay" opaque="false" hidden="false">
+      <class_struct cname="GstVideoOverlayInterface">
+        <field cname="iface" access="public" writeable="false" readable="true" is_callback="false" name="Iface" type="GTypeInterface">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="expose" />
+        <method vm="handle_events" />
+        <method vm="set_render_rectangle" />
+        <method vm="set_window_handle" />
+      </class_struct>
+      <method name="GetType" cname="gst_video_overlay_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Expose" cname="expose">
+        <return-type type="void" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="HandleEvents" cname="handle_events">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="handle_events" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetRenderRectangle" cname="set_render_rectangle">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="x" type="gint" />
+          <parameter name="y" type="gint" />
+          <parameter name="width" type="gint" />
+          <parameter name="height" type="gint" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetWindowHandle" cname="set_window_handle">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="handle" type="gpointer" />
+        </parameters>
+      </virtual_method>
+      <method name="Expose" cname="gst_video_overlay_expose">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GotWindowHandle" cname="gst_video_overlay_got_window_handle">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="handle" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="HandleEvents" cname="gst_video_overlay_handle_events">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="handle_events" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="PrepareWindowHandle" cname="gst_video_overlay_prepare_window_handle">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetRenderRectangle" cname="gst_video_overlay_set_render_rectangle">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="x" type="gint" />
+          <parameter name="y" type="gint" />
+          <parameter name="width" type="gint" />
+          <parameter name="height" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetWindowHandle" cname="gst_video_overlay_set_window_handle">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="handle" type="gpointer" />
+        </parameters>
+      </method>
+    </interface>
+    <object name="ColorBalanceChannel" cname="GstColorBalanceChannel" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstColorBalanceChannelClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="value_changed" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_color_balance_channel_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="label" access="public" writeable="false" readable="true" is_callback="false" name="Label" type="gchar*" />
+      <field cname="min_value" access="public" writeable="false" readable="true" is_callback="false" name="MinValue" type="gint" />
+      <field cname="max_value" access="public" writeable="false" readable="true" is_callback="false" name="MaxValue" type="gint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <signal name="ValueChanged" cname="value-changed" when="last" field_name="value_changed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="value" type="gint" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="VideoBufferPool" cname="GstVideoBufferPool" opaque="false" hidden="false" parent="GstBufferPool">
+      <class_struct cname="GstVideoBufferPoolClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBufferPoolClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+      </class_struct>
+      <method name="GetType" cname="gst_video_buffer_pool_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_video_buffer_pool_new" disable_void_ctor="" />
+      <field cname="bufferpool" access="public" writeable="false" readable="true" is_callback="false" name="Bufferpool" type="GstBufferPool*" />
+      <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GstVideoBufferPoolPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </object>
+    <object name="VideoDecoder" cname="GstVideoDecoder" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <class_struct cname="GstVideoDecoderClass">
+        <field cname="element_class" access="private" writeable="false" readable="false" is_callback="false" name="ElementClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="open" />
+        <method vm="close" />
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="parse" />
+        <method vm="set_format" />
+        <method vm="reset" />
+        <method vm="finish" />
+        <method vm="handle_frame" />
+        <method vm="sink_event" />
+        <method vm="src_event" />
+        <method vm="negotiate" />
+        <method vm="decide_allocation" />
+        <method vm="propose_allocation" />
+        <method vm="flush" />
+        <method vm="sink_query" />
+        <method vm="src_query" />
+        <method vm="getcaps" />
+        <method vm="drain" />
+        <method vm="transform_meta" />
+        <field cname="padding" access="private" writeable="false" readable="false" is_callback="false" name="Padding" type="gpointer" array="true" array_len="14" />
+      </class_struct>
+      <method name="GetType" cname="gst_video_decoder_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Close" cname="close">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="DecideAllocation" cname="decide_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Drain" cname="drain">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Finish" cname="finish">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Flush" cname="flush">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Getcaps" cname="getcaps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleFrame" cname="handle_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Negotiate" cname="negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Open" cname="open">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Parse" cname="parse">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="adapter" type="GstAdapter*" />
+          <parameter name="at_eos" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProposeAllocation" cname="propose_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Reset" cname="reset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="hard" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetFormat" cname="set_format">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="state" type="GstVideoCodecState*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkEvent" cname="sink_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkQuery" cname="sink_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcEvent" cname="src_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcQuery" cname="src_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="TransformMeta" cname="transform_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="meta" type="GstMeta*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AddToFrame" cname="gst_video_decoder_add_to_frame">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="n_bytes" type="gint" />
+        </parameters>
+      </method>
+      <method name="AllocateOutputBuffer" cname="gst_video_decoder_allocate_output_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="AllocateOutputFrame" cname="gst_video_decoder_allocate_output_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AllocateOutputFrameWithParams" cname="gst_video_decoder_allocate_output_frame_with_params" version="1.12">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="params" type="GstBufferPoolAcquireParams*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="DropFrame" cname="gst_video_decoder_drop_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="FinishFrame" cname="gst_video_decoder_finish_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAllocator" cname="gst_video_decoder_get_allocator">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBufferPool" cname="gst_video_decoder_get_buffer_pool">
+        <return-type type="GstBufferPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetEstimateRate" cname="gst_video_decoder_get_estimate_rate">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetFrame" cname="gst_video_decoder_get_frame">
+        <return-type type="GstVideoCodecFrame*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="frame_number" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetFrames" cname="gst_video_decoder_get_frames">
+        <return-type type="GList*" element_type="GList*" elements_owned="true" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_video_decoder_get_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="min_latency" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max_latency" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetMaxDecodeTime" cname="gst_video_decoder_get_max_decode_time">
+        <return-type type="gint64" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetMaxErrors" cname="gst_video_decoder_get_max_errors">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetNeedsFormat" cname="gst_video_decoder_get_needs_format" version="1.4">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetOldestFrame" cname="gst_video_decoder_get_oldest_frame">
+        <return-type type="GstVideoCodecFrame*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetOutputState" cname="gst_video_decoder_get_output_state">
+        <return-type type="GstVideoCodecState*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetPacketized" cname="gst_video_decoder_get_packetized">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetPendingFrameSize" cname="gst_video_decoder_get_pending_frame_size" version="1.4">
+        <return-type type="gsize" />
+        <parameters />
+      </method>
+      <method name="GetQosProportion" cname="gst_video_decoder_get_qos_proportion" version="1.0.3">
+        <return-type type="gdouble" />
+        <parameters />
+      </method>
+      <method name="HaveFrame" cname="gst_video_decoder_have_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </method>
+      <method name="MergeTags" cname="gst_video_decoder_merge_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="Negotiate" cname="gst_video_decoder_negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="ProxyGetcaps" cname="gst_video_decoder_proxy_getcaps" version="1.6">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ReleaseFrame" cname="gst_video_decoder_release_frame" version="1.2.2">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetEstimateRate" cname="gst_video_decoder_set_estimate_rate">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_video_decoder_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min_latency" type="guint64" />
+          <parameter name="max_latency" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetMaxErrors" cname="gst_video_decoder_set_max_errors">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="num" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetNeedsFormat" cname="gst_video_decoder_set_needs_format" version="1.4">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetOutputState" cname="gst_video_decoder_set_output_state">
+        <return-type type="GstVideoCodecState*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="fmt" type="GstVideoFormat" />
+          <parameter name="width" type="guint" />
+          <parameter name="height" type="guint" />
+          <parameter allow-none="1" name="reference" type="GstVideoCodecState*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetPacketized" cname="gst_video_decoder_set_packetized">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="packetized" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetUseDefaultPadAcceptcaps" cname="gst_video_decoder_set_use_default_pad_acceptcaps" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="use" type="gboolean" />
+        </parameters>
+      </method>
+      <field cname="element" access="private" writeable="false" readable="false" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="sinkpad" access="private" writeable="false" readable="false" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="srcpad" access="private" writeable="false" readable="false" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="stream_lock" access="private" writeable="false" readable="false" is_callback="false" name="StreamLock" type="GRecMutex">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="input_segment" access="private" writeable="false" readable="false" is_callback="false" name="InputSegment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="output_segment" access="private" writeable="false" readable="false" is_callback="false" name="OutputSegment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoDecoderPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="padding" access="private" writeable="false" readable="false" is_callback="false" name="Padding" type="gpointer" array="true" array_len="20" />
+    </object>
+    <object name="VideoEncoder" cname="GstVideoEncoder" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstElement">
+      <implements>
+        <interface cname="GstPreset" />
+      </implements>
+      <class_struct cname="GstVideoEncoderClass">
+        <field cname="element_class" access="private" writeable="false" readable="false" is_callback="false" name="ElementClass" type="GstElementClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="open" />
+        <method vm="close" />
+        <method vm="start" />
+        <method vm="stop" />
+        <method vm="set_format" />
+        <method vm="handle_frame" />
+        <method vm="reset" />
+        <method vm="finish" />
+        <method vm="pre_push" />
+        <method vm="getcaps" />
+        <method vm="sink_event" />
+        <method vm="src_event" />
+        <method vm="negotiate" />
+        <method vm="decide_allocation" />
+        <method vm="propose_allocation" />
+        <method vm="flush" />
+        <method vm="sink_query" />
+        <method vm="src_query" />
+        <method vm="transform_meta" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="16" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_video_encoder_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="Close" cname="close">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="DecideAllocation" cname="decide_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Finish" cname="finish">
+        <return-type type="GstFlowReturn" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Flush" cname="flush">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Getcaps" cname="getcaps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleFrame" cname="handle_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Negotiate" cname="negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Open" cname="open">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="PrePush" cname="pre_push">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ProposeAllocation" cname="propose_allocation">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Reset" cname="reset">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="hard" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetFormat" cname="set_format">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="state" type="GstVideoCodecState*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkEvent" cname="sink_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SinkQuery" cname="sink_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcEvent" cname="src_event">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SrcQuery" cname="src_query">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Start" cname="start">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Stop" cname="stop">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="TransformMeta" cname="transform_meta">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="meta" type="GstMeta*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AllocateOutputBuffer" cname="gst_video_encoder_allocate_output_buffer">
+        <return-type type="GstBuffer*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="AllocateOutputFrame" cname="gst_video_encoder_allocate_output_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="size" type="gsize" />
+        </parameters>
+      </method>
+      <method name="FinishFrame" cname="gst_video_encoder_finish_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAllocator" cname="gst_video_encoder_get_allocator">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetFrame" cname="gst_video_encoder_get_frame">
+        <return-type type="GstVideoCodecFrame*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="frame_number" type="gint" />
+        </parameters>
+      </method>
+      <method name="GetFrames" cname="gst_video_encoder_get_frames">
+        <return-type type="GList*" element_type="GList*" elements_owned="true" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_video_encoder_get_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="min_latency" type="guint64" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="max_latency" type="guint64" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetMaxEncodeTime" cname="gst_video_encoder_get_max_encode_time" version="1.14">
+        <return-type type="gint64" />
+        <parameters>
+          <parameter name="frame" type="GstVideoCodecFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetOldestFrame" cname="gst_video_encoder_get_oldest_frame">
+        <return-type type="GstVideoCodecFrame*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetOutputState" cname="gst_video_encoder_get_output_state">
+        <return-type type="GstVideoCodecState*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IsQosEnabled" cname="gst_video_encoder_is_qos_enabled" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="MergeTags" cname="gst_video_encoder_merge_tags">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="tags" type="GstTagList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="mode" type="GstTagMergeMode" />
+        </parameters>
+      </method>
+      <method name="Negotiate" cname="gst_video_encoder_negotiate">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="ProxyGetcaps" cname="gst_video_encoder_proxy_getcaps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter allow-none="1" name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="filter" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetHeaders" cname="gst_video_encoder_set_headers">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="headers" type="GList*" element_type="GList*" elements_owned="true" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_video_encoder_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min_latency" type="guint64" />
+          <parameter name="max_latency" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetMinPts" cname="gst_video_encoder_set_min_pts">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="min_pts" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetOutputState" cname="gst_video_encoder_set_output_state">
+        <return-type type="GstVideoCodecState*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="caps" type="GstCaps*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="reference" type="GstVideoCodecState*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetQosEnabled" cname="gst_video_encoder_set_qos_enabled" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <property name="Qos" cname="qos" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="element" access="private" writeable="false" readable="false" is_callback="false" name="Element" type="GstElement*" />
+      <field cname="sinkpad" access="private" writeable="false" readable="false" is_callback="false" name="Sinkpad" type="GstPad*" />
+      <field cname="srcpad" access="private" writeable="false" readable="false" is_callback="false" name="Srcpad" type="GstPad*" />
+      <field cname="stream_lock" access="private" writeable="false" readable="false" is_callback="false" name="StreamLock" type="GRecMutex">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="input_segment" access="private" writeable="false" readable="false" is_callback="false" name="InputSegment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="output_segment" access="private" writeable="false" readable="false" is_callback="false" name="OutputSegment" type="GstSegment">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoEncoderPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="padding" access="private" writeable="false" readable="false" is_callback="false" name="Padding" type="gpointer" array="true" array_len="20" />
+    </object>
+    <object name="VideoFilter" cname="GstVideoFilter" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstBaseTransform">
+      <class_struct cname="GstVideoFilterClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBaseTransformClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="set_info" />
+        <method vm="transform_frame" />
+        <method vm="transform_frame_ip" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_video_filter_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <virtual_method name="SetInfo" cname="set_info">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="incaps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="in_info" type="GstVideoInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="outcaps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="out_info" type="GstVideoInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="TransformFrame" cname="transform_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="inframe" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="outframe" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="TransformFrameIp" cname="transform_frame_ip">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="frame" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstBaseTransform*" />
+      <field cname="negotiated" access="public" writeable="false" readable="true" is_callback="false" name="Negotiated" type="gboolean" />
+      <field cname="in_info" access="public" writeable="false" readable="true" is_callback="false" name="InInfo" type="GstVideoInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="out_info" access="public" writeable="false" readable="true" is_callback="false" name="OutInfo" type="GstVideoInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <struct name="VideoMultiviewFlagsSet" cname="GstVideoMultiviewFlagsSet" opaque="true" hidden="false" parent="GstFlagSet">
+      <method name="GetType" cname="gst_video_multiview_flagset_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+    </struct>
+    <object name="VideoSink" cname="GstVideoSink" opaque="false" hidden="false" parent="GstBaseSink">
+      <class_struct cname="GstVideoSinkClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBaseSinkClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="show_frame" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_video_sink_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="CenterRect" cname="gst_video_sink_center_rect" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="src" type="GstVideoRectangle">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="dst" type="GstVideoRectangle">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="_result" type="GstVideoRectangle*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="scaling" type="gboolean" />
+        </parameters>
+      </method>
+      <virtual_method name="ShowFrame" cname="show_frame">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <property name="ShowPrerollFrame" cname="show-preroll-frame" type="gboolean" readable="true" writeable="true" construct="true" construct-only="false" />
+      <field cname="element" access="public" writeable="false" readable="true" is_callback="false" name="Element" type="GstBaseSink*" />
+      <field cname="width" access="public" writeable="false" readable="true" is_callback="false" name="Width" type="gint" />
+      <field cname="height" access="public" writeable="false" readable="true" is_callback="false" name="Height" type="gint" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoSinkPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </object>
+    <struct name="VideoAffineTransformationMeta" cname="GstVideoAffineTransformationMeta" opaque="false" hidden="false" version="1.8">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="matrix" access="public" writeable="true" readable="true" is_callback="false" name="Matrix" type="gfloat" array="true" array_len="16" />
+      <method name="ApplyMatrix" cname="gst_video_affine_transformation_meta_apply_matrix" version="1.8">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="matrix" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="GetInfo" cname="gst_video_affine_transformation_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="VideoAlignment" cname="GstVideoAlignment" opaque="false" hidden="false">
+      <field cname="padding_top" access="public" writeable="true" readable="true" is_callback="false" name="PaddingTop" type="guint" />
+      <field cname="padding_bottom" access="public" writeable="true" readable="true" is_callback="false" name="PaddingBottom" type="guint" />
+      <field cname="padding_left" access="public" writeable="true" readable="true" is_callback="false" name="PaddingLeft" type="guint" />
+      <field cname="padding_right" access="public" writeable="true" readable="true" is_callback="false" name="PaddingRight" type="guint" />
+      <field cname="stride_align" access="public" writeable="true" readable="true" is_callback="false" name="StrideAlign" type="guint" array="true" array_len="4" />
+      <method name="Reset" cname="gst_video_alignment_reset">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </struct>
+    <struct name="VideoBufferPoolPrivate" cname="GstVideoBufferPoolPrivate" opaque="true" hidden="true" />
+    <struct name="VideoChromaResample" cname="GstVideoChromaResample" opaque="true" hidden="false">
+      <method name="" cname="gst_video_chroma_resample">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="lines" type="gpointer" />
+          <parameter name="width" type="gint" />
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_video_chroma_resample_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetInfo" cname="gst_video_chroma_resample_get_info">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="n_lines" type="guint" />
+          <parameter name="offset" type="gint" />
+        </parameters>
+      </method>
+    </struct>
+    <boxed name="VideoCodecFrame" cname="GstVideoCodecFrame" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_video_codec_frame_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="ref_count" access="private" writeable="false" readable="false" is_callback="false" name="RefCount" type="gint" />
+      <field cname="flags" access="private" writeable="false" readable="false" is_callback="false" name="Flags" type="guint32" />
+      <field cname="system_frame_number" access="public" writeable="true" readable="true" is_callback="false" name="SystemFrameNumber" type="guint32" />
+      <field cname="decode_frame_number" access="public" writeable="true" readable="true" is_callback="false" name="DecodeFrameNumber" type="guint32" />
+      <field cname="presentation_frame_number" access="public" writeable="true" readable="true" is_callback="false" name="PresentationFrameNumber" type="guint32" />
+      <field cname="dts" access="public" writeable="true" readable="true" is_callback="false" name="Dts" type="guint64" />
+      <field cname="pts" access="public" writeable="true" readable="true" is_callback="false" name="Pts" type="guint64" />
+      <field cname="duration" access="public" writeable="true" readable="true" is_callback="false" name="Duration" type="guint64" />
+      <field cname="distance_from_sync" access="public" writeable="true" readable="true" is_callback="false" name="DistanceFromSync" type="gint" />
+      <field cname="input_buffer" access="public" writeable="true" readable="true" is_callback="false" name="InputBuffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="output_buffer" access="public" writeable="true" readable="true" is_callback="false" name="OutputBuffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="deadline" access="public" writeable="true" readable="true" is_callback="false" name="Deadline" type="guint64" />
+      <field cname="events" access="private" writeable="false" readable="false" is_callback="false" name="Events" type="GList*" element_type="gpointer" />
+      <field cname="user_data" access="private" writeable="false" readable="false" is_callback="false" name="UserData" type="gpointer" />
+      <field cname="user_data_destroy_notify" access="private" writeable="false" readable="false" is_callback="false" name="UserDataDestroyNotify" type="GDestroyNotify" />
+      <union name="abidata" cname="abidata" hidden="true">
+        <struct name="ABI" cname="ABI" opaque="false" hidden="false">
+          <field cname="ts" access="public" writeable="true" readable="true" is_callback="false" name="Ts" type="guint64" />
+          <field cname="ts2" access="public" writeable="true" readable="true" is_callback="false" name="Ts2" type="guint64" />
+        </struct>
+        <field cname="padding" access="public" writeable="true" readable="true" is_callback="false" name="Padding" type="gpointer" array="true" array_len="20" />
+      </union>
+      <method name="GetUserData" cname="gst_video_codec_frame_get_user_data">
+        <return-type type="gpointer" />
+        <parameters />
+      </method>
+      <method name="Ref" cname="gst_video_codec_frame_ref">
+        <return-type type="GstVideoCodecFrame*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="SetUserData" cname="gst_video_codec_frame_set_user_data">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter closure="0" scope="async" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="Unref" cname="gst_video_codec_frame_unref">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <boxed name="VideoCodecState" cname="GstVideoCodecState" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_video_codec_state_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="ref_count" access="private" writeable="false" readable="false" is_callback="false" name="RefCount" type="gint" />
+      <field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstVideoInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="caps" access="public" writeable="true" readable="true" is_callback="false" name="Caps" type="GstCaps*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="codec_data" access="public" writeable="true" readable="true" is_callback="false" name="CodecData" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="allocation_caps" access="public" writeable="true" readable="true" is_callback="false" name="AllocationCaps" type="GstCaps*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="padding" access="private" writeable="false" readable="false" is_callback="false" name="Padding" type="gpointer" array="true" array_len="19" />
+      <method name="Ref" cname="gst_video_codec_state_ref">
+        <return-type type="GstVideoCodecState*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Unref" cname="gst_video_codec_state_unref">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="VideoColorPrimariesInfo" cname="GstVideoColorPrimariesInfo" opaque="false" hidden="false" version="1.6">
+      <field cname="primaries" access="public" writeable="true" readable="true" is_callback="false" name="Primaries" type="GstVideoColorPrimaries" />
+      <field cname="Wx" access="public" writeable="true" readable="true" is_callback="false" name="Wx" type="gdouble" />
+      <field cname="Wy" access="public" writeable="true" readable="true" is_callback="false" name="Wy" type="gdouble" />
+      <field cname="Rx" access="public" writeable="true" readable="true" is_callback="false" name="Rx" type="gdouble" />
+      <field cname="Ry" access="public" writeable="true" readable="true" is_callback="false" name="Ry" type="gdouble" />
+      <field cname="Gx" access="public" writeable="true" readable="true" is_callback="false" name="Gx" type="gdouble" />
+      <field cname="Gy" access="public" writeable="true" readable="true" is_callback="false" name="Gy" type="gdouble" />
+      <field cname="Bx" access="public" writeable="true" readable="true" is_callback="false" name="Bx" type="gdouble" />
+      <field cname="By" access="public" writeable="true" readable="true" is_callback="false" name="By" type="gdouble" />
+    </struct>
+    <struct name="VideoColorimetry" cname="GstVideoColorimetry" opaque="false" hidden="false">
+      <field cname="range" access="public" writeable="true" readable="true" is_callback="false" name="Range" type="GstVideoColorRange" />
+      <field cname="matrix" access="public" writeable="true" readable="true" is_callback="false" name="Matrix" type="GstVideoColorMatrix" />
+      <field cname="transfer" access="public" writeable="true" readable="true" is_callback="false" name="Transfer" type="GstVideoTransferFunction" />
+      <field cname="primaries" access="public" writeable="true" readable="true" is_callback="false" name="Primaries" type="GstVideoColorPrimaries" />
+      <method name="FromString" cname="gst_video_colorimetry_from_string">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="color" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="IsEqual" cname="gst_video_colorimetry_is_equal" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="other" type="GstVideoColorimetry*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Matches" cname="gst_video_colorimetry_matches">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="color" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="ToString" cname="gst_video_colorimetry_to_string">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+    </struct>
+    <struct name="VideoConverter" cname="GstVideoConverter" opaque="true" hidden="false">
+      <method name="Frame" cname="gst_video_converter_frame" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="src" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="dest" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_video_converter_free" version="1.6">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetConfig" cname="gst_video_converter_get_config">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="SetConfig" cname="gst_video_converter_set_config" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="config" type="GstStructure*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="VideoCropMeta" cname="GstVideoCropMeta" opaque="false" hidden="false">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="x" access="public" writeable="true" readable="true" is_callback="false" name="X" type="guint" />
+      <field cname="y" access="public" writeable="true" readable="true" is_callback="false" name="Y" type="guint" />
+      <field cname="width" access="public" writeable="true" readable="true" is_callback="false" name="Width" type="guint" />
+      <field cname="height" access="public" writeable="true" readable="true" is_callback="false" name="Height" type="guint" />
+      <method name="GetInfo" cname="gst_video_crop_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="VideoDecoderPrivate" cname="GstVideoDecoderPrivate" opaque="true" hidden="true" />
+    <struct name="VideoDither" cname="GstVideoDither" opaque="true" hidden="false">
+      <method name="Free" cname="gst_video_dither_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Line" cname="gst_video_dither_line">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="line" type="gpointer" />
+          <parameter name="x" type="guint" />
+          <parameter name="y" type="guint" />
+          <parameter name="width" type="guint" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="VideoEncoderPrivate" cname="GstVideoEncoderPrivate" opaque="true" hidden="true" />
+    <struct name="VideoFormatInfo" cname="GstVideoFormatInfo" opaque="false" hidden="false">
+      <field cname="format" access="public" writeable="true" readable="true" is_callback="false" name="Format" type="GstVideoFormat" />
+      <field cname="name" access="public" writeable="true" readable="true" is_callback="false" name="Name" type="gchar*" />
+      <field cname="description" access="public" writeable="true" readable="true" is_callback="false" name="Description" type="gchar*" />
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstVideoFormatFlags" />
+      <field cname="bits" access="public" writeable="true" readable="true" is_callback="false" name="Bits" type="guint" />
+      <field cname="n_components" access="public" writeable="true" readable="true" is_callback="false" name="NComponents" type="guint" />
+      <field cname="shift" access="public" writeable="true" readable="true" is_callback="false" name="Shift" type="guint" array="true" array_len="4" />
+      <field cname="depth" access="public" writeable="true" readable="true" is_callback="false" name="Depth" type="guint" array="true" array_len="4" />
+      <field cname="pixel_stride" access="public" writeable="true" readable="true" is_callback="false" name="PixelStride" type="gint" array="true" array_len="4" />
+      <field cname="n_planes" access="public" writeable="true" readable="true" is_callback="false" name="NPlanes" type="guint" />
+      <field cname="plane" access="public" writeable="true" readable="true" is_callback="false" name="Plane" type="guint" array="true" array_len="4" />
+      <field cname="poffset" access="public" writeable="true" readable="true" is_callback="false" name="Poffset" type="guint" array="true" array_len="4" />
+      <field cname="w_sub" access="public" writeable="true" readable="true" is_callback="false" name="WSub" type="guint" array="true" array_len="4" />
+      <field cname="h_sub" access="public" writeable="true" readable="true" is_callback="false" name="HSub" type="guint" array="true" array_len="4" />
+      <field cname="unpack_format" access="public" writeable="true" readable="true" is_callback="false" name="UnpackFormat" type="GstVideoFormat" />
+      <field cname="unpack_func" access="public" writeable="true" readable="true" is_callback="false" name="UnpackFunc" type="GstVideoFormatUnpack" />
+      <field cname="pack_lines" access="public" writeable="true" readable="true" is_callback="false" name="PackLines" type="gint" />
+      <field cname="pack_func" access="public" writeable="true" readable="true" is_callback="false" name="PackFunc" type="GstVideoFormatPack" />
+      <field cname="tile_mode" access="public" writeable="true" readable="true" is_callback="false" name="TileMode" type="GstVideoTileMode" />
+      <field cname="tile_ws" access="public" writeable="true" readable="true" is_callback="false" name="TileWs" type="guint" />
+      <field cname="tile_hs" access="public" writeable="true" readable="true" is_callback="false" name="TileHs" type="guint" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+    </struct>
+    <struct name="VideoFrame" cname="GstVideoFrame" opaque="false" hidden="false">
+      <field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstVideoInfo">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstVideoFrameFlags" />
+      <field cname="buffer" access="public" writeable="true" readable="true" is_callback="false" name="Buffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="gpointer" />
+      <field cname="id" access="public" writeable="true" readable="true" is_callback="false" name="Id" type="gint" />
+      <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="gpointer" array="true" array_len="4" />
+      <field cname="map" access="public" writeable="true" readable="true" is_callback="false" name="MapField" type="GstMapInfo" array="true" array_len="4" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="Copy" cname="gst_video_frame_copy">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CopyPlane" cname="gst_video_frame_copy_plane">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="plane" type="guint" />
+        </parameters>
+      </method>
+      <method name="Map" cname="gst_video_frame_map">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="info" type="GstVideoInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstMapFlags" />
+        </parameters>
+      </method>
+      <method name="MapId" cname="gst_video_frame_map_id">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="info" type="GstVideoInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="id" type="gint" />
+          <parameter name="flags" type="GstMapFlags" />
+        </parameters>
+      </method>
+      <method name="Unmap" cname="gst_video_frame_unmap">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </struct>
+    <struct name="VideoGLTextureUploadMeta" cname="GstVideoGLTextureUploadMeta" opaque="false" hidden="false" nohash="true" noequals="true">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="texture_orientation" access="public" writeable="true" readable="true" is_callback="false" name="TextureOrientation" type="GstVideoGLTextureOrientation" />
+      <field cname="n_textures" access="public" writeable="true" readable="true" is_callback="false" name="NTextures" type="guint" />
+      <field cname="texture_type" access="public" writeable="true" readable="true" is_callback="false" name="TextureType" type="GstVideoGLTextureType" array="true" array_len="4" />
+      <field cname="buffer" access="private" writeable="false" readable="false" is_callback="false" name="Buffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="upload" access="private" writeable="false" readable="false" is_callback="false" name="UploadFunc" type="GstVideoGLTextureUpload" />
+      <field cname="user_data" access="private" writeable="false" readable="false" is_callback="false" name="UserData" type="gpointer" />
+      <field cname="user_data_copy" access="private" writeable="false" readable="false" is_callback="false" name="UserDataCopy" type="GBoxedCopyFunc" hidden="true" />
+      <field cname="user_data_free" access="private" writeable="false" readable="false" is_callback="false" name="UserDataFree" type="GBoxedFreeFunc" hidden="true" />
+      <method name="Upload" cname="gst_video_gl_texture_upload_meta_upload">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="texture_id" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetInfo" cname="gst_video_gl_texture_upload_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <boxed name="VideoInfo" cname="GstVideoInfo" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_video_info_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="finfo" access="public" writeable="true" readable="true" is_callback="false" name="Finfo" type="GstVideoFormatInfo*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="interlace_mode" access="public" writeable="true" readable="true" is_callback="false" name="InterlaceMode" type="GstVideoInterlaceMode" />
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstVideoFlags" />
+      <field cname="width" access="public" writeable="true" readable="true" is_callback="false" name="Width" type="gint" />
+      <field cname="height" access="public" writeable="true" readable="true" is_callback="false" name="Height" type="gint" />
+      <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" />
+      <field cname="views" access="public" writeable="true" readable="true" is_callback="false" name="Views" type="gint" />
+      <field cname="chroma_site" access="public" writeable="true" readable="true" is_callback="false" name="ChromaSite" type="GstVideoChromaSite" />
+      <field cname="colorimetry" access="public" writeable="true" readable="true" is_callback="false" name="Colorimetry" type="GstVideoColorimetry">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="par_n" access="public" writeable="true" readable="true" is_callback="false" name="ParN" type="gint" />
+      <field cname="par_d" access="public" writeable="true" readable="true" is_callback="false" name="ParD" type="gint" />
+      <field cname="fps_n" access="public" writeable="true" readable="true" is_callback="false" name="FpsN" type="gint" />
+      <field cname="fps_d" access="public" writeable="true" readable="true" is_callback="false" name="FpsD" type="gint" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="gsize" array="true" array_len="4" />
+      <field cname="stride" access="public" writeable="true" readable="true" is_callback="false" name="Stride" type="gint" array="true" array_len="4" />
+      <union name="ABI" cname="ABI">
+        <struct name="abi" cname="abi" opaque="false" hidden="false">
+          <field cname="multiview_mode" access="public" writeable="true" readable="true" is_callback="false" name="MultiviewMode" type="GstVideoMultiviewMode" />
+          <field cname="multiview_flags" access="public" writeable="true" readable="true" is_callback="false" name="MultiviewFlags" type="GstVideoMultiviewFlags" />
+          <field cname="field_order" access="public" writeable="true" readable="true" is_callback="false" name="FieldOrder" type="GstVideoFieldOrder" />
+        </struct>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      </union>
+      <constructor cname="gst_video_info_new" disable_void_ctor="" version="1.6" />
+      <method name="Align" cname="gst_video_info_align">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="align" type="GstVideoAlignment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Convert" cname="gst_video_info_convert">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="src_format" type="GstFormat" />
+          <parameter name="src_value" type="gint64" />
+          <parameter name="dest_format" type="GstFormat" />
+          <parameter name="dest_value" type="gint64" />
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_video_info_copy" version="1.6">
+        <return-type type="GstVideoInfo*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_video_info_free" version="1.6">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="FromCaps" cname="gst_video_info_from_caps">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Init" cname="gst_video_info_init">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="IsEqual" cname="gst_video_info_is_equal">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="other" type="GstVideoInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetFormat" cname="gst_video_info_set_format">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="format" type="GstVideoFormat" />
+          <parameter name="width" type="guint" />
+          <parameter name="height" type="guint" />
+        </parameters>
+      </method>
+      <method name="ToCaps" cname="gst_video_info_to_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="VideoMeta" cname="GstVideoMeta" opaque="false" hidden="false">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="buffer" access="public" writeable="true" readable="true" is_callback="false" name="Buffer" type="GstBuffer*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstVideoFrameFlags" />
+      <field cname="format" access="public" writeable="true" readable="true" is_callback="false" name="Format" type="GstVideoFormat" />
+      <field cname="id" access="public" writeable="true" readable="true" is_callback="false" name="Id" type="gint" />
+      <field cname="width" access="public" writeable="true" readable="true" is_callback="false" name="Width" type="guint" />
+      <field cname="height" access="public" writeable="true" readable="true" is_callback="false" name="Height" type="guint" />
+      <field cname="n_planes" access="public" writeable="true" readable="true" is_callback="false" name="NPlanes" type="guint" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="gsize" array="true" array_len="4" />
+      <field cname="stride" access="public" writeable="true" readable="true" is_callback="false" name="Stride" type="gint" array="true" array_len="4" />
+      <field cname="map" access="public" writeable="false" readable="true" is_callback="true" name="MapField" type="GstVideoMapFieldFunc" />
+      <field cname="unmap" access="public" writeable="false" readable="true" is_callback="true" name="UnmapField" type="GstVideoUnmapFieldFunc" />
+      <method name="Map" cname="gst_video_meta_map">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="plane" type="guint" />
+          <parameter name="info" type="GstMapInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="data" type="gpointer" />
+          <parameter name="stride" type="gint" />
+          <parameter name="flags" type="GstMapFlags" />
+        </parameters>
+      </method>
+      <method name="Unmap" cname="gst_video_meta_unmap">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="plane" type="guint" />
+          <parameter name="info" type="GstMapInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetInfo" cname="gst_video_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="VideoMetaTransform" cname="GstVideoMetaTransform" opaque="false" hidden="false">
+      <field cname="in_info" access="public" writeable="true" readable="true" is_callback="false" name="InInfo" type="GstVideoInfo*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="out_info" access="public" writeable="true" readable="true" is_callback="false" name="OutInfo" type="GstVideoInfo*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <method name="ScaleGetQuark" cname="gst_video_meta_transform_scale_get_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+    </struct>
+    <boxed name="VideoOverlayComposition" cname="GstVideoOverlayComposition" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_video_overlay_composition_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_video_overlay_composition_new">
+        <parameters>
+          <parameter name="rectangle" type="GstVideoOverlayRectangle*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="AddRectangle" cname="gst_video_overlay_composition_add_rectangle">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="rectangle" type="GstVideoOverlayRectangle*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Blend" cname="gst_video_overlay_composition_blend">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="video_buf" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_video_overlay_composition_copy">
+        <return-type type="GstVideoOverlayComposition*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetRectangle" cname="gst_video_overlay_composition_get_rectangle">
+        <return-type type="GstVideoOverlayRectangle*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="n" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetSeqnum" cname="gst_video_overlay_composition_get_seqnum">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="MakeWritable" cname="gst_video_overlay_composition_make_writable">
+        <return-type type="GstVideoOverlayComposition*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="NRectangles" cname="gst_video_overlay_composition_n_rectangles">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="VideoOverlayCompositionMeta" cname="GstVideoOverlayCompositionMeta" opaque="false" hidden="false">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="overlay" access="public" writeable="true" readable="true" is_callback="false" name="Overlay" type="GstVideoOverlayComposition*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <method name="GetInfo" cname="gst_video_overlay_composition_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <boxed name="VideoOverlayRectangle" cname="GstVideoOverlayRectangle" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_video_overlay_rectangle_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_video_overlay_rectangle_new_raw">
+        <parameters>
+          <parameter name="pixels" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="render_x" type="gint" />
+          <parameter name="render_y" type="gint" />
+          <parameter name="render_width" type="guint" />
+          <parameter name="render_height" type="guint" />
+          <parameter name="flags" type="GstVideoOverlayFormatFlags" />
+        </parameters>
+      </constructor>
+      <method name="Copy" cname="gst_video_overlay_rectangle_copy">
+        <return-type type="GstVideoOverlayRectangle*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetFlags" cname="gst_video_overlay_rectangle_get_flags">
+        <return-type type="GstVideoOverlayFormatFlags" />
+        <parameters />
+      </method>
+      <method name="GetGlobalAlpha" cname="gst_video_overlay_rectangle_get_global_alpha">
+        <return-type type="gfloat" />
+        <parameters />
+      </method>
+      <method name="GetPixelsArgb" cname="gst_video_overlay_rectangle_get_pixels_argb">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstVideoOverlayFormatFlags" />
+        </parameters>
+      </method>
+      <method name="GetPixelsAyuv" cname="gst_video_overlay_rectangle_get_pixels_ayuv">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstVideoOverlayFormatFlags" />
+        </parameters>
+      </method>
+      <method name="GetPixelsRaw" cname="gst_video_overlay_rectangle_get_pixels_raw">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstVideoOverlayFormatFlags" />
+        </parameters>
+      </method>
+      <method name="GetPixelsUnscaledArgb" cname="gst_video_overlay_rectangle_get_pixels_unscaled_argb">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstVideoOverlayFormatFlags" />
+        </parameters>
+      </method>
+      <method name="GetPixelsUnscaledAyuv" cname="gst_video_overlay_rectangle_get_pixels_unscaled_ayuv">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstVideoOverlayFormatFlags" />
+        </parameters>
+      </method>
+      <method name="GetPixelsUnscaledRaw" cname="gst_video_overlay_rectangle_get_pixels_unscaled_raw">
+        <return-type type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstVideoOverlayFormatFlags" />
+        </parameters>
+      </method>
+      <method name="GetRenderRectangle" cname="gst_video_overlay_rectangle_get_render_rectangle">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="render_x" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="render_y" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="render_width" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="render_height" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetSeqnum" cname="gst_video_overlay_rectangle_get_seqnum">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="SetGlobalAlpha" cname="gst_video_overlay_rectangle_set_global_alpha">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="global_alpha" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="SetRenderRectangle" cname="gst_video_overlay_rectangle_set_render_rectangle">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="render_x" type="gint" />
+          <parameter name="render_y" type="gint" />
+          <parameter name="render_width" type="guint" />
+          <parameter name="render_height" type="guint" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="VideoRectangle" cname="GstVideoRectangle" opaque="false" hidden="false">
+      <field cname="x" access="public" writeable="true" readable="true" is_callback="false" name="X" type="gint" />
+      <field cname="y" access="public" writeable="true" readable="true" is_callback="false" name="Y" type="gint" />
+      <field cname="w" access="public" writeable="true" readable="true" is_callback="false" name="W" type="gint" />
+      <field cname="h" access="public" writeable="true" readable="true" is_callback="false" name="H" type="gint" />
+    </struct>
+    <struct name="VideoRegionOfInterestMeta" cname="GstVideoRegionOfInterestMeta" opaque="false" hidden="false">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="roi_type" access="public" writeable="true" readable="true" is_callback="false" name="RoiType" type="guint32" />
+      <field cname="id" access="public" writeable="true" readable="true" is_callback="false" name="Id" type="gint" />
+      <field cname="parent_id" access="public" writeable="true" readable="true" is_callback="false" name="ParentId" type="gint" />
+      <field cname="x" access="public" writeable="true" readable="true" is_callback="false" name="X" type="guint" />
+      <field cname="y" access="public" writeable="true" readable="true" is_callback="false" name="Y" type="guint" />
+      <field cname="w" access="public" writeable="true" readable="true" is_callback="false" name="W" type="guint" />
+      <field cname="h" access="public" writeable="true" readable="true" is_callback="false" name="H" type="guint" />
+      <method name="GetInfo" cname="gst_video_region_of_interest_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <struct name="VideoResampler" cname="GstVideoResampler" opaque="false" hidden="false" version="1.6">
+      <field cname="in_size" access="public" writeable="true" readable="true" is_callback="false" name="InSize" type="gint" />
+      <field cname="out_size" access="public" writeable="true" readable="true" is_callback="false" name="OutSize" type="gint" />
+      <field cname="max_taps" access="public" writeable="true" readable="true" is_callback="false" name="MaxTaps" type="guint" />
+      <field cname="n_phases" access="public" writeable="true" readable="true" is_callback="false" name="NPhases" type="guint" />
+      <field cname="offset" access="public" writeable="true" readable="true" is_callback="false" name="Offset" type="guint32" />
+      <field cname="phase" access="public" writeable="true" readable="true" is_callback="false" name="Phase" type="guint32*" />
+      <field cname="n_taps" access="public" writeable="true" readable="true" is_callback="false" name="NTaps" type="guint32*" />
+      <field cname="taps" access="public" writeable="true" readable="true" is_callback="false" name="Taps" type="gdouble*" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+      <method name="Clear" cname="gst_video_resampler_clear" version="1.6">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_video_resampler_init">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="method" type="GstVideoResamplerMethod" />
+          <parameter name="flags" type="GstVideoResamplerFlags" />
+          <parameter name="n_phases" type="guint" />
+          <parameter name="n_taps" type="guint" />
+          <parameter name="shift" type="gdouble" />
+          <parameter name="in_size" type="guint" />
+          <parameter name="out_size" type="guint" />
+          <parameter name="options" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="VideoScaler" cname="GstVideoScaler" opaque="true" hidden="false">
+      <method name="TwoD" cname="gst_video_scaler_2d">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="vscale" type="GstVideoScaler*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="format" type="GstVideoFormat" />
+          <parameter allow-none="1" name="src" type="gpointer" />
+          <parameter name="src_stride" type="gint" />
+          <parameter allow-none="1" name="dest" type="gpointer" />
+          <parameter name="dest_stride" type="gint" />
+          <parameter name="x" type="guint" />
+          <parameter name="y" type="guint" />
+          <parameter name="width" type="guint" />
+          <parameter name="height" type="guint" />
+        </parameters>
+      </method>
+      <method name="Free" cname="gst_video_scaler_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetCoeff" cname="gst_video_scaler_get_coeff">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="out_offset" type="guint" />
+          <parameter name="in_offset" type="guint" />
+          <parameter name="n_taps" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetMaxTaps" cname="gst_video_scaler_get_max_taps">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Horizontal" cname="gst_video_scaler_horizontal">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstVideoFormat" />
+          <parameter allow-none="1" name="src" type="gpointer" />
+          <parameter allow-none="1" name="dest" type="gpointer" />
+          <parameter name="dest_offset" type="guint" />
+          <parameter name="width" type="guint" />
+        </parameters>
+      </method>
+      <method name="Vertical" cname="gst_video_scaler_vertical">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="format" type="GstVideoFormat" />
+          <parameter allow-none="1" name="src_lines" type="gpointer" />
+          <parameter allow-none="1" name="dest" type="gpointer" />
+          <parameter name="dest_offset" type="guint" />
+          <parameter name="width" type="guint" />
+        </parameters>
+      </method>
+    </struct>
+    <struct name="VideoSinkPrivate" cname="GstVideoSinkPrivate" opaque="true" hidden="true" />
+    <boxed name="VideoTimeCode" cname="GstVideoTimeCode" opaque="false" hidden="false" version="1.10">
+      <method name="GetType" cname="gst_video_time_code_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="config" access="public" writeable="true" readable="true" is_callback="false" name="Config" type="GstVideoTimeCodeConfig">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="hours" access="public" writeable="true" readable="true" is_callback="false" name="Hours" type="guint" />
+      <field cname="minutes" access="public" writeable="true" readable="true" is_callback="false" name="Minutes" type="guint" />
+      <field cname="seconds" access="public" writeable="true" readable="true" is_callback="false" name="Seconds" type="guint" />
+      <field cname="frames" access="public" writeable="true" readable="true" is_callback="false" name="Frames" type="guint" />
+      <field cname="field_count" access="public" writeable="true" readable="true" is_callback="false" name="FieldCount" type="guint" />
+      <constructor cname="gst_video_time_code_new" version="1.10">
+        <parameters>
+          <parameter name="fps_n" type="guint" />
+          <parameter name="fps_d" type="guint" />
+          <parameter name="latest_daily_jam" type="GDateTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstVideoTimeCodeFlags" />
+          <parameter name="hours" type="guint" />
+          <parameter name="minutes" type="guint" />
+          <parameter name="seconds" type="guint" />
+          <parameter name="frames" type="guint" />
+          <parameter name="field_count" type="guint" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_video_time_code_new_empty" disable_void_ctor="" version="1.10" />
+      <constructor cname="gst_video_time_code_new_from_date_time" version="1.12">
+        <parameters>
+          <parameter name="fps_n" type="guint" />
+          <parameter name="fps_d" type="guint" />
+          <parameter name="dt" type="GDateTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstVideoTimeCodeFlags" />
+          <parameter name="field_count" type="guint" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_video_time_code_new_from_string" version="1.12">
+        <parameters>
+          <parameter name="tc_str" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AddFrames" cname="gst_video_time_code_add_frames" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="frames" type="gint64" />
+        </parameters>
+      </method>
+      <method name="AddInterval" cname="gst_video_time_code_add_interval" version="1.12">
+        <return-type type="GstVideoTimeCode*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="tc_inter" type="GstVideoTimeCodeInterval*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Clear" cname="gst_video_time_code_clear" version="1.10">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Compare" cname="gst_video_time_code_compare" version="1.10">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="tc2" type="GstVideoTimeCode*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Copy" cname="gst_video_time_code_copy" version="1.10">
+        <return-type type="GstVideoTimeCode*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="FramesSinceDailyJam" cname="gst_video_time_code_frames_since_daily_jam" version="1.10">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_video_time_code_free" version="1.10">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="IncrementFrame" cname="gst_video_time_code_increment_frame" version="1.10">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_video_time_code_init" version="1.10">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fps_n" type="guint" />
+          <parameter name="fps_d" type="guint" />
+          <parameter name="latest_daily_jam" type="GDateTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstVideoTimeCodeFlags" />
+          <parameter name="hours" type="guint" />
+          <parameter name="minutes" type="guint" />
+          <parameter name="seconds" type="guint" />
+          <parameter name="frames" type="guint" />
+          <parameter name="field_count" type="guint" />
+        </parameters>
+      </method>
+      <method name="InitFromDateTime" cname="gst_video_time_code_init_from_date_time" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="fps_n" type="guint" />
+          <parameter name="fps_d" type="guint" />
+          <parameter name="dt" type="GDateTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstVideoTimeCodeFlags" />
+          <parameter name="field_count" type="guint" />
+        </parameters>
+      </method>
+      <method name="IsValid" cname="gst_video_time_code_is_valid" version="1.10">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="NsecSinceDailyJam" cname="gst_video_time_code_nsec_since_daily_jam" version="1.10">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="ToDateTime" cname="gst_video_time_code_to_date_time" version="1.10">
+        <return-type type="GDateTime*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="ToString" cname="gst_video_time_code_to_string" version="1.10">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="VideoTimeCodeConfig" cname="GstVideoTimeCodeConfig" opaque="false" hidden="false" version="1.10">
+      <field cname="fps_n" access="public" writeable="true" readable="true" is_callback="false" name="FpsN" type="guint" />
+      <field cname="fps_d" access="public" writeable="true" readable="true" is_callback="false" name="FpsD" type="guint" />
+      <field cname="flags" access="public" writeable="true" readable="true" is_callback="false" name="Flags" type="GstVideoTimeCodeFlags" />
+      <field cname="latest_daily_jam" access="public" writeable="true" readable="true" is_callback="false" name="LatestDailyJam" type="GDateTime*">
+        <warning>missing glib:type-name</warning>
+      </field>
+    </struct>
+    <boxed name="VideoTimeCodeInterval" cname="GstVideoTimeCodeInterval" opaque="false" hidden="false" version="1.12">
+      <method name="GetType" cname="gst_video_time_code_interval_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="hours" access="public" writeable="true" readable="true" is_callback="false" name="Hours" type="guint" />
+      <field cname="minutes" access="public" writeable="true" readable="true" is_callback="false" name="Minutes" type="guint" />
+      <field cname="seconds" access="public" writeable="true" readable="true" is_callback="false" name="Seconds" type="guint" />
+      <field cname="frames" access="public" writeable="true" readable="true" is_callback="false" name="Frames" type="guint" />
+      <constructor cname="gst_video_time_code_interval_new" version="1.12">
+        <parameters>
+          <parameter name="hours" type="guint" />
+          <parameter name="minutes" type="guint" />
+          <parameter name="seconds" type="guint" />
+          <parameter name="frames" type="guint" />
+        </parameters>
+      </constructor>
+      <constructor cname="gst_video_time_code_interval_new_from_string" version="1.12">
+        <parameters>
+          <parameter name="tc_inter_str" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="Clear" cname="gst_video_time_code_interval_clear" version="1.12">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Copy" cname="gst_video_time_code_interval_copy" version="1.12">
+        <return-type type="GstVideoTimeCodeInterval*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_video_time_code_interval_free" version="1.12">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Init" cname="gst_video_time_code_interval_init" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="hours" type="guint" />
+          <parameter name="minutes" type="guint" />
+          <parameter name="seconds" type="guint" />
+          <parameter name="frames" type="guint" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="VideoTimeCodeMeta" cname="GstVideoTimeCodeMeta" opaque="false" hidden="false" version="1.10">
+      <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="tc" access="public" writeable="true" readable="true" is_callback="false" name="Tc" type="GstVideoTimeCode">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <method name="GetInfo" cname="gst_video_time_code_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </struct>
+    <object name="Global" cname="GstVideoGlobal" opaque="true">
+      <method name="BufferAddVideoAffineTransformationMeta" cname="gst_buffer_add_video_affine_transformation_meta" shared="true" version="1.8">
+        <return-type type="GstVideoAffineTransformationMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BufferAddVideoGlTextureUploadMeta" cname="gst_buffer_add_video_gl_texture_upload_meta" shared="true">
+        <return-type type="GstVideoGLTextureUploadMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="texture_orientation" type="GstVideoGLTextureOrientation" />
+          <parameter name="n_textures" type="guint" />
+          <parameter name="texture_type" type="GstVideoGLTextureType" />
+          <parameter closure="5" scope="call" name="upload" type="GstVideoGLTextureUpload" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="call" name="user_data_copy" type="GBoxedCopyFunc" />
+          <parameter scope="call" name="user_data_free" type="GBoxedFreeFunc" />
+        </parameters>
+      </method>
+      <method name="BufferAddVideoMeta" cname="gst_buffer_add_video_meta" shared="true">
+        <return-type type="GstVideoMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstVideoFrameFlags" />
+          <parameter name="format" type="GstVideoFormat" />
+          <parameter name="width" type="guint" />
+          <parameter name="height" type="guint" />
+        </parameters>
+      </method>
+      <method name="BufferAddVideoMetaFull" cname="gst_buffer_add_video_meta_full" shared="true">
+        <return-type type="GstVideoMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstVideoFrameFlags" />
+          <parameter name="format" type="GstVideoFormat" />
+          <parameter name="width" type="guint" />
+          <parameter name="height" type="guint" />
+          <parameter name="n_planes" type="guint" />
+          <parameter name="offset" type="gsize" />
+          <parameter name="stride" type="gint" />
+        </parameters>
+      </method>
+      <method name="BufferAddVideoOverlayCompositionMeta" cname="gst_buffer_add_video_overlay_composition_meta" shared="true">
+        <return-type type="GstVideoOverlayCompositionMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buf" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="comp" type="GstVideoOverlayComposition*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BufferAddVideoRegionOfInterestMeta" cname="gst_buffer_add_video_region_of_interest_meta" shared="true">
+        <return-type type="GstVideoRegionOfInterestMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="roi_type" type="const-gchar*" />
+          <parameter name="x" type="guint" />
+          <parameter name="y" type="guint" />
+          <parameter name="w" type="guint" />
+          <parameter name="h" type="guint" />
+        </parameters>
+      </method>
+      <method name="BufferAddVideoRegionOfInterestMetaId" cname="gst_buffer_add_video_region_of_interest_meta_id" shared="true">
+        <return-type type="GstVideoRegionOfInterestMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="roi_type" type="guint32" />
+          <parameter name="x" type="guint" />
+          <parameter name="y" type="guint" />
+          <parameter name="w" type="guint" />
+          <parameter name="h" type="guint" />
+        </parameters>
+      </method>
+      <method name="BufferAddVideoTimeCodeMeta" cname="gst_buffer_add_video_time_code_meta" shared="true" version="1.10">
+        <return-type type="GstVideoTimeCodeMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="tc" type="GstVideoTimeCode*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BufferAddVideoTimeCodeMetaFull" cname="gst_buffer_add_video_time_code_meta_full" shared="true" version="1.10">
+        <return-type type="GstVideoTimeCodeMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="fps_n" type="guint" />
+          <parameter name="fps_d" type="guint" />
+          <parameter name="latest_daily_jam" type="GDateTime*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstVideoTimeCodeFlags" />
+          <parameter name="hours" type="guint" />
+          <parameter name="minutes" type="guint" />
+          <parameter name="seconds" type="guint" />
+          <parameter name="frames" type="guint" />
+          <parameter name="field_count" type="guint" />
+        </parameters>
+      </method>
+      <method name="BufferGetVideoMeta" cname="gst_buffer_get_video_meta" shared="true">
+        <return-type type="GstVideoMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BufferGetVideoMetaId" cname="gst_buffer_get_video_meta_id" shared="true">
+        <return-type type="GstVideoMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="id" type="gint" />
+        </parameters>
+      </method>
+      <method name="BufferGetVideoRegionOfInterestMetaId" cname="gst_buffer_get_video_region_of_interest_meta_id" shared="true">
+        <return-type type="GstVideoRegionOfInterestMeta*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="id" type="gint" />
+        </parameters>
+      </method>
+      <method name="BufferPoolConfigGetVideoAlignment" cname="gst_buffer_pool_config_get_video_alignment" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="align" type="GstVideoAlignment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="BufferPoolConfigSetVideoAlignment" cname="gst_buffer_pool_config_set_video_alignment" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="config" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="align" type="GstVideoAlignment*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsVideoOverlayPrepareWindowHandleMessage" cname="gst_is_video_overlay_prepare_window_handle_message" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="msg" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NavigationEventGetType" cname="gst_navigation_event_get_type" shared="true">
+        <return-type type="GstNavigationEventType" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NavigationEventParseCommand" cname="gst_navigation_event_parse_command" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="command" type="GstNavigationCommand" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationEventParseKeyEvent" cname="gst_navigation_event_parse_key_event" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="key" type="const-gchar*" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationEventParseMouseButtonEvent" cname="gst_navigation_event_parse_mouse_button_event" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="button" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="x" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="y" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationEventParseMouseMoveEvent" cname="gst_navigation_event_parse_mouse_move_event" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="x" type="gdouble*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="y" type="gdouble*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationMessageGetType" cname="gst_navigation_message_get_type" shared="true">
+        <return-type type="GstNavigationMessageType" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NavigationMessageNewAnglesChanged" cname="gst_navigation_message_new_angles_changed" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="cur_angle" type="guint" />
+          <parameter name="n_angles" type="guint" />
+        </parameters>
+      </method>
+      <method name="NavigationMessageNewCommandsChanged" cname="gst_navigation_message_new_commands_changed" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+        </parameters>
+      </method>
+      <method name="NavigationMessageNewEvent" cname="gst_navigation_message_new_event" shared="true" version="1.6">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NavigationMessageNewMouseOver" cname="gst_navigation_message_new_mouse_over" shared="true">
+        <return-type type="GstMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="src" type="GstObject*" />
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="NavigationMessageParseAnglesChanged" cname="gst_navigation_message_parse_angles_changed" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="cur_angle" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="n_angles" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationMessageParseEvent" cname="gst_navigation_message_parse_event" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="event" type="GstEvent**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NavigationMessageParseMouseOver" cname="gst_navigation_message_parse_mouse_over" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="active" type="gboolean*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationQueryGetType" cname="gst_navigation_query_get_type" shared="true">
+        <return-type type="GstNavigationQueryType" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NavigationQueryNewAngles" cname="gst_navigation_query_new_angles" shared="true">
+        <return-type type="GstQuery*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="NavigationQueryNewCommands" cname="gst_navigation_query_new_commands" shared="true">
+        <return-type type="GstQuery*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="NavigationQueryParseAngles" cname="gst_navigation_query_parse_angles" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="cur_angle" type="guint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="n_angles" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationQueryParseCommandsLength" cname="gst_navigation_query_parse_commands_length" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="n_cmds" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationQueryParseCommandsNth" cname="gst_navigation_query_parse_commands_nth" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="nth" type="guint" />
+          <parameter allow-none="1" name="cmd" type="GstNavigationCommand" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="NavigationQuerySetAngles" cname="gst_navigation_query_set_angles" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="cur_angle" type="guint" />
+          <parameter name="n_angles" type="guint" />
+        </parameters>
+      </method>
+      <method name="NavigationQuerySetCommandsv" cname="gst_navigation_query_set_commandsv" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="query" type="GstQuery*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="n_cmds" type="gint" array_index="2" />
+          <parameter name="cmds" type="GstNavigationCommand*" array="true" array_length_param_index="1" />
+        </parameters>
+      </method>
+      <method name="VideoAffineTransformationMetaApiGetType" cname="gst_video_affine_transformation_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="VideoAffineTransformationMetaGetInfo" cname="gst_video_affine_transformation_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoBlend" cname="gst_video_blend" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dest" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="src" type="GstVideoFrame*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="x" type="gint" />
+          <parameter name="y" type="gint" />
+          <parameter name="global_alpha" type="gfloat" />
+        </parameters>
+      </method>
+      <method name="VideoBlendScaleLinearRGBA" cname="gst_video_blend_scale_linear_RGBA" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="src" type="GstVideoInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="src_buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="dest_height" type="gint" />
+          <parameter name="dest_width" type="gint" />
+          <parameter name="dest" type="GstVideoInfo*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="dest_buffer" type="GstBuffer**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="VideoCalculateDisplayRatio" cname="gst_video_calculate_display_ratio" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="dar_n" type="guint*" owned="true" pass_as="out" />
+          <parameter name="dar_d" type="guint*" owned="true" pass_as="out" />
+          <parameter name="video_width" type="guint" />
+          <parameter name="video_height" type="guint" />
+          <parameter name="video_par_n" type="guint" />
+          <parameter name="video_par_d" type="guint" />
+          <parameter name="display_par_n" type="guint" />
+          <parameter name="display_par_d" type="guint" />
+        </parameters>
+      </method>
+      <method name="VideoChromaFromString" cname="gst_video_chroma_from_string" shared="true">
+        <return-type type="GstVideoChromaSite" />
+        <parameters>
+          <parameter name="s" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="VideoChromaResample" cname="gst_video_chroma_resample" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="resample" type="GstVideoChromaResample*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter allow-none="1" name="lines" type="gpointer" />
+          <parameter name="width" type="gint" />
+        </parameters>
+      </method>
+      <method name="VideoChromaToString" cname="gst_video_chroma_to_string" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="site" type="GstVideoChromaSite" />
+        </parameters>
+      </method>
+      <method name="VideoColorMatrixGetKrKb" cname="gst_video_color_matrix_get_Kr_Kb" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="matrix" type="GstVideoColorMatrix" />
+          <parameter name="Kr" type="gdouble" />
+          <parameter name="Kb" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="VideoColorPrimariesGetInfo" cname="gst_video_color_primaries_get_info" shared="true" version="1.6">
+        <return-type type="GstVideoColorPrimariesInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="primaries" type="GstVideoColorPrimaries" />
+        </parameters>
+      </method>
+      <method name="VideoColorRangeOffsets" cname="gst_video_color_range_offsets" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="range" type="GstVideoColorRange" />
+          <parameter name="info" type="GstVideoFormatInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="offset" type="gint*" owned="true" pass_as="out" />
+          <parameter name="scale" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="VideoColorTransferDecode" cname="gst_video_color_transfer_decode" shared="true" version="1.6">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="func" type="GstVideoTransferFunction" />
+          <parameter name="val" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="VideoColorTransferEncode" cname="gst_video_color_transfer_encode" shared="true" version="1.6">
+        <return-type type="gdouble" />
+        <parameters>
+          <parameter name="func" type="GstVideoTransferFunction" />
+          <parameter name="val" type="gdouble" />
+        </parameters>
+      </method>
+      <method name="VideoConvertSample" cname="gst_video_convert_sample" shared="true">
+        <return-type type="GstSample*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters throws="1">
+          <parameter name="sample" type="GstSample*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="to_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timeout" type="guint64" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="VideoConvertSampleAsync" cname="gst_video_convert_sample_async" shared="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="sample" type="GstSample*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="to_caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timeout" type="guint64" />
+          <parameter closure="4" destroy="5" scope="notified" name="callback" type="GstVideoConvertSampleCallback" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" name="destroy_notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="VideoCropMetaApiGetType" cname="gst_video_crop_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="VideoCropMetaGetInfo" cname="gst_video_crop_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoEventIsForceKeyUnit" cname="gst_video_event_is_force_key_unit" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="VideoEventNewDownstreamForceKeyUnit" cname="gst_video_event_new_downstream_force_key_unit" shared="true">
+        <return-type type="GstEvent*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="timestamp" type="guint64" />
+          <parameter name="stream_time" type="guint64" />
+          <parameter name="running_time" type="guint64" />
+          <parameter name="all_headers" type="gboolean" />
+          <parameter name="count" type="guint" />
+        </parameters>
+      </method>
+      <method name="VideoEventNewStillFrame" cname="gst_video_event_new_still_frame" shared="true">
+        <return-type type="GstEvent*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="in_still" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="VideoEventNewUpstreamForceKeyUnit" cname="gst_video_event_new_upstream_force_key_unit" shared="true">
+        <return-type type="GstEvent*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="running_time" type="guint64" />
+          <parameter name="all_headers" type="gboolean" />
+          <parameter name="count" type="guint" />
+        </parameters>
+      </method>
+      <method name="VideoEventParseDownstreamForceKeyUnit" cname="gst_video_event_parse_downstream_force_key_unit" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="timestamp" type="guint64" owned="true" pass_as="out" />
+          <parameter name="stream_time" type="guint64" owned="true" pass_as="out" />
+          <parameter name="running_time" type="guint64" owned="true" pass_as="out" />
+          <parameter name="all_headers" type="gboolean*" owned="true" pass_as="out" />
+          <parameter name="count" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="VideoEventParseStillFrame" cname="gst_video_event_parse_still_frame" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="in_still" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="VideoEventParseUpstreamForceKeyUnit" cname="gst_video_event_parse_upstream_force_key_unit" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="event" type="GstEvent*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="running_time" type="guint64" owned="true" pass_as="out" />
+          <parameter name="all_headers" type="gboolean*" owned="true" pass_as="out" />
+          <parameter name="count" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="VideoFieldOrderFromString" cname="gst_video_field_order_from_string" shared="true" version="1.12">
+        <return-type type="GstVideoFieldOrder" />
+        <parameters>
+          <parameter name="order" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="VideoFieldOrderToString" cname="gst_video_field_order_to_string" shared="true" version="1.12">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="order" type="GstVideoFieldOrder" />
+        </parameters>
+      </method>
+      <method name="VideoFormatFromFourcc" cname="gst_video_format_from_fourcc" shared="true">
+        <return-type type="GstVideoFormat" />
+        <parameters>
+          <parameter name="fourcc" type="guint32" />
+        </parameters>
+      </method>
+      <method name="VideoFormatFromMasks" cname="gst_video_format_from_masks" shared="true">
+        <return-type type="GstVideoFormat" />
+        <parameters>
+          <parameter name="depth" type="gint" />
+          <parameter name="bpp" type="gint" />
+          <parameter name="endianness" type="gint" />
+          <parameter name="red_mask" type="guint" />
+          <parameter name="green_mask" type="guint" />
+          <parameter name="blue_mask" type="guint" />
+          <parameter name="alpha_mask" type="guint" />
+        </parameters>
+      </method>
+      <method name="VideoFormatFromString" cname="gst_video_format_from_string" shared="true">
+        <return-type type="GstVideoFormat" />
+        <parameters>
+          <parameter name="format" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="VideoFormatGetInfo" cname="gst_video_format_get_info" shared="true">
+        <return-type type="GstVideoFormatInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="format" type="GstVideoFormat" />
+        </parameters>
+      </method>
+      <method name="VideoFormatGetPalette" cname="gst_video_format_get_palette" shared="true" version="1.2">
+        <return-type type="gpointer" />
+        <parameters>
+          <parameter name="format" type="GstVideoFormat" />
+          <parameter name="size" type="gsize*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="VideoFormatToFourcc" cname="gst_video_format_to_fourcc" shared="true">
+        <return-type type="guint32" />
+        <parameters>
+          <parameter name="format" type="GstVideoFormat" />
+        </parameters>
+      </method>
+      <method name="VideoFormatToString" cname="gst_video_format_to_string" shared="true">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="format" type="GstVideoFormat" />
+        </parameters>
+      </method>
+      <method name="VideoGlTextureUploadMetaApiGetType" cname="gst_video_gl_texture_upload_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="VideoGlTextureUploadMetaGetInfo" cname="gst_video_gl_texture_upload_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoGuessFramerate" cname="gst_video_guess_framerate" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="duration" type="guint64" />
+          <parameter allow-none="1" name="dest_n" type="gint*" owned="true" pass_as="out" />
+          <parameter allow-none="1" name="dest_d" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="VideoInterlaceModeFromString" cname="gst_video_interlace_mode_from_string" shared="true" version="1.6">
+        <return-type type="GstVideoInterlaceMode" />
+        <parameters>
+          <parameter name="mode" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="VideoInterlaceModeToString" cname="gst_video_interlace_mode_to_string" shared="true" version="1.6">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="mode" type="GstVideoInterlaceMode" />
+        </parameters>
+      </method>
+      <method name="VideoMetaApiGetType" cname="gst_video_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="VideoMetaGetInfo" cname="gst_video_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoMetaTransformScaleGetQuark" cname="gst_video_meta_transform_scale_get_quark" shared="true">
+        <return-type type="guint32" />
+      </method>
+      <method name="VideoMultiviewGetDoubledHeightModes" cname="gst_video_multiview_get_doubled_height_modes" shared="true" version="1.6">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoMultiviewGetDoubledSizeModes" cname="gst_video_multiview_get_doubled_size_modes" shared="true" version="1.6">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoMultiviewGetDoubledWidthModes" cname="gst_video_multiview_get_doubled_width_modes" shared="true" version="1.6">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoMultiviewGetMonoModes" cname="gst_video_multiview_get_mono_modes" shared="true" version="1.6">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoMultiviewGetUnpackedModes" cname="gst_video_multiview_get_unpacked_modes" shared="true" version="1.6">
+        <return-type type="GValue*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoMultiviewGuessHalfAspect" cname="gst_video_multiview_guess_half_aspect" shared="true" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="mv_mode" type="GstVideoMultiviewMode" />
+          <parameter name="width" type="guint" />
+          <parameter name="height" type="guint" />
+          <parameter name="par_n" type="guint" />
+          <parameter name="par_d" type="guint" />
+        </parameters>
+      </method>
+      <method name="VideoMultiviewModeFromCapsString" cname="gst_video_multiview_mode_from_caps_string" shared="true" version="1.6">
+        <return-type type="GstVideoMultiviewMode" />
+        <parameters>
+          <parameter name="caps_mview_mode" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="VideoMultiviewModeToCapsString" cname="gst_video_multiview_mode_to_caps_string" shared="true" version="1.6">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="mview_mode" type="GstVideoMultiviewMode" />
+        </parameters>
+      </method>
+      <method name="VideoMultiviewVideoInfoChangeMode" cname="gst_video_multiview_video_info_change_mode" shared="true" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="info" type="GstVideoInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="out_mview_mode" type="GstVideoMultiviewMode" />
+          <parameter name="out_mview_flags" type="GstVideoMultiviewFlags" />
+        </parameters>
+      </method>
+      <method name="VideoOverlayCompositionMetaApiGetType" cname="gst_video_overlay_composition_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="VideoOverlayCompositionMetaGetInfo" cname="gst_video_overlay_composition_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoRegionOfInterestMetaApiGetType" cname="gst_video_region_of_interest_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="VideoRegionOfInterestMetaGetInfo" cname="gst_video_region_of_interest_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+      <method name="VideoTileGetIndex" cname="gst_video_tile_get_index" shared="true" version="1.4">
+        <return-type type="guint" />
+        <parameters>
+          <parameter name="mode" type="GstVideoTileMode" />
+          <parameter name="x" type="gint" />
+          <parameter name="y" type="gint" />
+          <parameter name="x_tiles" type="gint" />
+          <parameter name="y_tiles" type="gint" />
+        </parameters>
+      </method>
+      <method name="VideoTimeCodeMetaApiGetType" cname="gst_video_time_code_meta_api_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="VideoTimeCodeMetaGetInfo" cname="gst_video_time_code_meta_get_info" shared="true">
+        <return-type type="GstMetaInfo*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+      </method>
+    </object>
+    <object name="Constants" cname="GstVideoConstants" opaque="true">
+      <constant value="GstBufferPoolOptionVideoAffineTransformation" ctype="gchar*" gtype="gchar*" name="BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META" />
+      <constant value="GstBufferPoolOptionVideoAlignment" ctype="gchar*" gtype="gchar*" name="BUFFER_POOL_OPTION_VIDEO_ALIGNMENT" />
+      <constant value="GstBufferPoolOptionVideoGLTextureUploadMeta" ctype="gchar*" gtype="gchar*" name="BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META" version="1.2.2" />
+      <constant value="GstBufferPoolOptionVideoMeta" ctype="gchar*" gtype="gchar*" name="BUFFER_POOL_OPTION_VIDEO_META" />
+      <constant value="meta:GstVideoAffineTransformation" ctype="gchar*" gtype="gchar*" name="CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META" />
+      <constant value="meta:GstVideoGLTextureUploadMeta" ctype="gchar*" gtype="gchar*" name="CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META" />
+      <constant value="meta:GstVideoMeta" ctype="gchar*" gtype="gchar*" name="CAPS_FEATURE_META_GST_VIDEO_META" />
+      <constant value="meta:GstVideoOverlayComposition" ctype="gchar*" gtype="gchar*" name="CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION" />
+      <constant value="colorspace" ctype="gchar*" gtype="gchar*" name="META_TAG_VIDEO_COLORSPACE_STR" version="1.2" />
+      <constant value="orientation" ctype="gchar*" gtype="gchar*" name="META_TAG_VIDEO_ORIENTATION_STR" version="1.2" />
+      <constant value="size" ctype="gchar*" gtype="gchar*" name="META_TAG_VIDEO_SIZE_STR" version="1.2" />
+      <constant value="video" ctype="gchar*" gtype="gchar*" name="META_TAG_VIDEO_STR" version="1.2" />
+      <constant value="bt2020" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT2020" />
+      <constant value="bt601" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT601" />
+      <constant value="bt709" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT709" />
+      <constant value="smpte240m" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_SMPTE240M" />
+      <constant value="sRGB" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_SRGB" />
+      <constant value="3" ctype="gint" gtype="gint" name="VIDEO_COMP_A" />
+      <constant value="2" ctype="gint" gtype="gint" name="VIDEO_COMP_B" />
+      <constant value="1" ctype="gint" gtype="gint" name="VIDEO_COMP_G" />
+      <constant value="0" ctype="gint" gtype="gint" name="VIDEO_COMP_INDEX" />
+      <constant value="1" ctype="gint" gtype="gint" name="VIDEO_COMP_PALETTE" />
+      <constant value="0" ctype="gint" gtype="gint" name="VIDEO_COMP_R" />
+      <constant value="1" ctype="gint" gtype="gint" name="VIDEO_COMP_U" />
+      <constant value="2" ctype="gint" gtype="gint" name="VIDEO_COMP_V" />
+      <constant value="0" ctype="gint" gtype="gint" name="VIDEO_COMP_Y" />
+      <constant value="GstVideoConverter.alpha-mode" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_ALPHA_MODE" />
+      <constant value="GstVideoConverter.alpha-value" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_ALPHA_VALUE" />
+      <constant value="GstVideoConverter.border-argb" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_BORDER_ARGB" />
+      <constant value="GstVideoConverter.chroma-mode" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_CHROMA_MODE" />
+      <constant value="GstVideoConverter.chroma-resampler-method" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD" />
+      <constant value="GstVideoConverter.dest-height" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_DEST_HEIGHT" />
+      <constant value="GstVideoConverter.dest-width" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_DEST_WIDTH" />
+      <constant value="GstVideoConverter.dest-x" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_DEST_X" />
+      <constant value="GstVideoConverter.dest-y" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_DEST_Y" />
+      <constant value="GstVideoConverter.dither-method" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_DITHER_METHOD" />
+      <constant value="GstVideoConverter.dither-quantization" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION" />
+      <constant value="GstVideoConverter.fill-border" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_FILL_BORDER" />
+      <constant value="GstVideoConverter.gamma-mode" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_GAMMA_MODE" />
+      <constant value="GstVideoConverter.matrix-mode" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_MATRIX_MODE" />
+      <constant value="GstVideoConverter.primaries-mode" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_PRIMARIES_MODE" />
+      <constant value="GstVideoConverter.resampler-method" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_RESAMPLER_METHOD" />
+      <constant value="GstVideoConverter.resampler-taps" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_RESAMPLER_TAPS" />
+      <constant value="GstVideoConverter.src-height" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_SRC_HEIGHT" />
+      <constant value="GstVideoConverter.src-width" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_SRC_WIDTH" />
+      <constant value="GstVideoConverter.src-x" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_SRC_X" />
+      <constant value="GstVideoConverter.src-y" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_SRC_Y" />
+      <constant value="GstVideoConverter.threads" ctype="gchar*" gtype="gchar*" name="VIDEO_CONVERTER_OPT_THREADS" />
+      <constant value="10" ctype="gint" gtype="gint" name="VIDEO_DECODER_MAX_ERRORS" />
+      <constant value="sink" ctype="gchar*" gtype="gchar*" name="VIDEO_DECODER_SINK_NAME" />
+      <constant value="src" ctype="gchar*" gtype="gchar*" name="VIDEO_DECODER_SRC_NAME" />
+      <constant value="sink" ctype="gchar*" gtype="gchar*" name="VIDEO_ENCODER_SINK_NAME" />
+      <constant value="src" ctype="gchar*" gtype="gchar*" name="VIDEO_ENCODER_SRC_NAME" />
+      <constant value="{ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE }" ctype="gchar*" gtype="gchar*" name="VIDEO_FORMATS_ALL" />
+      <constant value="(fraction) [ 0, max ]" ctype="gchar*" gtype="gchar*" name="VIDEO_FPS_RANGE" />
+      <constant value="4" ctype="gint" gtype="gint" name="VIDEO_MAX_COMPONENTS" />
+      <constant value="4" ctype="gint" gtype="gint" name="VIDEO_MAX_PLANES" />
+      <constant value="{ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }" ctype="gchar*" gtype="gchar*" name="VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS" version="1.2" />
+      <constant value="GstVideoResampler.cubic-b" ctype="gchar*" gtype="gchar*" name="VIDEO_RESAMPLER_OPT_CUBIC_B" />
+      <constant value="GstVideoResampler.cubic-c" ctype="gchar*" gtype="gchar*" name="VIDEO_RESAMPLER_OPT_CUBIC_C" />
+      <constant value="GstVideoResampler.envelope" ctype="gchar*" gtype="gchar*" name="VIDEO_RESAMPLER_OPT_ENVELOPE" />
+      <constant value="GstVideoResampler.max-taps" ctype="gchar*" gtype="gchar*" name="VIDEO_RESAMPLER_OPT_MAX_TAPS" />
+      <constant value="GstVideoResampler.sharpen" ctype="gchar*" gtype="gchar*" name="VIDEO_RESAMPLER_OPT_SHARPEN" />
+      <constant value="GstVideoResampler.sharpness" ctype="gchar*" gtype="gchar*" name="VIDEO_RESAMPLER_OPT_SHARPNESS" />
+      <constant value="GstVideoScaler.dither-method" ctype="gchar*" gtype="gchar*" name="VIDEO_SCALER_OPT_DITHER_METHOD" />
+      <constant value="(int) [ 1, max ]" ctype="gchar*" gtype="gchar*" name="VIDEO_SIZE_RANGE" />
+      <constant value="0" ctype="gint" gtype="gint" name="VIDEO_TILE_TYPE_MASK" />
+      <constant value="16" ctype="gint" gtype="gint" name="VIDEO_TILE_TYPE_SHIFT" />
+      <constant value="0" ctype="gint" gtype="gint" name="VIDEO_TILE_X_TILES_MASK" />
+      <constant value="16" ctype="gint" gtype="gint" name="VIDEO_TILE_Y_TILES_SHIFT" />
+    </object>
+  </namespace>
+</api>
\ No newline at end of file
index 1157ab0..9daf025 100644 (file)
@@ -723,38 +723,28 @@ generated_sources = [
     'Gst.Audio_AudioStreamAlign.cs',
 ]
 
-gst_source_gen = custom_target('gst_codegen',
-    input: raw_api_fname,
-    output: generated_sources,
+run_target('update_gstreamer_code',
     command: [
-        generate_api,
-        '--api-raw', '@INPUT@',
-        '--gapi-fixup', gapi_fixup,
-        '--metadata', metadata,
-        '--gapi-codegen', gapi_codegen,
-        '--extra-includes=' + glib_api_includes,
-        '--extra-includes=' + gio_api_includes,
-        '--out', meson.current_build_dir(),
-        '--files', ';'.join(generated_sources),
-        '--assembly-name', meson.project_name(),
-        '--abi-includes', abi_includes,
-        '--abi-cs-usings', 'Gst,Gst.Video,Gst.Sdp,Gst.Tags,Gst.Rtsp,Gst.PbUtils,Gst.Net,Gst.FFT,Gst.Controller,Gst.Base,Gst.Audio,Gst.App',
-    ],
-    depend_files: [raw_api_fname],
-    depends: codegen_dependencies)
+            generate_api,
+            '--api-raw', raw_api_fname,
+            '--gapi-fixup', gapi_fixup,
+            '--metadata', metadata,
+            '--gapi-codegen', gapi_codegen,
+            '--extra-includes=' + glib_api_includes,
+            '--extra-includes=' + gio_api_includes,
+            '--out', meson.current_source_dir(),
+            '--files', ';'.join(generated_sources),
+            '--assembly-name', meson.project_name(),
+            '--abi-includes', abi_includes,
+            '--abi-cs-usings', 'Gst,Gst.Video,Gst.Sdp,Gst.Tags,Gst.Rtsp,Gst.PbUtils,Gst.Net,Gst.FFT,Gst.Controller,Gst.Base,Gst.Audio,Gst.App',
+    ]
+)
 
-c_abi = custom_target('gst_sharp_c_abi',
-        input: raw_api_fname,
-        output: 'gstreamer-sharp-abi.c',
-        command: [generate_api, '--fake'],
-        depends: [gst_source_gen])
+gst_generate_files = files(generated_sources)
 
-cs_abi = custom_target('gst_sharp_cs_abi',
-        input: raw_api_fname,
-        output: 'gstreamer-sharp-abi.cs',
-        command: [generate_api, '--fake'],
-        depends: [gst_source_gen])
+c_abi = files('gstreamer-sharp-abi.c')
+cs_abi = files('gstreamer-sharp-abi.cs')
 
-gst_api_includes = join_paths(meson.current_build_dir(), 'gstreamer-sharp-api.xml')
+gst_api_includes = join_paths(meson.current_source_dir(), 'gstreamer-sharp-api.xml')
 gapis = [gst_api_includes]
-gapis_deps = [gst_source_gen]
+gapis_deps = []
index 7a51545..43149d4 100644 (file)
@@ -34,7 +34,7 @@ sources = [
 
 subdir('generated')
 
-gst_sharp = library('gstreamer-sharp', gst_source_gen, sources,
+gst_sharp = library('gstreamer-sharp', gst_generate_files, sources,
         cs_args: ['-nowarn:169', '-nowarn:108', '-nowarn:114', '-unsafe'],
         dependencies: [glib_sharp_dep, gio_sharp_dep])